DCL VAR (&WSCCR1 &WSCCR2 & CTCD &GMAB &BRNO + &REPORT &FRMTME &TOTME &W1DATE) DCL VAR(&WSCCR1) TYPE(*CHAR) LEN(512) DCL VAR(&WSCCR2) TYPE(*CHAR) LEN(2048) DCL VAR(&CTCD) TYPE(*CHAR) LEN(2) DCL VAR(&GMAB) TYPE(*CHAR) LEN(4) DCL VAR(&BRNO) TYPE(*CHAR) LEN(3) DCL VAR(&REPORT) TYPE(*CHAR) LEN(1) DCL VAR(&REPOPT) TYPE(*CHAR) LEN(1) DCL VAR(&FRMTME) TYPE(*CHAR) LEN(6) DCL VAR(&TOTME) TYPE(*CHAR) LEN(6) DCL VAR(&SELT1) TYPE(*CHAR) LEN(175) DCL VAR(&WSPVCV) TYPE(*CHAR) LEN(10) DCL VAR(&WSPVPG) TYPE (*CHAR) LEN(10) DCL VAR(&WSNXCV) TYPE(*CHAR) LEN(10) DCL VAR(&WSNXFT) TYPE(*CHAR) LEN(5) DCL VAR(&WSNXPG) TYPE(*CHAR) LEN(10) DCL VAR(&W1CV) TYPE(*CHAR) LEN(10) DCL VAR(&W1FT) TYPE(*CHAR) LEN(5) DCL VAR(&W1PG) TYPE(*CHAR) LEN(10) DCL VAR(&JOB) TYPE(*CHAR) LEN(10) DCL VAR(&BLANK) TYPE(*CHAR) LEN(1) VALUE (' ') DCL VAR(&TDDT) TYPE(*CHAR) LEN(8) DCL VAR(&W1DATE1) TYPE(*CHAR) LEN(6) DCL VAR (&W1DAATE2) TYPE(*CHAR) LEN(6) DCL VAR(&W1DATE3) TYPE(*CHAR) LEN(8) DCL VAR(&WADATE4) TYPE(*CHAR) LEN(8) DCL VAR(&DATFMT) TYPE(*CHAR) LEN(3) DCL VAR (&W1YY) TYPE(*DEC) LEN(4 0) /* Year YYYY*/ DCL VAR (&W1YYC) TYPE(*CHAR) LEN(4) /*Char Year YYYY*/ DCL VAR(&LIB) TYPE(*CHAR) LEN(5) DCL VAR(&LIB1) TYPE(*CHAR) LEN(8) DCL VAR(&QRY) TYPE (*CHAR) LEN(350) DCL VAR(&P0QRY1) TYPE(*CHAR) LEN(2) VALUE('Q1') DCL VAR(&P0QRY2) TYPE (*CHAR) LEN(2) VALUE('Q2') DCL VAR(&P0QRY3) TYPE(*CHAR) LEN(2) VALUE('Q3') RTVJOBA JOB(&JOB) CHGVAR VAR(&WSNXCV) VALUE(&WSCCR1 1 10)) CHGVAR VAR(&WSNXFT) VALUE(&WSCCR1 11 5) CHGVAR(&WSNXPG) VALUE(%SST(&WSCCR1 41 10) CHGVAR VAR(&LIB) VALUE(QTEMP) RTVDTAARA DTAARA(HSSDTAAR002 (1 8) ) RTNVAR(&DTDT) RTVDTAARA DTAARA(HSSDTAR045 (1 8) RTNVAR(&LIB1) RTVSYSVAL SYSVAL(QDAT) RTNVAR(&W1DATE1) RTVSYSVAL SYSVAL(QDATFMT) RTNVAR(&DATFMT) IF COND(&DATFMT *EQ 'YMD') THEN (DO) CHGVAR VAR(&W1DATE2) VALUE(%SST(&W1DATE1 1 6) ENDDO IF COND(&DATFMT *EQ 'MDY' ) THEN (DO) CHGVAR VAR(&W1DATE2) VALUE(%SST(&W1DATE1 5 2) *TCAT + %SST(&W1DATE1 1 4)) ENDDO IF COND(&DATFMT *EQ 'DMY') THEN (DO) CHGVAR VAR(&W1DATE2) VALUE(%SST(&W1DATE1 5 2) *TCAT + %SST(&W1DATE1 3 2) *TCAT %SST(&W1DATE1 1 2)) ENDDO /*Format the system date from YYMMDD to YYYYMMDD */ IF COND(%SST(&W1DATE2 3 2) *LE %SST(&TDDT 5 + 2)) THEN (DO) CHGVAR VAR(&W1DATE3) VALUE (%SST (&TDDT 1 2) *TCAT + %SST(&W1DATE2 1 6) ENDDO /* Determine selection criteria */ IF COND (&REPOPT = 'F' ) THEN (DO) IF COND (&BRNO *NE ' ') THEN (CHGVAR + VAR(&SELT1) VALUE('L@CTCD *EQ " ' || &CTCD + || ' " *AND L@GMAB *EQ " ' || &GMAB || ' " + *AND L@BRNO *EQ ' || &BLANK || ' " ')) ELSE CMD(CHGVAR VAR(&SELT1) VALUE ('L@CTCD *EQ " ' + || &CTCD || ' " *AND L@GMAB *EQ " '|| &BLANK || + &GMAB || ' " *AND L@ACKG *EQ " '|| &BLANK || + ' " ')) ENDDO ELSE CMD(DO) IF COND(&BRNO *NE ' ') THEN(CHGVAR + VAR(&SELT1) VALUE('L@CTCD *EQ " ' || &CTCD + || ' " *AND L@GMAB *EQ " ' || &GMAB || ' " + *AND L@BRNO *EQ ' || &BRNO || ' *AND + L@ACKG *EQ " ' || &BLANK || ' " *AND + L@XMDT *EQ '|| &W1DATE || ' *AND L@XMTM + *GE ' || &FRMTME || ' *AND L@XMTM *LE '+ || &TOTME || ' ')) ELSE CMD(CHGVAR VAR(&SELT1) VALUE ('L@CTCD *EQ " ' + || &CTCD || ' " *AND L@GMAB *EQ " ' || + &GMAB || '" *AND L@ACKG *EQ " ' || &BLANK + || ' " *AND L@XMDT *EQ '|| &W1DATE || ' + *AND L@XMTM *GE ' || &FRMTME || ' *AND + L@XMTM *LE ' || &TOTME || ' ')) OVRPRTF FILE(INBA71R1) SAVE(*YES) SPLFNAME(INBA76R1) ENDDO IF COND (&W1DATE *EQ &W1DATE3) THEN (DO) + CHKOBJ OBJ(QTEMP/BA@IMTP) OBJTYPE(*FILE) MONMSG MSGID(CPF9801) EXEC (DO) CRTDUPOBJ OBJ(BA@IMTP) FROMLIB (*LIBL) OBJTYPE(*FILE) + TOLIB(QTEMP) NEWOBJ(BA@IMTP) CST(*NO) + TRG(*NO) ACCTL(*NONE) ENDDO CALL PGM(INBA071M) PARM(&W1DATE &P0QRY1) OVRDBF FILE(BA@IMTP) TOFILE(QTEMP/BA@IMTP) + OVRSCOPE(*JOB) SHARE(*YES) OPNQRYF FILE((QTEMP/BA@IMTP)) QRYSLT(&SELT1) + KEYFLD(L@CTCD) (L@GMAB) (L@BRNO)) CALL PGM(INBA071A) PAR(&REOPT &FRMTME &TOTME) CLOF OPNID(BA@IMTP) DLTOVR FILE(*ALL) RCLRSC CLRPFM FILE(QTEMP/BA@IMTP) ENDDO IF COND(&W1DATE *LE &W1DATE3) THEN(DO) + OVRPRTF FILE(INBA71R1) SAVE(*YES) SPLFNAME(INBA76R1) CHKOBJ OBJ(QTEMP/BA@IMHP) OBJTYPE(*FILE) MONMSG MSGID(CPF9801) EXEC (DO) CRTDUPOBJ OBJ(BA@IMHP) FROMLIB(*LIBL) OBJTYPE(*FILE) + TOLIB(QTEMP) NEWOBJ(BA@IMHP) CST(*NO) TRG(*NO) ACCTL(*NONE) ENDDO CALL PGM(INBA071M) PARM(&W1DATE &P0QRY2) CALL PGM(INBA071M) PARM(&W1DATE &P0QRY3) OVRDBF FILE(BA@IMHP) TOFILE(QTEMP/BA@IMHP) + OVRSCOPE(*JOB) SHARE(*YES) OPNQRYF FILE((QTEMP/BA@IMHP)) QRYSLT(&SELT1) + KEYFLD((L@CTCD) (L@GMAB) (L@BRNO)) CALL PGM(INBA071B) PARM (&REOPT &FRMTME &TOTME) CLOF OPNID(BA@IMHP) DLTOVR FILE(*ALL) RCLRSC /* End of today date */ CLRPFM FILE(QTEMP/BA@IMHP) CHGVAR VAR(&W1CV) VALUE(&WSNXCV) CHGVAR VAR(&W1FT) VALUE(&WSNXFT) CHGVAR VAR(&W1PG) VALUE(&WSNXPG) CHGVAR VAR(&WSNXPG) VALUE('*HIGHR') CHGVAR VAR(&WSPVCV) VALUE(&W1CV) CHGVAR VAR(&WSPVFT) VALUE(&W1FT) CHGVAR VAR(&WSPVPG) VALUE(&W1PG) CHGVAR VAR(%SST (&WSCCR1 1 10)) VALUE(&WSNXCV) CHGVAR VAR(%SST(&WSCCR1 11 5)) VALUE(&WSNXFT) CHGVAR VAR(%SST (&WSCCR1 16 10)) VALUE(&WSNXPG) CHGVAR VAR(%SST(&WSCCR1 26 10)) VALUE(&WSPVCV) CHGVAR VAR(%SST(&WSCCR1 36 5)) VALUE(&WSPVFT) CHGVAR VAR(%SST(&WSCCR1 41 10)) VALUE(&WSPVPG EXITPGM: RETURN ENDPGM