Developing for Dynamics GP

by David Musgrave (Perth, WA, Australia) and the Microsoft Dynamics GP Developer Support Team (Fargo, ND, USA)

SmartList Builder Execute Procedure Go To Changes for GP 2010

SmartList Builder Execute Procedure Go To Changes for GP 2010

  • Comments 2

David Meego - Click for blog homepageIf you are a Dexterity developer who uses SmartList Builder to create SmartList favorites for your products and you use the Execute Procedure Go To functionality.  This post is for you.

Below is a screenshot of the v10.0 window used for adding a Go To which executes a global procedure.  You will notice that the Procedure field is a string field into which the procedure name can be typed.

In SmartList Builder for Microsoft Dynamics GP 2010, this window has changed to use a drop down list for the Procedure field. 

I would suggest that this change was made as a security measure to only allow specific procedures to be called.  But how to you get the drop down list populated with your procedures....


The information below is based on documentation provided by the SmartList Builder development team. 

SmartList Builder and Navigation Builder both have goto/action types called Execute Procedure. This type can be used by third party developers to add their own gotos and actions into SmartList Builder and Navigation List Builder.

There are 3 global procedures that have been provided to allow easy integration:

  • FillRunProcedureList
  • GetRunProcedureParameterCount
  • GetRunProcedureParameterName

On each of the Execute Procedure setup windows, there is a drop down list of all procedures available to be executed from each product. This list is filled using FillRunProcedureList. When a procedure is selected, the list of parameters for the procedure is displayed. The list is determined by the GetRunProcedureParameterCount and GetRunProcedureParameterName procedures.

To integrate your Dexterity product with this functionality you will need to register triggers against these procedures.

NOTE: The scripts below use a constant called MY_PRODUCT which should contain the Product ID of your Dexterity product, if you already have this stored as a constant, modify the code accordingly. You will also need to create a SLB_PRODUCT constant with a value of 3830.

Startup Trigger Registration Example

FillRunProcedureList Trigger Handler Example

GetRunProcedureParameterCount Trigger Handler Example

GetRunProcedureParameterName Trigger Handler Example

I hope you find this post useful when upgrading your code to work with GP 2010. 

David

// Copyright © Microsoft Corporation.  All Rights Reserved.
// This code released under the terms of the
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)

Page 1 of 1 (2 items)
Comments Information

PLEASE READ BEFORE POSTING

Please only post comments relating to the topic of this page.

If you wish to ask a technical question, please use the links in the links section (scroll down, on right hand side) to ask on the Newsgroups or Forums. If you ask on the Newsgroups or Forums, others in the community can respond and the answers are available for everyone in the future.

Leave a Comment
  • Please add 3 and 1 and type the answer here:
  • Post