About 12 years ago, I did some Client Access/400 work. When cleaning up “the attic”, I bumped into a paper copy of the below manual. To my surprise that document is still available on-line: http://www.redbooks.ibm.com/redbooks/pdfs/gg244422.pdf
12.2 Typical Usage of the API
An application using the Remote Command/Distributed Program Call function will make use of two objects. Each of these objects are identified to the application through a handle. The objects are:
- System object – This represents the AS/400 system. Commands can be run and programs can be called on this object.
- Program object – This represents the AS/400 program. Parameters can be added and the program sent to the system to run the program.
There is not a separate object for commands. The command string is sent directly to the system object.
Table 16 shows how these API functions would be typically used.
Table 16. Remote Command / Distributed Program Call – Typical Usage Examples
Start the host server and program.
Create a program object.
Add parameter 1 (input) to the program object.
Add parameter 2 (input/output) to the program object.
Add parameter 3 (output) to the program object.
Call the program with parameters in the same order that they were added to the program object with the cwbRC_AddParameter() calls.
API Function Call an AS/400 program
cwbRC_AddParm(hPgmHandle, CWBRC_INPUT ,
Run a CL command on the AS/400
Clean up at the end
Run a command.
Delete the program object.
Terminate the conversation with the AS/400 server.
12.3 Remote Command / Distributed Program Call API Functions
Table 17 lists the API functions. For a complete list with parameters see the Client Access/400 Optimized for OS/2 API and Technical Reference, SC41-3511.
Table 17. Remote Command / Distributed Program Call – List of API Functions
Description Original API
Starts a conversation with the – specified system.
Gets the name of the system for this – conversation.
Stops the current conversation with EHNSRSTC() the AS/400 system.
Issues the command on the system EHNSRSBM() identified by the handle.
Creates a program object. –
Adds a parameter to the program – object identified by the handle.
Calls the program identified by the – handle.
Gets the number of parameters for – this program object.
Retrieves the parameter identified by – the index (index value for the first parameter is 1).
Gets the name of the program that – was used when creating this program object.
Gets the name of the library that was – used when creating this program
Deletes the program object identified – by the supplied handle (the AS/400
program object is NOT deleted).