It is sometimes useful to be able to access external programs, such as .exe files, from the Sage ERP X3 menu. Below are instructions for adding a menu item to Sage X3 that references a .Net .exe.
The example used here uses the Callui function in the Sage X3 code to call OpenFile, and references the .exe program using the parameter UILocalDir. The program being executed must reside in a pre-defined list of directories available to this function.
Depending on the parameter used for UILocalDir, the .exe should be copied to one of the 3 directories below.
Below is an excerpt from the X3 Help, which defines where each of these directories resides within the Sage ERP X3 client installation.
In this example, the Temp directory is used. Below is a snapshot of the directory where the .exe was copied.
NOTE: The .exe must reside in the X3 client installation directory, so if a local client is used, the .exe must be copied to each workstation accessing the .exe.
Go to the Process editor (Development > Processes > Processes > Process editor), and create a process to call the external program.
Copy the code below to the process editor. The .exe file name will need to be modified to match the name of the .exe being called. Compile the code.
##########################################################
# Processing Name - ZSLSUPD
# Description - Used to call salesperson utility
# Created By - D. Hartman, RKL
# Date Created - 10/28/2014
##########################################################$ACTION
Case ACTION
When "TRT_DIV" : Gosub TRT_DIV
When default
Endcase
Return$TRT_DIV
Local Char RETOUR : RETOUR = ""
Callui RETOUR="" With "UIAction="+chr$(1)+"OpenFile",
& "UILocalDir="+chr$(1) + "Temp",
& "UILocalFile="+ chr$(1) +"SalespersonUtility.exe"Return
The next step is to create an action in Sage ERP X3 that will call the process code referenced above (Development > Processes > Actions > Actions).
The next step is to create a Function to call the action created above (Development > Processes > Functions).
The Parent menu value should match the name of the menu where the function call should appear.
If the function is added to a menu, the menu profile(s) will have to be validated (Development > Utilities > Dictionary > Validation > Menus) for the item to appear.
Sage ERP X3 Data Import Misplaced Indicators Error
Using Entry Points in Sage ERP X3
Creating a Business Partner as a Supplier and Customer in Sage ERP X3