History on line: Client Access/400 API Planning Guide Document Number GG24-4422-00 October 1994
Posted by jpluimers on 2017/01/04
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
Client Access/400 API Planning Guide
Document Number GG24-4422-00 October 1994
International Technical Support Organization Rochester Center
Then there is ” This table lists the AS/400 Version 3, Release 7 books that are available in Portable Document Format (PDF).”: http://publib.boulder.ibm.com/html/as400/online/V3R7PDF.HTM which contains a link to SC41-3513-01 “AS/400 Client Access for Windows 95/NT API and Technical Reference V3” which I also used: http://publib.boulder.ibm.com/pubs/pdfs/as400/V3R7PDF/QBKACO01.PDF
These were (for me back then) the most important chapters of the first book:
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
Action
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_StartSys(′′SYS01′′, &hSystemHandle)
cwbRC_CreatePgm(′′PROG01′′, ′′LIB01′′,
&hPgmHandle)
cwbRC_AddParm(hPgmHandle, CWBRC_INPUT ,
uParm1Length, pchBuffer1)
cwbRC_AddParm(hPgmHandle, CWBRC_INOUT,
uParm2Length, pchBuffer2)
cwbRC_AddParm(hPgmHandle, CWBRC_OUTPUT,
uParm3Length, pchBuffer3)
cwbRC_CallPgm(hSystemHandle, hPgmHandle,
&hMsgHandle)
Run a CL command on the AS/400
cwbRC_RunCmd(hSystemHandle, pszCommandString,
&hMsgHandle)
Clean up at the end
cwbRC_DeletePgm(hPgmHandle) cwbRC_StopSys(hSystemHandle)
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
API Function
cwbRC_StartSys()
cwbRC_GetSysName()
cwbRC_StopSys()
cwbRC_RunCmd()
cwbRC_CreatePgm() cwbRC_AddParm()
cwbRC_CallPgm()
cwbRC_GetParmCount()
cwbRC_GetParm()
cwbRC_GetPgmName()
cwbRC_GetLibName()
cwbRC_DeletePgm()
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
object.Deletes the program object identified – by the supplied handle (the AS/400
program object is NOT deleted).
–jeroen
Leave a Reply