Is there any way to use the BOI on modules not created directly by Sage?

SOLVED

The example I'm looking at right now is MAPADOC. It seems that the table I need to update (EC_PSCase) does have a file in their folder named EC_PSCase_bus.pvc, and the EC module can be loaded successfully in VBScript. Is there a way to extrapolate the needed variable / function names to interact with this table using the BOI? We're looking to update the tracking numbers in the picking sheet from a file, but the table where that is stored is not available from the VI Import Job dialog. 

Parents
  • +1
    verified answer

    Not familiar with MAPADOC and how their classes (programs) work but if they are framework level and adhere to Sage's guidelines, i imagine you should be able to get the object handles for the various *_Bus objects.

    *_Bus objects are read and write whereas *_Svc objects are ready only.

    If the *_Bus objects are inheriting Sage 100's SY_Maint class then you should be able to read and write records to its table. 

    You can reveal a class' available methods and properties using two methods.

    1. Using the OBJ viewer in Command Window.

    Enable Debug Mode by modifying the SOTA.ini file under MAS90\Launcher on the server where sage 100 is installed.

    Launch a task that you suspect is creating a handle to your target class.

    In the Command Window, click Halt.

    Then type obj and press ENTER.

    You should see a message centered on screen saying "Scanning Objects" and the Command Window should look like this.

    Once the scanning is complete, you should see this window.

    You can now expand each object and view its methods and properties.

     

    2. Using ProvideX to display an object's methods and properties in a message box.

    If you know the object handle in ProvideX then;

    In VBScript, you use oScript.Execute "MSGBOX objectHandle'*" to display a message box. Replace objectHandle with your object name. 

    In the Command Window (1. to enable Debug Mode), type MsgBox objectHandle'*

Reply
  • +1
    verified answer

    Not familiar with MAPADOC and how their classes (programs) work but if they are framework level and adhere to Sage's guidelines, i imagine you should be able to get the object handles for the various *_Bus objects.

    *_Bus objects are read and write whereas *_Svc objects are ready only.

    If the *_Bus objects are inheriting Sage 100's SY_Maint class then you should be able to read and write records to its table. 

    You can reveal a class' available methods and properties using two methods.

    1. Using the OBJ viewer in Command Window.

    Enable Debug Mode by modifying the SOTA.ini file under MAS90\Launcher on the server where sage 100 is installed.

    Launch a task that you suspect is creating a handle to your target class.

    In the Command Window, click Halt.

    Then type obj and press ENTER.

    You should see a message centered on screen saying "Scanning Objects" and the Command Window should look like this.

    Once the scanning is complete, you should see this window.

    You can now expand each object and view its methods and properties.

     

    2. Using ProvideX to display an object's methods and properties in a message box.

    If you know the object handle in ProvideX then;

    In VBScript, you use oScript.Execute "MSGBOX objectHandle'*" to display a message box. Replace objectHandle with your object name. 

    In the Command Window (1. to enable Debug Mode), type MsgBox objectHandle'*

Children