Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Upgrading to Version 8.00

Dexterity Techniques

Upgrading to Version 8.00

by  winthropdc  Posted    (Edited  )
Upgrading to Version 8.00
=========================

When upgrading your Dexterity application to version 8.00 there are a number of additional areas that you should be addressing, above and beyond the standard upgrading process. Below is a checklist to assist you:


Navigation and Menus
--------------------

A Number of navigation changes made for v8.0.

This includes the removal of the Palettes and the fixed Toolbar and replacing them with Menus, Commands, Lists and customisable Toolbars.

For information on the changes needed please see the Great Plains Integration Guide manual (installed with Dexterity) Part 5: Navigation and Part 6: Lists. Also the samples installed with Dexterity include DEVELOP.CNK which demonstrates much of what is required.


~SHORTCUT~ Form Constant
------------------------

In versions prior to v8.0, System series windows where hidden from the navigation model and could not be added by the user to Shortcuts or Palettes. In version 8.0, that restriction is no longer applied, however, you can now control if a form can be added to shortcuts by adding the ~SHORTCUT~ constant as a form level constant.

For information on the meanings of the values (0-3), please see the Great Plains Integration Guide manual (installed with Dexterity) Chapter 24: Shortcuts.


AutoComplete property
---------------------

Great Plains v8.0 uses a new feature in Dexterity called AutoComplete. For your windows to use the AutoComplete functionality you will need to set the Field Property of AutoComplete to true. Do this for all string key fields with lookups.

If the field you are setting automomplete on is a field that has an associated lookup which can take a ôseedö character and return to a hidden field off the window you need to put a call to global script AutoComplete in the temp control field. This will prevent the ôseedsö from being added to the autocomplete table.

Global Procedure: AutoComplete
inout field fldControl;
inout field fldTempControl;
in anonymous table tbl;

For information on AutoComplete, please see the Great Plains Integration Guide manual (installed with Dexterity) Chapter 24: Data Entry Conventions.


Lookup Column Buttons
---------------------

Dexterity v8.00 now supports the XP themes and will round of the corners of push buttons. So if your lookup windows use push buttons for the column buttons you will need to draw 2D boxes around the button and change the button to Appearance = 3D Highlight. You will also need to reduce the size of the button by one pixel in each direction so that it fits nicely in the box you drawn around it.

Note: Use the arrow keys with Control held down to make fields smaller by one pixel at a time, the arrow keys with Shift held down make fields bigger by one pixel at a time.

For information on AutoComplete, please see the Great Plains Integration Guide manual (installed with Dexterity) Chapter 16: Lookups.


SOP Type Integration
--------------------

With the addition of Fulfillment Orders to SOP Types for Advanced distribution, the value of 'SOP Type' in the tables is no longer a direct relationship to the 'SOP Type' drop down list on the windows. See chart below:

Visual Position Integer Value
-------------------------------------
Quote 1
Order 2
Fulfillment Order 6
Invoice 3
Return 4
Back Order 5

You will need to use the following functions to translate between the window and table fields.

Global Function: SOPTypeToInt()
{This will map the visual position of the SOP Type DDL to an integer value as follows.}
function returns integer SOPTypeToInt;
inout anonymous field nSrcSOPType; {Source}
optional in dollar cyQty;


Global Function: IntToSOPType()
{This will map the persistable value of 'SOP Type' to the visual position in the DDL.}
function returns integer 'SOP Type';
in integer nSOPType;


Decreasing reliance on 'sa' user
--------------------------------

Version 8.0 decreases the reliance on the 'sa' user by actually checking the SQL permissions of a user to decide if they are allowed to perform certain actions on the database, such as creating tables and adding users etc. To make this easier there are two new functions which you can call to check if a user has the rights to perform an action.

Global Function: syUserIsDBO()
function returns boolean O_fIsUserDBO;
in 'User ID' I_sUserID;
in string I_sDatabase;


Global Function: syUserInRole()
function returns boolean O_fUserInRole;
in 'User ID' I_sUserID;
in string I_sRole;
optional in 'Intercompany ID' I_sDatabase;


The values for I_sRole can be any of the constants below:

Fixed Server Roles:
ROLE_SYSADMIN
ROLE_SECURITYADMIN
ROLE_DBCREATOR

Fixed Database Roles:
ROLE_DBOWNER
ROLE_DBACCESSADMIN
ROLE_DBSECURITYADMIN
ROLE_DBBACKUPOPERATOR

The value for I_sDatabase can be the 'InterCompany ID' of the company for company DB's, 'InterCompany ID' of globals for the current company DB or SQL_SYSTEM_DBNAME for the system Database.


David Musgrave [MSFT]
Senior Development Consultant
MBS Services - Asia Pacific

Microsoft Business Solutions
http://www.microsoft.com/BusinessSolutions

Any views contained within are my personal views and
not necessarily Microsoft Business Solutions policy.
This posting is provided "AS IS" with no warranties,
and confers no rights.

Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top