CL :: EDUPDSC1

EXTOL/VAI ::R50MODS CL :: EDUPDSC1 -- Extract EDI Documents to Send

/*‚******************************************************************/
/*‚*   DEVELOPED BY : VAI COMPUTER SYSTEMS INC. Copyright 1998, 2004 **/
/*‚*                                                               **/
/*‚*   FOR          : System 2000                                  **/
/*‚*   PROGRAMMER   : Chand Babu          Log: 150054              **/
/*‚*   DATE WRITTEN : 01/18/2005                                   **/
/*‚*   MODULE       : EDI                                          **/
/*‚*                                                               **/
/*‚*   MODIFIED BY  : LARRY HAINES        Log: 164919 G4919        **/
/*‚*   DATE         : 8/25/2005                                    **/
/*‚*   DESCRIPTION  : ADD F4 SEARCH FOR DOCUMENT ID                **/
/*‚*                                                               **/
/*‚*   MODIFIED BY  : Bob Moloney         Log: Rel 5.0             **/
/*‚*   DATE         : 08/06/2007         Scan: bm01                **/
/*‚*   DESCRIPTION  : Change company variables to 3 positions      **/
/*‚*                                                               **/
/*‚*   MODIFIED BY  : James Lai           Log: Rel 5.0             **/
/*‚*   DATE         : 09/04/2008         Scan: 235069              **/
/*‚*   DESCRIPTION  : Check user company authorization             **/
/*‚*                                                               **/
/*‚*---------------------------------------------------------------**/
/*‚*   SYSTEM NAME  : AS/400                                       **/
/*‚*---------------------------------------------------------------**/
/*‚*   DESCRIPTION  : Extract EDI Documents to Send                **/
/*‚*---------------------------------------------------------------**/
/*‚* *NOTE: If sending this program and customer does not have     **/
/*‚*        version of XASRVPG (service program) with log 236615   **/
/*‚*        Then it will need to be sent, compiled & rebound to    **/
/*‚*        All Programs (XAUPPGCL). (all CL's in log 236615)      **/
/*‚******************************************************************/
             PGM

             DCL        VAR(&INKCKL) TYPE(*CHAR) LEN(1)
             DCL        VAR(&YYMM)   TYPE(*CHAR) LEN(4)
             DCL        VAR(&RQSDTA) TYPE(*CHAR) LEN(256)
             DCL        VAR(&USER)   TYPE(*CHAR) LEN(10) /* USER NME */
             DCL        VAR(&IN98)   TYPE(*LGL)  LEN(1) VALUE('1')
             DCL        VAR(&IN99)   TYPE(*LGL)  LEN(1) VALUE('1')
             DCL        VAR(&FLOC)   TYPE(*CHAR) LEN(4)
             DCL        VAR(&TLOC)   TYPE(*CHAR) LEN(4)
             DCL        VAR(&PGM)    TYPE(*CHAR) LEN(10) +
                          VALUE('EDUPDSC1')
             DCL        VAR(&AUTYN)  TYPE(*CHAR) LEN(1)
             DCL        VAR(&NRCPY)  TYPE(*CHAR) LEN(2) VALUE('01')
             DCL        VAR(&ERR2)   TYPE(*CHAR) LEN(1)
             DCL        VAR(&ERRFL)  TYPE(*CHAR) LEN(1) VALUE('N')
             DCL        VAR(&APPL)   TYPE(*CHAR) LEN(2) VALUE('AP')

             DCL        VAR(&PFILE) TYPE(*CHAR) LEN(8) +
                          VALUE('EDUPDSFM')
             DCL        VAR(&PREC1) TYPE(*CHAR) LEN(8) +
                          VALUE('EDUPDS01')
             DCL        VAR(&PREC2) TYPE(*CHAR) LEN(8)
             DCL        VAR(&PREC3) TYPE(*CHAR) LEN(8)
             DCL        VAR(&PEOJ) TYPE(*CHAR) LEN(1)

             DCL        VAR(&ERRDAT) TYPE(*CHAR) LEN(1)
             DCL        VAR(&ERRPID) TYPE(*CHAR) LEN(1)
             DCL        VAR(&ERRCOP) TYPE(*CHAR) LEN(1)
             DCL        VAR(&ERRMSG) TYPE(*CHAR) LEN(69) +
                          VALUE('Invalid data found! Please try +
                          again.')
             DCL        VAR(&ACCT) TYPE(*CHAR) LEN(7) VALUE('*ALL   ')
             DCL        VAR(&FVEND) TYPE(*CHAR) LEN(6) VALUE('      ')
             DCL        VAR(&TVEND) TYPE(*CHAR) LEN(6) VALUE('999999')
             DCL        VAR(&FCUST) TYPE(*CHAR) LEN(7) VALUE('       ')
             DCL        VAR(&TCUST) TYPE(*CHAR) LEN(7) VALUE('9999999')
             DCL        VAR(&FREF) TYPE(*DEC ) LEN(9) VALUE(000000000)
             DCL        VAR(&TREF) TYPE(*DEC ) LEN(9) VALUE(999999999)
             DCL        VAR(&FORD) TYPE(*DEC)  LEN(9) VALUE(000000000)
             DCL        VAR(&TORD) TYPE(*DEC ) LEN(9) VALUE(999999999)
             DCL        VAR(&FBOCD) TYPE(*DEC)  LEN(3) VALUE(000)
             DCL        VAR(&TBOCD) TYPE(*DEC ) LEN(3) VALUE(999)
             DCL        VAR(&FAREF) TYPE(*CHAR) LEN(20) +
                          VALUE('       ')
             DCL        VAR(&TAREF) TYPE(*CHAR) LEN(20) +
                          VALUE('99999999999999999999')
             DCL        VAR(&FRDTE) TYPE(*DEC) LEN(6 0) VALUE(000000)
             DCL        VAR(&TRDTE) TYPE(*DEC) LEN(6 0) VALUE(999999)
             DCL        VAR(&EDST) TYPE(*CHAR) LEN(10) +
                          VALUE('*ALL      ')
             DCL        VAR(&FD_A) TYPE(*CHAR) LEN(6)
             DCL        VAR(&TD_A) TYPE(*CHAR) LEN(6)
             DCL        VAR(&FREF_A) TYPE(*CHAR) LEN(9)
             DCL        VAR(&TREF_A) TYPE(*CHAR) LEN(9)
             DCL        VAR(&FORD_A) TYPE(*CHAR) LEN(9)
             DCL        VAR(&TORD_A) TYPE(*CHAR) LEN(9)
             DCL        VAR(&FBOCD_A) TYPE(*CHAR) LEN(3)
             DCL        VAR(&TBOCD_A) TYPE(*CHAR) LEN(3)

             /**** WORKING FIELDS FOR SEARCH F4=IN04 ****/
             DCL        VAR(&COMP)  TYPE(*CHAR) LEN(3)               /* bm01 */
             DCL        VAR(&XCOMP)  TYPE(*CHAR) LEN(3)              /* bm01 */
             DCL        VAR(&XDESC)  TYPE(*CHAR) LEN(30) VALUE(' ')
             DCL        VAR(&XVEND)  TYPE(*CHAR) LEN(6)
             DCL        VAR(&XCUST)  TYPE(*CHAR) LEN(7)
             DCL        VAR(&EOJ)    TYPE(*CHAR) LEN(1)
             DCL        VAR(&XPO   ) TYPE(*CHAR) LEN(9)
             DCL        VAR(&XINV) TYPE(*CHAR) LEN(12)
             DCL        VAR(&XPGM) TYPE(*CHAR) LEN(10) VALUE(EDUPDSC1)
             DCL        VAR(&ERR)    TYPE(*CHAR) LEN(1)
             DCL        VAR(&ERRCMP) TYPE(*CHAR) LEN(3)              /* bm01 */
             DCL        VAR(&CCYYMM) TYPE(*CHAR) LEN(6)
             DCL        VAR(&ERR_YEAR) TYPE(*CHAR) LEN(4)
             DCL        VAR(&APPLYL) TYPE(*CHAR) LEN(2)
             DCL        VAR(&CCYYPP) TYPE(*CHAR) LEN(6)
             DCL        VAR(&JOB)    TYPE(*CHAR) LEN(10) /* Job Name */
             DCL        VAR(&SHP)   TYPE(*CHAR) LEN(7)
             DCL        VAR(&ORD)   TYPE(*CHAR) LEN(12)
             DCL        VAR(&INV)   TYPE(*CHAR) LEN(9)
             DCL        VAR(&NETNAME) TYPE(*CHAR) LEN(30)
             DCL        VAR(&LGLHEAD) TYPE(*CHAR) LEN(10)
             DCL        VAR(&PNETY) TYPE(*CHAR) LEN(1) VALUE(' ')
             DCL        VAR(&XNETID) TYPE(*CHAR) LEN(15)
/* G4919 */  DCL        VAR(&XEDST)  TYPE(*CHAR) LEN(10)
             /**** WORKING FIELDS FOR SEARCH F4=IN04 ****/
             DCL        VAR(&DISPLAY) TYPE(*CHAR) LEN(9)
             DCL        VAR(&SBMHOLD) TYPE(*CHAR) LEN(5) +
                          VALUE('*JOBD')
             DCL VAR(&JOB_DATE  ) TYPE(*CHAR) LEN(8)
             DCL VAR(&JOB_TIME  ) TYPE(*CHAR) LEN(8)
             DCL VAR(&JOB_NAME  ) TYPE(*CHAR) LEN(10)
             DCL VAR(&JOB_USER  ) TYPE(*CHAR) LEN(10)
             DCL VAR(&JOB_NUMBER) TYPE(*CHAR) LEN(6)
             DCL VAR(&RET_CODE)   TYPE(*CHAR) LEN(3)
/*235069*/   DCL        VAR(&CMP0) TYPE(*DEC) LEN(3 0)
/*235069*/   DCL        VAR(&BAD) TYPE(*CHAR) LEN(1)
/*235069*/   DCL        VAR(&RTN) TYPE(*CHAR) LEN(16)

             DCLF       FILE(EDUPDSFM)

             RTVJOBA    USER(&USER) OUTQ(&PRTID) DATE(&RPTDT) /*31777*/

    /***************************************************************/
    /****    CHECK IF USER IS AUTHORIZED ACCESS TO PROGRAM      ****/
    /***************************************************************/

             CALL       PGM(*LIBL/XACKSCC1) PARM(&USER &PGM &AUTYN)
             IF         COND(&AUTYN *EQ 'N') THEN(RETURN)

/*           CHGVAR     VAR(&CMP)  VALUE('01') */

             CALL       PGM(XACHKCL) PARM(&USER &COMP &FLOC &IN98 +
                          &IN99)
             CHGVAR     VAR(&CMP) VALUE(&COMP)
             IF         COND(&IN98 *EQ '1') THEN(DO)
             ENDDO

             CHGVAR     VAR(&XXPREV) VALUE('Y')
             CHGVAR     VAR(&XXTRANS) VALUE('Y')
             CHGVAR     VAR(&XXSEND) VALUE('Y')

    /*   RETRIEVE DEFAULT NETWORK FROM CONSTANTS FILE   */
    /*       CALL       PGM(EDNETW02) PARM(&XXNETW &NETNAME) */
             CHGVAR     VAR(&XXNETW) VALUE('*ALL')

 PROMPT:     SNDRCVF    RCDFMT(EDUPDS01)
             CHGVAR     VAR(&$ERROR) VALUE(' ')

             CHGVAR     VAR(&$ERROR) +
                          VALUE('                             ')

             IF         COND(&IN12 *EQ '1') THEN(DO)
             RETURN
             ENDDO

             IF         COND(&IN03 *EQ '1') THEN(DO)
             RETURN
             ENDDO

     /*  HELP   */
             IF         COND(&IN95 = '1') THEN(DO)
             CALL       PGM(XAHLPPGM) PARM(&PFILE &PREC1 &PREC2 +
                          &PREC3) /* Call Help Program */
             GOTO       CMDLBL(PROMPT)
             ENDDO

             CHGVAR     VAR(&IN80) VALUE('0')
             CHGVAR     VAR(&IN81) VALUE('0')
             CHGVAR     VAR(&IN82) VALUE('0')
             CHGVAR     VAR(&CROW) VALUE(000)
             CHGVAR     VAR(&CCOL) VALUE(000)

/********************************************************************/
/* PERFORM SEARCHES                                                  */
             IF         COND(&IN04 *EQ '1') THEN(DO) /* FIELD SEARCH */

             /* SEARCH FROM COMPANY */
             IF         COND(&IN98 *EQ '0') THEN(DO)
             IF         COND(&CSRFLD *EQ 'CMP     ') THEN(DO)
             CHGVAR     VAR(&CROW) VALUE(03)
             CHGVAR     VAR(&CCOL) VALUE(30)
             CHGVAR     VAR(&XCOMP) VALUE('  ')
             CHGVAR     VAR(&XDESC) VALUE(' ')
             CALL       PGM(SRCOMP) PARM(&XCOMP &XDESC &INKCKL)
             IF         COND(&INKCKL = 'C') THEN(DO)
             RETURN
             ENDDO
             IF         COND(&XCOMP *NE '   ') THEN(DO)              /* bm01 */
             CHGVAR     VAR(&CMP ) VALUE(&XCOMP)
             CHGVAR     VAR(&CROW) VALUE(04)
             CHGVAR     VAR(&CCOL) VALUE(30)
             ENDDO
             GOTO       CMDLBL(PROMPT)
             ENDDO

             ENDDO

             /* SEARCH FROM VENDOR   */
             IF         COND(&ATYP   *EQ 'V'        ) THEN(DO)
             IF         COND(&CSRFLD *EQ 'ACCT     ') THEN(DO)
             CHGVAR     VAR(&CROW) VALUE(04)
             CHGVAR     VAR(&CCOL) VALUE(33)
             CHGVAR     VAR(&XVEND) VALUE('  ')
             CHGVAR     VAR(&EOJ)   VALUE(' ')
             CALL       PGM(SPVEND) PARM(&CMP  &XVEND &EOJ)
             IF         COND(&XVEND *NE '  ') THEN(DO)
             CHGVAR     VAR(&ACCT ) VALUE(&XVEND)
             CHGVAR     VAR(&CROW) VALUE(05)
             CHGVAR     VAR(&CCOL) VALUE(30)
             ENDDO
             GOTO       CMDLBL(PROMPT)
             ENDDO

             ENDDO

             IF         COND(&ATYP   *EQ 'C'        ) THEN(DO)
             /* SEARCH FROM CUSTOMER */
             IF         COND(&CSRFLD *EQ 'ACCT     ') THEN(DO)
             CHGVAR     VAR(&CROW) VALUE(04)
             CHGVAR     VAR(&CCOL) VALUE(33)
             CHGVAR     VAR(&XCUST) VALUE('  ')
             CHGVAR     VAR(&EOJ)   VALUE(' ')
             CALL       PGM(SRCUST) PARM(&CMP  &XCUST &JOB &USER +
                          &PGM &SHP &ORD &INV)
             IF         COND(&XCUST  = 'EOJ####') THEN(DO)
             RETURN
             ENDDO
             IF         COND(&XCUST *NE '  ') THEN(DO)
             CHGVAR     VAR(&ACCT ) VALUE(&XCUST)
             CHGVAR     VAR(&CROW) VALUE(05)
             CHGVAR     VAR(&CCOL) VALUE(30)
             ENDDO
             GOTO       CMDLBL(PROMPT)
             ENDDO

             ENDDO

/* G4919 */  /* SEARCH DOCUMENT ID */
             IF         COND(&CSRFLD *EQ 'EDST      ') THEN(DO)
             CHGVAR     VAR(&XEDST) VALUE('         ')
             CHGVAR     VAR(&CROW) VALUE(05)
             CHGVAR     VAR(&CCOL) VALUE(30)
             CALL       PGM(SRDOCID) PARM(&XEDST)
             IF         COND(&XEDST *NE '          ') THEN(DO)
             CHGVAR     VAR(&EDST) VALUE(&XEDST)
             CHGVAR     VAR(&CROW) VALUE(06)
             CHGVAR     VAR(&CCOL) VALUE(30)
             ENDDO
             GOTO       CMDLBL(PROMPT)
/* G4919 */  ENDDO

             /* SEARCH NETWORK ID */
             IF         COND(&CSRFLD *EQ 'XXNETW    ') THEN(DO)
             CHGVAR     VAR(&XNETID) VALUE(' ')
             CHGVAR     VAR(&CROW) VALUE(06)
             CHGVAR     VAR(&CCOL) VALUE(30)
             CALL       PGM(SRNETW) PARM(&CMP &XNETID &NETNAME +
                          &LGLHEAD &PNETY) /*6KXN*/
             IF         COND(&XNETID *NE ' ') THEN(DO)
             CHGVAR     VAR(&XXNETW) VALUE(&XNETID)
             CHGVAR     VAR(&CROW) VALUE(07)
             CHGVAR     VAR(&CCOL) VALUE(30)
             ENDDO
             GOTO       CMDLBL(PROMPT)
             ENDDO

             /* SEARCH PRINTER    */
             IF         COND(&CSRFLD *EQ 'PRTID     ') THEN(DO)
             CHGVAR     VAR(&CROW) VALUE(14)
             CHGVAR     VAR(&CCOL) VALUE(52)
             CALL       PGM(PRTSRH) PARM(&PRTID &INKCKL)
             IF         COND(&INKCKL = 'C') THEN(DO)
             RETURN
             ENDDO
             IF         COND(&PRTID *NE '  ') THEN(DO)
             CHGVAR     VAR(&CROW) VALUE(15)
             CHGVAR     VAR(&CCOL) VALUE(52)
             ENDDO
             ENDDO

             GOTO       CMDLBL(PROMPT)

             ENDDO

/********************************************************************/

/*235069*/
/*  EDIT COMPANY                                                  */
             CHGVAR     VAR(&CMP0) VALUE(&CMP)
/* 236615    CALLPRC    PRC(SP_CMP_USR) PARM((&CMP0 *BYVAL) (&USER +
                          *BYVAL)) RTNVAL(&RTN)         */
/* 236615    CHGVAR     VAR(&BAD) VALUE(%SST(&RTN 1 1)) */
/* 236615 */ CALLPRC    PRC(SP_CMP_USR) PARM((&CMP0 *BYVAL) (&USER +
                          *BYVAL)) RTNVAL(&BAD)
             IF         COND(&BAD *NE 'Y') THEN(DO)
             CALLPRC    PRC(SP_MSG_TXT) PARM(('XA00237' *BYVAL)) +
                          RTNVAL(&$ERROR)
             GOTO       CMDLBL(PROMPT)
             ENDDO
/*235069*/

/*  EDIT ACCOUNT type                                               */
             IF         COND(&ATYP *NE 'C' *AND &ATYP *NE 'V' *AND +
                          &ACCT *NE '*ALL') THEN(DO)
             CHGVAR     VAR(&$ERROR) VALUE('Account Type must be +
                          C=Customer, V=Vendor.')
             CHGVAR     VAR(&CROW) VALUE(04)
             CHGVAR     VAR(&CCOL) VALUE(30)
             GOTO       CMDLBL(PROMPT)
             ENDDO

             IF         COND(&ATYP *NE 'C' *AND &ATYP *NE 'V' *AND +
                          &ATYP *NE ' ') THEN(DO)
             CHGVAR     VAR(&$ERROR) VALUE('Account Type must be +
                          C=Customer, V=Vendor or blank')
             CHGVAR     VAR(&CROW) VALUE(04)
             CHGVAR     VAR(&CCOL) VALUE(30)
             GOTO       CMDLBL(PROMPT)
             ENDDO

/*  EDIT Send/Translation Flag                                      */
/*           IF         COND(&XXTRANS *EQ 'N' *AND &XXSEND *EQ 'Y') +  */
/*                        THEN(DO)                                     */
/*           CHGVAR     VAR(&$ERROR) VALUE('Extracted Data must be +   */
/*                        Translated to be Sent')                      */
/*           CHGVAR     VAR(&CROW) VALUE(15)                           */
/*           CHGVAR     VAR(&CCOL) VALUE(25)                           */
/*           GOTO       CMDLBL(PROMPT)                                 */
/*           ENDDO                                                     */

/********************************************************************/

             CALL       PGM(XACKPS) PARM(&RPTDT &PRTID &NRCPY +
                          &ERRDAT &ERRPID &ERRCOP)
             IF         COND(&ERRCOP *EQ 'E') THEN(DO)
             CHGVAR     VAR(&IN82) VALUE('1')
             CHGVAR     VAR(&$ERROR) VALUE(&ERRMSG)
             ENDDO
             IF         COND(&ERRPID *EQ 'E') THEN(DO)
             CHGVAR     VAR(&IN81) VALUE('1')
             CHGVAR     VAR(&$ERROR) VALUE(&ERRMSG)
             ENDDO
             IF         COND(&ERRDAT *EQ 'E') THEN(DO)
             CHGVAR     VAR(&IN80) VALUE('1')
             CHGVAR     VAR(&$ERROR) VALUE(&ERRMSG)
             ENDDO

             IF         COND(&IN80 *EQ '1' *OR &IN81 *EQ '1' *OR +
                          &IN82 *EQ '1') THEN(DO)
             GOTO       CMDLBL(PROMPT)
             ENDDO

             CHGVAR     VAR(&JOB_DATE)   VALUE('*GETSYS')
             CHGVAR     VAR(&JOB_TIME)   VALUE('*GETSYS')
             CHGVAR     VAR(&JOB_NAME)   VALUE('*GETSYS')
             CHGVAR     VAR(&JOB_USER)   VALUE('*GETSYS')
             CHGVAR     VAR(&JOB_NUMBER) VALUE('*GETSYS')

/* Allow the user to select batch here if docid  = *NONE */
             IF         COND(&EDST = '*NONE') THEN(DO)

             IF         COND(&XXTRANS = 'Y') THEN(DO)
             CALL       PGM(EDSRNTFS) PARM(&JOB_DATE &JOB_TIME +
                          &JOB_NAME &JOB_USER &JOB_NUMBER 'F' &RET_CODE)
             ENDDO
             ELSE       CMD(DO)
             IF         COND(&XXSEND = 'Y') THEN(DO)
             CALL       PGM(EDSRNTFS) PARM(&JOB_DATE &JOB_TIME +
                          &JOB_NAME &JOB_USER &JOB_NUMBER 'S' &RET_CODE)
             ENDDO
             ENDDO

             IF         COND(&RET_CODE = 'F12') THEN(GOTO +
                          CMDLBL(PROMPT))

             IF         COND(&IN03 *EQ '1') THEN(DO)
             RETURN
             ENDDO

             ENDDO

             CHGVAR     VAR(&FD_A) VALUE(&FRDTE)
             CHGVAR     VAR(&TD_A) VALUE(&TRDTE)
             CHGVAR     VAR(&FREF_A) VALUE(&FREF )
             CHGVAR     VAR(&TREF_A) VALUE(&TREF )
             CHGVAR     VAR(&FORD_A) VALUE(&FORD )
             CHGVAR     VAR(&TORD_A) VALUE(&TORD )
             CHGVAR     VAR(&FBOCD_A) VALUE(&FBOCD)
             CHGVAR     VAR(&TBOCD_A) VALUE(&TBOCD)

             IF         COND(&IN06 *EQ '0') THEN(DO)
 SUBMITJOB:  SBMJOB     CMD(CALL PGM(EDUPDSC2) PARM(              +
                                                    &JOB_DATE     +
                                                    &JOB_TIME     +
                                                    &JOB_NAME     +
                                                    &JOB_USER     +
                                                    &JOB_NUMBER   +
                                                    &CMP          +
                                                    &ATYP         +
                                                    &ACCT         +
                                                    &EDST         +
                                                    &XXNETW       +
                                                    &FD_A         +
                                                    &TD_A         +
                                                    &FREF_A       +
                                                    &TREF_A       +
                                                    &FORD_A       +
                                                    &TORD_A       +
                                                    &FBOCD_A      +
                                                    &TBOCD_A      +
                                                    &FAREF        +
                                                    &TAREF        +
                                                    &XXPREV       +
                                                    &XXTRANS      +
                                                    &XXSEND       +
                                                    &RPTDT        +
                                                    &PRTID        +
                                                    &NRCPY        +
                                                   )) +
                                                 JOB(EDI_SEND)
             ENDDO

             IF         COND(&IN06 *EQ '1') THEN(DO)
             SNDF       RCDFMT(EDUPDS02)
                            CALL PGM(EDUPDSC2) PARM(              +
                                                    &JOB_DATE     +
                                                    &JOB_TIME     +
                                                    &JOB_NAME     +
                                                    &JOB_USER     +
                                                    &JOB_NUMBER   +
                                                    &CMP          +
                                                    &ATYP         +
                                                    &ACCT         +
                                                    &EDST         +
                                                    &XXNETW       +
                                                    &FD_A         +
                                                    &TD_A         +
                                                    &FREF_A       +
                                                    &TREF_A       +
                                                    &FORD_A       +
                                                    &TORD_A       +
                                                    &FBOCD_A      +
                                                    &TBOCD_A      +
                                                    &FAREF        +
                                                    &TAREF        +
                                                    &XXPREV       +
                                                    &XXTRANS      +
                                                    &XXSEND       +
                                                    &RPTDT        +
                                                    &PRTID        +
                                                    &NRCPY        +
                                                   )
             ENDDO

             ENDPGM



By: on