The CIOPCMSG interface is a separate reentrant load module which can be called from CICS transactions. The first four bytes sent to CIOPCMSG will hold the return code. The remaining parameters are the same as those for OVOPCMSG. Each parameter must be terminated with a NULL (x'00') character. The CICS command to call CIPOCMSG is:
EXEC CICS LINK PROGRAM('CIOPCMSG') COMMAREA(opcmsg) LENGTH(opclen)
where opcmsg is the common area storage that hold the return code and input parameters, and opclen is the size of the common area storage.
The CIOPCMSG load module must be copied from the Ironstream LOAD library into a DFHRPL library (as specified in the CICS startup JCL).
The Ironstream IBM Z agent's SAMP dataset contains a sample CIOPCMSA for calling CIOPCMSG from an assembler transaction program.
To load the sample and call the CIOPCMSG, issue the following commands from CICS:
Use the DFHEITAL procedure to assemble the sample CIOPCMSA into a DFHRPL load library.
Define the CIOPCMSG and the calling transaction program
CEDA DEF PROG(CIOPCMSG) GROUP(groupname) LANGUAGE(LE370)
CEDA DEF PROG(CIOPCMSA) GROUP(groupname) LANGUAGE(ASSEMBLER)
Define the transaction which will call the sample:
CEDA DEF TRANS(EOPC) PROG(CIOPCMSA) GROUP(groupname)
Install the programs and transactions:
CEDA I PROG(CIOPCMSG) GROUP(groupname)
CEDA I PROG(CIOPSMSA) GROUP(groupname)
CEDA I TRANS(EOPC) GROUP(groupname)
Load the new copies of the programs:
CEMT S PROG(CIOPCMSG) NEW
CEMT S PROG(CIOPCMSA) NEW
Call the new transaction with the EOPC command from a CICS session. (The four-character transaction name and the groupname can be customized to the site requirements.)
Any error messages generated by the CIOPCMSG will be written to the CEEOUT DD defined in the CICS startup JCL and returned to the calling program in the four-byte return code at the head of the common area that was passed to CIOPCMSG. The possible return code values (in decimal) are:
Value |
Description |
---|---|
0 |
Successful completion |
8 |
Invalid length of common area passed to CIOPCMSG |
10 |
Invalid EV390_OPCMSG_PORT value read from the /etc/vp390info file |
12 |
Invalid port number specified on the PORT argument |
14 |
Invalid severity specified on the SEV argument |
24 |
Unable to connect to the VP390 task. Verify that the VP390 job is running and the OPC subtask is up and listening on the port number specified. (If no PORT argument was specified or read from /etc/vp390info, the default port is 6108.) |