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. 

  • +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'*

  • 0 in reply to David Speck

    Thanks, is there anything I have to do after enabling debugging in the ini file to make the change take effect, or do I just need to wait for all the users to log off of the test server? So far I don't get the additional options in the right click menu. (I should probably mention that our test server is Sage 200, while our production is 100)

    Edit: I got it to work, thanks! Out of curiosity, do you know of any good resources for learning how best to use these debugging tools? This is the first I've heard of them

  • 0 in reply to ikeane

    Sorry for the delayed response. 

    I'm not aware of any good docs on them, everything i shared has been picked along the way by other people sharing their knowledge and a lot of trial and error.

  • 0 in reply to David Speck

    Thanks again for your help - just one last question, can you think of any way to infer the parameters taken from these methods?

  • 0 in reply to ikeane

    Not that I am aware of. Sage has documented their objects pretty well but it would be up to the 3rd party vendor to document theirs. You could try to reach out to them and see if they can send you anything that might help you achieve what you trying to do.