SeanHoppe.com Cleo Code Samples CLEO CLP: RCVESXDTA
PGM PARM(&MSGQ &USRD &FPTH &FLNM)
/*Z: CRTCLPGM LOG(*NO) */
/*T: Default program to import data from ESX into EEI */
/*H: System : ExtoL EDI Integrator */
/*H: Date : 04/20/04 */
/*H: (C) Copyright 2004 ExtoL, Inc. */
/*H: Synopsis: */
/*H: This program is used to copy data received by Extol Secure, and */
/*H: import the data into Extol EDI Integrator. */
/*H: This program is identified in the EXTESXPRC data area as the */
/*H: program to be called when the ESX activity monitor receives */
/*H: inbound EDI data and is forwarding to EEI. */
/*M: 07/16/04 RLK: Changed CRTPF of file IN to use *NOMAX for member size. */
/*M: Iss 2992 */
/*M: 04/09/08 SAY: Added file name input parameter */
/*M: Iss 1791 */
/*M: &USRD VALUES */
DCL VAR(&MSGQ) TYPE(*CHAR) LEN(20)
DCL VAR(&USRD) TYPE(*CHAR) LEN(20)
DCL VAR(&FPTH) TYPE(*CHAR) LEN(255)
DCL VAR(&FLNM) TYPE(*CHAR) LEN(255)
DCL VAR(&MSGQN) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGQL) TYPE(*CHAR) LEN(10)
/* NON-EXTOL DEFINED VARIABLES */
DCL VAR(&ENVI) TYPE(*CHAR) LEN(10)
DCL VAR(&TRNS) TYPE(*CHAR) LEN(1)
/* Standard error routine */
DCL VAR(&ERRORSW ) TYPE(*LGL) /* STDERR */
MONMSG MSGID(CPF0000 UEX0000 Y2U0000 RPG0000 +
MCH0000) EXEC(GOTO CMDLBL(STDERR1))
CHGVAR VAR(&MSGQN) VALUE(%SST(&MSGQ 1 10))
CHGVAR VAR(&MSGQL) VALUE(%SST(&MSGQ 11 10))
/* If necessary, check user defined data in &USRD to determine what */
/* process to perform or which EEI system to forward data to. */
CHGVAR VAR(&ENVI) VALUE(%SST(&USRD 1 10))
CHGVAR VAR(&TRNS) VALUE(%SST(&USRD 11 1))
/* Issue 2992 - Change member size to *NOMAX */
CLRPFM FILE(QTEMP/IN)
MONMSG MSGID(CPF3142) EXEC(CRTPF FILE(QTEMP/IN) +
RCDLEN(256) SIZE(*NOMAX))
/* Copy the data to QTEMP */
CPYFRMSTMF FROMSTMF(&FPTH) +
TOMBR('/QSYS.LIB/QTEMP.LIB/IN.FILE/IN.MBR') +
MBROPT(*ADD) CVTDTA(*AUTO) +
STMFCODPAG(*STMF) DBFCCSID(*FILE) +
ENDLINFMT(*FIXED) TABEXPN(*NO)
MONMSG MSGID(CPFA095 CPFA096) EXEC(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('An +
error occurred while copying data from +
stream file' |> &FPTH |< '. The file was +
received from ESX. User data from ESX +
is' |> &USRD || '.') +
TOMSGQ(&MSGQL/&MSGQN) MSGTYPE(*ESCAPE)
ENDDO
/* Create the connection and submit the translation */
/* Check &TRNS variable. If '0' then TRANSLATE(*IMMED) */
/* If '1' then TRANSLATE(*NO) */
IF COND(&TRNS = '0') THEN(DO)
CRTCNNIMP FILE(QTEMP/IN) MBR(IN) TRANSLATE(*SUBMIT) +
NETPORT(IN) SCRIPT(INBOUNDAS2) +
SCRIPTPARM('') NETID(*ESX) +
IMPORTSCR(*NONE)
ENDDO
IF COND(&TRNS = '1') THEN(DO)
CRTCNNIMP FILE(QTEMP/IN) MBR(IN) TRANSLATE(*NO) +
NETPORT(IN) SCRIPT(STERTRAN) +
SCRIPTPARM('') NETID(*ESX) +
IMPORTSCR(*NONE)
ENDDO
/* Delete the stream file from ESX */
RMVLNK OBJLNK(&FPTH)
RETURN /* Normal end of program */
/********** ***********/
STDERR1: /* Standard error handling routine */
IF COND(&ERRORSW) THEN(SNDPGMMSG MSGID(CPF9999) +
MSGF(QCPFMSG) MSGTYPE(*ESCAPE)) /* Fn chk */
CHGVAR VAR(&ERRORSW) VALUE('1') /* Set to fail if +
another error occurs */
/* Send messages back to caller */
MOVPGMMSG MSGTYPE(*DIAG)
MONMSG MSGID(CPF0000)
RSNESCMSG
MONMSG MSGID(CPF0000)
RETURN /* Error end of program */
COPYRIGHT: XCOPYRIGHT COPYRIGHT('(C) COPYRIGHT 2004 EXTOL, INC.')
ENDPGM