Execute System Command (QCMDEXC)
From MidrangeWiki
Summary
For more information on this API, visit Execute Command (QCMDEXC) API (right-click to open link in a new tab).
Prototype for the QCMDEXC API
DQCMDEXC PR EXTPGM('QCMDEXC') D prCmdStr 32767A CONST D prCmdLen 15P 5 CONST
An RPG/LE fully free-form alternative (by Dave Clark):
//============================================================================= // IBM API to Execute a System Command // // EXAMPLE: // Monitor; // VarStr = 'DLYJOB DLY(15)'; // CallP IBMAPI_ExecSysCmd(VarStr: %len(VarStr)); // On-Error *All; // Reset ApiErrC; // trap API errors // CallP IBMAPI_SendPgmMsg( EXCP_MSGID: 'QCPFMSG *LIBL' // : EXCP_DATA: %len(EXCP_DATA) // : '*ESCAPE': '*': 0: msgkey: ApiErrC ); // If (ApiErrC.BytAvail > *zero); // if an error occurred // Return *Off; // indicate another error // EndIf; // EndMon; // // DOCUMENTATION: // https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apis/qcmdexc.htm //============================================================================= dcl-pr IBMAPI_ExecSysCmd extpgm('QCMDEXC'); pCmdStr char(32702) const options(*varsize); pCmdLen packed(15:5) const; pCmdIGC char(3) const options(*nopass); end-pr;