Professional Documents
Culture Documents
IDENTIFICATION DIVISION.
PROGRAM-ID. WGMWRAP.
*****************************************************************
*****************************************************************
*** SYSTEM ID: WGS MEMBERSHIP ***
*** PROGRAM TITLE: KERNEL INTEGRATION - MAIN DRIVER MODULEE ***
*** PURPOSE: THIS PROGRAM CONTAINS THE LOGIC TO FETCH ***
*** THE NECESSARY MEMBERSHIP/ELIGIBILTY/CASE/***
*** GROUP/LIMITED LIABILITY DATE REQUIRED FOR***
*** ACES/CS90 CLAIM PROCESSING ***
*****************************************************************
*** IMS DATABASES USED: ***
*** WGMCASDB - WGS CASE DATABASE ***
*** WGMGRPDB - WGS GROUP DATABASE ***
*** WGMMBRDB - WGS MEMBER DATABASE ***
*** WGMPRFDB - WGS PROFILE DATABASE ***
*** WGMLLIDB - WGS LIMITED LIABILITY DATABASE ***
*****************************************************************
*** I/O MODULES CALLED: ***
*** WGMCSIOS - CASE I/O ROUTINE ***
*** WGMGRIOS - GROUP I/O ROUTINE ***
*** WGMMMIOS - MEMBER I/O ROUTINE ***
*** WGMPRFIS - PROFILE I/O ROUTINE ***
*** WGMLLIOS - LIMITED LIABILITY ROUTINE ***
*****************************************************************
*** REMARKS: ***
*****************************************************************
*****************************************************************
*** MAINTENANCE LOG: ***
*** DATE NAME DESCRIPTION ***
*** -------- ------------ -------------------------------- ***
*** 11/28/17 DELOITTE INITIAL VERSION ***
*** -------- ------------ -------------------------------- ***
AP9218*** 04/20/18 DELOITTE ADDED CHANGE TO INCLUDE CS90 SCREEN**
AP9218*** REMEDIATION, ACES UM REQUIREMENT, **
AP9218*** PROCESS-TYPE-CD CHANGE TO IDENTIFY **
AP9218*** LEGACY GROUP AND ERROR CODE CHANGE **
AP9218*** TO ERROR TYPE AND ERROR SEQUENCE **
KP9218*** -------- ------------ -------------------------------- **
KP9218*** 04/18/18 DELOITTE CODED FOR THE REMAINING LL FIELDS **
KP9218*** REQUIREMENT **
AP0683*** -------- ------------ -------------------------------- **
AP0683*** 04/30/18 DELOITTE ADDED CHANGE FOR PCP AND COB AND **
AP0683*** ADDITIONAL LL REQUIREMENT **
AP0683*** -------- ------------ -------------------------------- **
AP0683*** 05/24/18 DELOITTE ADDED CHANGE FOR PROCESS TYP AND **
AP0683*** COB REQUIREMENT **
AP0683*** -------- ------------ -------------------------------- **
SP8774*** 05/26/18 DELOITTE ADDED CHANGE FOR POPULATING OTH-MIG**
SP8774*** NUMBER REQUIREMENT **
SP8774*** -------- ------------ -------------------------------- **
AP0607*** 06/07/18 DELOITTE ADDED CHANGE TO INCREASE DEPENDENT **
AP0607*** COUNT PER CONTRACT FROM 15 TO 51 **
*****************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-309X.
*SOURCE-COMPUTER. IBM-309X WITH DEBUGGING MODE.
OBJECT-COMPUTER. IBM-309X.
INPUT-OUTPUT SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 FILLER PIC X(40) VALUE
'<<WGMWRAP WORKING STORAGE STARTS HERE>>'.
*****************************************************************
* WORK AREAS: *
*****************************************************************
01 WS-MISC-VARS.
*****************************************************************
* WGMAPSYD *
*****************************************************************
COPY WGMAPSYD.
*****************************************************************
* DATA BASE I/O AREAS: *
*****************************************************************
*****************************************************************
* CASE DB I/O AREA *
*****************************************************************
COPY WGMCSIOD.
*****************************************************************
* GROUP DB I/O AREA *
*****************************************************************
COPY WGMGRIOD.
*****************************************************************
* MEMBER DB I/O AREA *
*****************************************************************
COPY WGMMMIOD.
*****************************************************************
* PROFILE DB I/O AREA *
*****************************************************************
COPY WGMPFIOD.
*****************************************************************
* KEY DB I/O AREA *
*****************************************************************
COPY WGMKYIOD.
EJECT
*****************************************************************
* LIMITED LIABILITY DB I/O AREA *
*****************************************************************
COPY WGMLLIOD.
01 WS-IO-AREA-VARS.
01 WS-CERT-PROFILE-IN.
*****************************************************************
* PROFLIE DATABASE CERT SEGMENT COPYBOOK *
*****************************************************************
COPY WGMPCRTV.
EJECT
01 WS-MEMBER-PROFILE-IN.
*****************************************************************
* PROFLIE DATABASE MEMBER SEGMENT COPYBOOK *
*****************************************************************
COPY WGMPMBRV.
EJECT
01 SUBSCRIBER-ADR-RECORD.
*****************************************************************
* PROFLIE DATABASE ADDRESS SEGMENT COPYBOOK *
*****************************************************************
COPY WGMPADRV.
EJECT
01 WS-OTH-CERT-IN.
*****************************************************************
* PROFLIE DATABASE OTHER CERT SEGMENT COPYBOOK *
*****************************************************************
COPY WGMPOCTV.
EJECT
01 WS-PMHS-IN.
*****************************************************************
* PROFLIE DATABASE MEMBER HISTORY SEGMENT COPYBOOK *
*****************************************************************
COPY WGMPMHSV.
EJECT
01 WGMMCRT-IO-AREA.
*****************************************************************
* MEMBERSHIP DATABASE CERT SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMCRTV.
EJECT
01 WGMMCNT-IO-AREA.
*****************************************************************
* MEMBERSHIP DATABASE CONTRACT SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMCNTV.
EJECT
01 WGMMEMB-IO-AREA.
*****************************************************************
* MEMBERSHIP DATABASE MEMBER SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMEMBV.
EJECT
01 WGMMCHS-IO-AREA.
*****************************************************************
* MEMBERSHIP DATABASE CONTRACT HISTORY SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMCHSV.
EJECT
01 WGMMHST-IO-AREA.
*****************************************************************
* MEMBERSHIP DATABASE CONTRACT HISTORY SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMHSTV.
EJECT
01 WS-MNTK-IN.
*****************************************************************
* MEMBERSHIP DATABASE NETWORTK SEGMENT COPYBOOK *
*****************************************************************
COPY WGMMNTKV.
EJECT
01 WS-GRP-ROOT.
*****************************************************************
* GROUP DATABSE GROUP SEGMENT COPYBOOK *
*****************************************************************
COPY WGMGROUP.
EJECT
01 WS-WGMGIND-SEG.
*****************************************************************
* GROUP DATABSE WGMGINDC SEGMENT COPYBOOK *
*****************************************************************
COPY WGMGINDV.
EJECT
01 WGMGRPDB-GRPCONTR.
*****************************************************************
* GROUP DATABSE WGMGCNTC SEGMENT COPYBOOK *
*****************************************************************
COPY WGMGCNTV.
01 WGMGADDR.
*****************************************************************
* GROUP DATABSE WGMGADRC SEGMENT COPYBOOK *
*****************************************************************
COPY WGMGADRV.
01 WS-WGMGRPDB-BILSRC.
*****************************************************************
* GROUP DATABSE WGMGBLSC SEGMENT COPYBOOK *
*****************************************************************
COPY WGMGBLSV.
01 WS-CASE-ROOT.
*****************************************************************
* CASE DATABSE CASE SEGMENT COPYBOOK *
*****************************************************************
COPY WGMCASEV.
EJECT
01 WS-CASE-ADR.
*****************************************************************
* CASE DATABSE CASE ADDRESS SEGMENT COPYBOOK *
*****************************************************************
COPY WGMCADRV.
EJECT
01 LLCERT-IO-AREA.
******************************************************************
* COPY BOOK FOR ACCESSING LL TYPE DATA OF LL DB *
******************************************************************
COPY WGMLCRTC.
EJECT
01 WGMLLIB-IO-AREA.
******************************************************************
* COPY BOOK FOR ACCESSING LLIB *
******************************************************************
COPY WGMLLIBV.
EJECT
SB0405 01 BILL-ENTITY-SEG.
SB0405
SB0405******************************************************************
SB0405* COPY BOOK FOR BILL ENTITY SEGMENT *
SB0405******************************************************************
SB0405 COPY GNMBENT.
SB0405 EJECT
SB0405
SB0405 01 BILL-CONTROL-SEG.
SB0405
SB0405******************************************************************
SB0405* COPY BOOK FOR BILL ENTITY CONTROL SEGMENT *
SB0405******************************************************************
SB0405 COPY GNMBCTL.
SB0405
SB0405 01 BILL-TOTAL-SEG.
SB0405
SB0405******************************************************************
SB0405* COPY BOOK FOR BILL SUMMART TOTAL SEGMENT *
SB0405******************************************************************
SB0405 COPY GNMBTOT.
SB0405
SB0405******************************************************************
SB0405* COPY BOOK FOR GNBBSIOS I/O PARM *
SB0405******************************************************************
SB0405 COPY GNBBSIOD.
SB0405
SB0405******************************************************************
SB0405* COPY BOOK FOR GNBENIOS I/O PARM *
SB0405******************************************************************
SB0405 COPY GNBENIOD.
SB0405
SB0405 01 GNBBSIOS-IO-AREA PIC X(1500).
SB0405
SB0405 01 GNBENIOS-IO-AREA PIC X(1000).
SB0405
01 WGMLLIDB-TYPE-DATA.
******************************************************************
* COPY BOOK FOR ACCESSING LTYP *
******************************************************************
COPY WGMLTYPV.
EJECT
KP9218 01 WGMLLIDB-LDXC-DATA.
KP9218
KP9218******************************************************************
KP9218* COPY BOOK FOR ACCESSING LDXC *
KP9218******************************************************************
KP9218 COPY WGMLDXCV.
KP9218 EJECT
KP9218
*****************************************************************
* PRODT TABLE BASE COPYBOOK'S *
*****************************************************************
COPY WGMPRODD.
EJECT
*****************************************************************
* PRODT TABLE BASE COPYBOOK'S *
*****************************************************************
COPY WGMTBLSD.
EJECT
*****************************************************************
* PRODT TABLE BASE COPYBOOK'S *
*****************************************************************
COPY WGMGTBLD.
EJECT
*****************************************************************
* LINKAGE SECTION *
*****************************************************************
LINKAGE SECTION.
*****************************************************************
* I/O COPYBOOK *
*****************************************************************
COPY WGMWRAPD.
copy wgmacumd.
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
* WGMIPCB- GENERIC PCB MASK TO VALIDATE
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
* COPY WGMIPCB REPLACING ==(WGMIPCB)== BY ==WGMIOPCB==.
01 GNMBEPDB-PCB.
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
* GNMBEPDB - BILL ENTITY DATABASE PRIMARY VIEW
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
COPY GNMBEPDB.
01 GNMBSMDB-PCB-PSEQ1.
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
* GNMBSMDB - BILL SUMMARY DB PCB-SECONDARY VIEW <<*
***>>>>>>>>-------------------------------------------<<<<<<<<<<<*
COPY GNMBSMS1.
*****************************************************************
* PROCEDURE DIVISION *
*****************************************************************
SB0405* PROCEDURE DIVISION USING WGMWRAPD-PARMS.
SB0405 PROCEDURE DIVISION USING WGMWRAPD-PARMS
SB0405 GNMBEPDB-PCB
SB0405 GNMBSMDB-PCB-PSEQ1
SB0405 .
*****************************************************************
* MAINLINE PROCESSING *
*****************************************************************
00000-MAINLINE.
PERFORM 10000-VALIDATE-INPUT
PERFORM 15000-PROCESS-PARA
PERFORM 99000-END-PARA
GOBACK
.
EJECT
*****************************************************************
* VALIDATE INPUT INFORMATION *
*****************************************************************
10000-VALIDATE-INPUT.
INITIALIZE WS-CERT-NO
WS-MISC-VARS
WGMWRAPD-WGS-OUTPUT-FIELDS
SB0502* SINCE THE INPUT FOR B&C IS ONLY GROUP NUMBER AND B&C FLAG,
SB0502* INITIALIZING ALL THE REST OF HTE INPUT FIELDS TO MAKE SURE
SB0502* WRAPPER DONOT INVOKE OTHER INTERACTIONS.
SB0502 IF WGMWRAPD-BILLING-DATA
SB0502 INITIALIZE WGMWRAPD-I-WGS-HCID
SB0502 WGMWRAPD-I-WGS-CERT-NO
SB0502 WGMWRAPD-I-WGS-MEM-SEQ-NO
SB0502 WGMWRAPD-I-WGS-MEM-CD
SB0502 WGMWRAPD-I-WGS-DATE-OF-SRVC
SB0502 WGMWRAPD-I-WGS-DT-OF-SRVC-PCP
SB0502 WGMWRAPD-I-WGS-DATE-OF-BIRTH
SB0502 WGMWRAPD-I-WGS-AUTH-DATE
SB0502 WGMWRAPD-I-WGS-PCP-STRT-DTE
SB0502 WGMWRAPD-I-WGS-PCP-END-DTE
SB0502 WGMWRAPD-I-WGS-FIRST-NAME
SB0502 WGMWRAPD-I-WGS-LAST-NAME
SB0502 WGMWRAPD-I-WGS-LL-TYPE
SB0502 WGMWRAPD-I-WGS-LL-DATA-REQ-FLG
SB0502 END-IF
IF WGMWRAPD-I-WGS-CERT-NO > SPACES
SET WS-CERT TO TRUE
MOVE WGMWRAPD-I-WGS-CERT-NO TO WS-CERT-NO
ELSE
IF WGMWRAPD-I-WGS-HCID > SPACES
PERFORM 11000-CONV-HCID-TO-CERT
SET WS-CERT TO TRUE
END-IF
END-IF
11000-CONV-HCID-TO-CERT
SB0502
** CHECK'S WHETHER THE CERT IS PRESENT IN MEMBERSHIP DATABASE
IF WS-CERT
PERFORM 60000-MEMBER-CRT-CALL60000-MEMBER-CRT-CAL
ELSE
SB0405 IF NOT WGMWRAPD-BILLING-DATA
SET WGMWRAPD-WGS-INVALID-INPUT
TO TRUE
AP9218 MOVE '01' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID INPUT CERT/HCID'
TO WGMWRAPD-WGS-ERROR-MSG1
SB0502 PERFORM 99000-END-PARA
SB0405 ELSE
SB0405 CONTINUE
SB0405 END-IF
END-IF
EJECT.
*****************************************************************
* EXTRACTS CERT NO FOR THE THE GIVEN HCID *
*****************************************************************
11000-CONV-HCID-TO-CERT.
COPY WGMKYIOP.
EVALUATE TRUE
WHEN WGMKYIOS-OK
MOVE WGMKYIOS-CERT-NUMBER
TO WS-CERT-NO
WHEN OTHER
AP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '19' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'CERT ID NOT FOUND FOR GIVEN HCID'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMKEYDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-EVALUATE
*****************************************************************
* IDENTIFIES THE INTERACTION BASED ON THE INPUTS *
*****************************************************************
15000-PROCESS-PARA.
INITIALIZE WS-GRP-CNT
SET WGMWRAPD-WGS-CALL-SUCCESS TO TRUE
AP9218 MOVE '00' TO WGMWRAPD-WGS-RETURN-CODE2
EVALUATE TRUE
AP9218 WHEN WS-CERT AND WS-AUTHDT AND WS-MEMCD
AP9218 SET WS-INTER-ACTION6 TO TRUE
AP9218 PERFORM 19000-CERT-DOS-MEMCD
WHEN WS-CERT AND WS-DOS
SET WS-INTER-ACTION1 TO TRUE
PERFORM 20000-CERT-DOS
WHEN WS-CERT AND WS-DOB AND WS-FNAME AND WS-LNAME
SET WS-INTER-ACTION2 TO TRUE
PERFORM 21000-CERT-DOB
WHEN WS-CERT AND WS-GRPNO AND WS-SEQNO
SET WS-INTER-ACTION3 TO TRUE
PERFORM 22000-CERT-GRP-SEQNO
KP9218 WHEN WS-CERT AND WS-SEQNO AND WGMWRAPD-LL-ONLY-DATA
KP9218 SET WS-INTER-ACTION8 TO TRUE
KP9218 PERFORM 26000-LLDATA-ONLY
WHEN WS-CERT AND WS-SEQNO
SET WS-INTER-ACTION4 TO TRUE
PERFORM 23000-CERT-SEQNO
SB0405 WHEN WS-GRPNO AND WGMWRAPD-BILLING-DATA
SB0405 SET WS-INTER-ACTION7 TO TRUE
SB0405 PERFORM 25000-BILLING-DB
SB0502 PERFORM 99000-END-PARA
WHEN WS-CERT
SET WS-INTER-ACTION5 TO TRUE
PERFORM 24000-CERT
WHEN OTHER
SET WGMWRAPD-WGS-INVALID-INPUT
TO TRUE
AP9218 MOVE '02' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID INPUT INTERACTION REQUEST'
TO WGMWRAPD-WGS-ERROR-MSG1
KP9218 MOVE SPACES TO WGMWRAPD-WGS-ERROR-MSG2
KP9218 PERFORM 99000-END-PARA
END-EVALUATE
INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
WS-CMBR
WS-MCT
WS-LCT
PERFORM 30000-GET-MEMCNT-SEGMNT-DATA
UNTIL (WS-CNT-LOOP-END OR WS-MCT >= +10)
IF WS-DOS-CNT-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '02' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NO CONTRACT FOUND FOR THE GIVEN DOS'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMPRFDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
END-IF
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA FOR CERT NO AND THE DATE OF BIRTH INTERACTION *
*****************************************************************
21000-CERT-DOB.
INITIALIZE WS-PRF-MBR-SEQ-NBR
WS-CMBR
WS-MCT
WS-LCT
WS-DOB-CNT
PERFORM 21100-FETCH-CERT-MEMBERS
UNTIL WS-DOB-LOOP-END OR WS-DOB-FOUND
IF WS-SEQ-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '03' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NO CONTRACT FOUND FOR THE INPUT DOB'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMPRFDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA TO FETCH A MEMBERS ENROLLED UNDER CERT UNTIL A *
* MEMBER MATCHING THE GIVEN DOB, FIRST NAME AND LAST NAME IS *
* FOUND. *
*****************************************************************
21100-FETCH-CERT-MEMBERS.
INITIALIZE WS-MEMBER-PROFILE-IN
WS-PRF-MBR-CD
WS-MBR-SEQ-NBR
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA
TO WS-MEMBER-PROFILE-IN
IF (NM-PRF-MBR-BIRTH-DT =
WGMWRAPD-I-WGS-DATE-OF-BIRTH
OR (NM-PRF-MBR-FIRST-NAME =
WGMWRAPD-I-WGS-FIRST-NAME
AND NM-PRF-MBR-LST-NAME = WGMWRAPD-I-WGS-LAST-NAME))
CONTINUE
.
EJECT
*****************************************************************
* THIS PARA FETCHES THE MEMBER DETAILS CORRESPONDING TO MEMBER *
* SEQUENCE OF THE MATCHING DOB *
*****************************************************************
21200-FETCH-MEMB-DETAILS.
INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
AP9218 WS-DOS-CNT
PERFORM 23100-LOOP-CNT-DATA
AP9218 UNTIL (WS-CNT-LOOP-END OR WS-MCT >= +10)
AP9218 IF WS-INTER-ACTION6
AP9218 IF WS-DOS-CNT = 0
AP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
AP9218 TO TRUE
AP9218 MOVE '05' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'NO CONTRACT FOUND FOR THE GIVEN AUTH DATE'
AP9218 TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMMBRDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218 END-IF
AP9218 END-IF
IF WS-MEDICAL-CNT > 0
PERFORM 23200-GET-PROFILE-DATA
END-IF
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA FOR CERT NO, GROUP NO AND SEQ NO INTERACTION *
*****************************************************************
22000-CERT-GRP-SEQNO.
INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
WS-CMBR
WS-MCT
WS-LCT
PERFORM 30000-GET-MEMCNT-SEGMNT-DATA
AP9218 IF (WS-MEDICAL
AP9218 AND WS-LEGACY)
PERFORM 30250-LOOP-CHST-DATA
UNTIL (WS-CHST-LOOP-END OR WS-MCT >= +10)
PERFORM 40000-GET-GRP-DATA-EXTRACT
PERFORM 50000-GET-CASE-SEGMENT-DATA
PERFORM 23200-GET-PROFILE-DATA
KP9218 IF WGMWRAPD-LL-AND-MEMB-DATA
PERFORM 73000-GET-LL-DATA-EXTRACT
END-IF
END-IF
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA FOR CERT NO AND SEQ NO INTERACTION *
*****************************************************************
23000-CERT-SEQNO.
INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
WS-CMBR
WS-MCT
WS-LCT
PERFORM 23100-LOOP-CNT-DATA
UNTIL (WS-CNT-LOOP-END OR WS-MCT >= +10)
IF WS-MEDICAL-CNT > 0
MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO
TO WS-PRF-MBR-SEQ-NBR
PERFORM 23200-GET-PROFILE-DATA
END-IF
IF WS-SEQ-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '06' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NO CONTRACT FOUND FOR THE INPUT SEQ NO'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMPRFDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
CONTINUE
.
EJECT
*****************************************************************
* LOOP THE CONTRACT SEGMENT DATA
*****************************************************************
23100-LOOP-CNT-DATA.
PERFORM 30000-GET-MEMCNT-SEGMNT-DATA
AP9218 IF (WS-MEDICAL
AP9218 AND WS-LEGACY)
AP9218 IF WS-INTER-ACTION6
AP9218 IF WS-DOS-CNT = 0
AP9218 SET WS-PROCESS-NOT-OK
TO TRUE
AP9218 END-IF
AP9218 END-IF
AP9218 IF WS-PROCESS-OK
AP9218 PERFORM 30250-LOOP-CHST-DATA
AP9218 UNTIL (WS-CHST-LOOP-END OR WS-MCT >= +10)
AP9218 PERFORM 40000-GET-GRP-DATA-EXTRACT
AP9218 PERFORM 50000-GET-CASE-SEGMENT-DATA
KP9218 IF WGMWRAPD-LL-AND-MEMB-DATA
AP9218 PERFORM 73000-GET-LL-DATA-EXTRACT
AP9218 END-IF
END-IF
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET THE PROFILE DB MEMBER SEGMENT DATA
*****************************************************************
23200-GET-PROFILE-DATA.
PERFORM 61000-GET-PMBR-SEGMNT-DATA
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA FOR CERT NO INTERACTION *
*****************************************************************
24000-CERT.
INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
WS-CMBR
WS-MCT
WS-LCT
PERFORM 30000-GET-MEMCNT-SEGMNT-DATA
UNTIL (WS-CNT-LOOP-END OR WS-MCT >= +10)
IF WS-MEDICAL-CNT = 0
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '07' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NO MEDICAL GROUP FOUND FOR THE GIVEN CERT NO'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMGRPDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
CONTINUE
.
EJECT
SB0405*****************************************************************
SB0405* PROCESS PARA FOR BILLING & COMMISSION INTERACTION *
SB0405*****************************************************************
SB0405 25000-BILLING-DB.
SB0405
SB0405 INITIALIZE WS-MEDICAL-CNT
SB0405 WS-CONT-GRP-SUFX-CB
SB0405
SB0405 MOVE WGMWRAPD-I-WGS-GROUP-NUMBER TO WGMWRAPD-WGS-BNC-GRP-NUM
SB0405 PERFORM 40000-GET-GRP-DATA-EXTRACT
SB0405 PERFORM 63000-CHECK-GRP-TYPE
SB0405
SB0405 IF WS-LEGACY
SB0405 PERFORM 62000-CHECK-GRP-IS-MEDICAL
SB0405 IF WS-MEDICAL
SB0405 PERFORM 40300-GET-GBLS-SEGMNT-DATA
SB0405 PERFORM 40500-MOVE-BENT-SEGMNT-DATA
SB0405 ELSE
SB0405 SET WGMWRAPD-WGS-DATA-NOT-FOUND
SB0405 TO TRUE
SB0405 MOVE '23' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INPUT GROUP PROVIDED IS NOT A MEDICAL GROUP'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-IF
SB0405 ELSE
SB0405 SET WGMWRAPD-WGS-DATA-NOT-FOUND
SB0405 TO TRUE
SB0405 MOVE '22' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INPUT GROUP PROVIDED IS NOT A LEGACY GROUP'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-IF
SB0405 .
SB0405 EJECT
KP9218*****************************************************************
KP9218* PROCESS PARA FOR LIMITED LIABIALITY ONLY INTERACTION *
KP9218*****************************************************************
KP9218 26000-LLDATA-ONLY.
KP9218
KP9218 MOVE WS-CERT-NO TO WGMLLIOS-CERT
KP9218 MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO TO WGMLLIOS-LLIB-MBR-SEQ-NBR
KP9218
KP9218 SET WS-LLTYP-NOT-EOS TO TRUE
KP9218 SET WS-LLTYP-NOT-FND TO TRUE
KP9218
KP9218 PERFORM 73100-GET-LL-LIB-DATA
KP9218
KP9218 PERFORM 73200-GET-LLTYP-DATA
KP9218 UNTIL WS-LLTYP-EOS
KP9218
KP9218 IF WS-LLTYP-NOT-FND
KP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
KP9218 TO TRUE
AP0607 MOVE '26' TO WGMWRAPD-WGS-RETURN-CODE2
KP9218 MOVE 'LLTYP DATA NOT FOUND FOR THE GIVEN INPUT'
KP9218 TO WGMWRAPD-WGS-ERROR-MSG1
KP9218 MOVE 'WGMLLIDB: ' TO WS-DB-NAME
KP9218 MOVE 'GE' TO WS-IMS-ERR-CD
KP9218 MOVE WS-WGS-ERROR-MSG2
KP9218 TO WGMWRAPD-WGS-ERROR-MSG2
KP9218 PERFORM 99000-END-PARA
KP9218 END-IF
KP9218 CONTINUE
KP9218
KP9218 .
KP9218 EJECT
*****************************************************************
* GET MEMBERSHIP DB CONTRACT SEGMENT DATA *
*****************************************************************
30000-GET-MEMCNT-SEGMNT-DATA.
INITIALIZE WGMMCNT-IO-AREA
WGMMMIOS-GROUP-NBR-CB
WS-CHST-PRC-DTE-9S-COMP
WS-CHST-PRC-TME-9S-COMP
WS-MEMB-MBR-SEQ-NBR
WS-MEM-LOOP-CNT
WS-MBR
WS-CONT-CD
WS-CONT-PRODUCT-LINE
WS-CONT-CASE-NBR
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WGMMCNT-IO-AREA
MOVE NM-CONT-GRP-SUFX-CB
TO WS-CONT-GRP-SUFX-CB
MOVE NM-CONT-CASE-NBR TO WS-CONT-CASE-NBR
MOVE NM-CONT-PRODUCT-LINE
TO WS-CONT-PRODUCT-LINE
AP9218 PERFORM 63000-CHECK-GRP-TYPE
AP9218 IF WS-LEGACY
PERFORM 62000-CHECK-GRP-IS-MEDICAL
IF WS-MEDICAL
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
WS-INTER-ACTION4 OR
WS-INTER-ACTION5)
ADD +1 TO WS-MEDICAL-CNT
PERFORM 30050-MOVE-MEMCNT-SEGMNT-DATA
PERFORM 30100-LOOP-MBRSHP-DATA
UNTIL WS-MEMB-LOOP-END
END-IF
AP9218 IF WS-INTER-ACTION6
AP9218 PERFORM 30024-CHECK-THE-AUTH-DATE
AP9218 END-IF
AP9218
IF WS-INTER-ACTION1
PERFORM 30025-CHECK-THE-DOS
END-IF
END-IF
END-IF
WHEN WGMMMIOS-NOT-FOUND
IF WS-CNT-SINGLE
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '08' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'MEMBERSHIP CONTRACT DATA NOT FOUND'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMMBRDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
ELSE
SET WS-CNT-LOOP-END TO TRUE
END-IF
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
.
EJECT
AP9218*****************************************************************
AP9218* CHECK THE DATE OF SERVICE FOR MEMBER CODE INTERACTION *
AP9218*****************************************************************
AP9218 30024-CHECK-THE-AUTH-DATE.
AP9218
AP9218 IF (WGMWRAPD-I-WGS-AUTH-DATE >=
AP9218 NM-CONT-EFF-DTE AND
AP9218 WGMWRAPD-I-WGS-AUTH-DATE <=
AP9218 NM-CONT-END-DTE)
AP9218 ADD +1 TO WS-DOS-CNT
AP9218 ADD +1 TO WS-MEDICAL-CNT
AP9218 PERFORM 30050-MOVE-MEMCNT-SEGMNT-DATA
AP9218 PERFORM 30100-LOOP-MBRSHP-DATA
AP9218 UNTIL WS-MEMB-LOOP-END
AP9218 END-IF
AP9218
AP9218 CONTINUE
.
EJECT
*****************************************************************
* CHECK THE DATE OF SERVICE *
*****************************************************************
30025-CHECK-THE-DOS.
PERFORM 30100-LOOP-MBRSHP-DATA
UNTIL WS-MEMB-LOOP-END
PERFORM 40000-GET-GRP-DATA-EXTRACT
ELSE
PERFORM 30250-LOOP-CHST-DATA
UNTIL (WS-CHST-LOOP-END OR WS-MCT >= +10)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* MOVE MEMBERSHIP DB CONTRACT SEGMENT DATA *
*****************************************************************
30050-MOVE-MEMCNT-SEGMNT-DATA.
*****************************************************************
* LOOP MEMBERSHIP DB MEMBER SEGMENT DATA
*****************************************************************
30100-LOOP-MBRSHP-DATA.
PERFORM 30150-GET-MEMMEMB-SEGMNT-DATA
IF (WGMWRAPD-I-WGS-MEM-SEQ-NO > 0 OR
WS-CMBR >= +15 OR
AP0607 WS-MBR >= +51 )
SET WS-MEMB-LOOP-END TO TRUE
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET MEMBERSHIP DB MEMBER SEGMENT DATA *
*****************************************************************
30150-GET-MEMMEMB-SEGMNT-DATA.
INITIALIZE WGMMEMB-IO-AREA
WGMMMIOS-GROUP-NBR-CB
WGMMMIOS-MBR-SEQ-NBR
WS-MNTK
WS-MNTK-CNT
IF WS-INTER-ACTION2
AP9218 OR WS-INTER-ACTION6
MOVE WS-MBR-SEQ-NBR TO
WGMWRAPD-I-WGS-MEM-SEQ-NO
END-IF
IF WGMWRAPD-I-WGS-MEM-SEQ-NO > 0
MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO
TO WGMMMIOS-MBR-SEQ-NBR
SET WGMMMIOS-GET-UNIQUE-DATA TO TRUE
ELSE
MOVE WS-MEMB-MBR-SEQ-NBR TO WGMMMIOS-MBR-SEQ-NBR
SET WGMMMIOS-GET-NEXT-GT-DATA
TO TRUE
END-IF
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WGMMEMB-IO-AREA
MOVE NM-MEMB-MBR-SEQ-NBR
TO WS-PRF-MBR-SEQ-NBR
WS-MEMB-MBR-SEQ-NBR
SET WS-SEQ-FOUND TO TRUE
SET WS-NOT-MNTK-END-LOOP
TO TRUE
PERFORM 30200-MOVE-MEMMEMB-SEGMNT-DATA
PERFORM 30500-GET-MEMBNTK-SEGMNT-DATA
UNTIL (WS-MNTK-LOOP-END OR WS-MNTK >= +10)
ADD +1 TO WS-MEM-LOOP-CNT
WHEN WGMMMIOS-NOT-FOUND
IF (WS-MEM-LOOP-CNT = 0
AND WS-MEM-SINGLE
AND WS-INTER-ACTION3)
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '09' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'MEMBER NOT FOUND IN MEMDB FOR SEQ NO'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMMBRDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
7P9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
ELSE
SET WS-MEMB-LOOP-END
TO TRUE
END-IF
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE MEMBERSHIP DB MEMBER SEGMENT DATA *
*****************************************************************
30200-MOVE-MEMMEMB-SEGMNT-DATA.
ADD +1 TO WS-MBR
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6 )
MOVE NM-MEMB-EFF-DTE TO
WGMWRAPD-WGS-MBR-EFF-DTE
MOVE NM-MEMB-END-DTE TO
WGMWRAPD-WGS-MBR-END-DT
MOVE NM-MEMB-EFF-DTE TO
WGMWRAPD-WGS-MBR-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-MEMB-CAN-EFF-DTE TO
WGMWRAPD-WGS-MBR-CAN-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-MEMB-CAN-PROC-DTE
TO
WGMWRAPD-WGS-MBR-CAN-PROC-DT(WS-MCT,WS-CMBR)
MOVE NM-STATUS-CD TO
WGMWRAPD-WGS-MBR-STATUS-CD(WS-MCT,WS-CMBR)
MOVE NM-MEMB-LST-UPDT-DTE
TO
WGMWRAPD-WGS-MBR-LST-UPDT-DT(WS-MCT,WS-CMBR)
MOVE NM-MEMB-CURR-BEG-DTE
TO
WGMWRAPD-WGS-MBR-CURR-BEG-DT
ELSE
MOVE NM-MEMB-CURR-BEG-DTE
TO
WGMWRAPD-WGS-MBR-CURR-BEG-DTE(WS-MCT,WS-MBR)
MOVE NM-MEMB-END-DTE TO
WGMWRAPD-WGS-MBR-END-DTE(WS-MCT,WS-MBR)
MOVE NM-MEMB-EFF-DTE TO
WGMWRAPD-WGS-MEMB-EFF-DTE(WS-MCT,WS-MBR)
MOVE NM-MEMB-CAN-EFF-DTE TO
WGMWRAPD-WGS-MEMB-CAN-EFF-DTE(WS-MCT,WS-MBR)
MOVE NM-MEMB-CAN-PROC-DTE
TO
WGMWRAPD-WGS-MEMB-CAN-PROC-DTE(WS-MCT,WS-MBR)
MOVE NM-STATUS-CD TO
WGMWRAPD-WGS-MEMB-STAT-CD(WS-MCT,WS-MBR)
MOVE NM-MEMB-LST-UPDT-DTE
TO
WGMWRAPD-WGS-MEMB-LST-UPDT-DTE(WS-MCT,WS-MBR)
PERFORM 61000-GET-PMBR-SEGMNT-DATA
END-IF
CONTINUE
.
EJECT
*****************************************************************
* LOOP MEMBERSHIP DB CONTRACT HISTORY SEGMENT DATA *
*****************************************************************
30250-LOOP-CHST-DATA.
PERFORM 30300-GET-CONTHST-SEGMNT-DATA
CONTINUE
.
EJECT
*****************************************************************
* GET MEMBERSHIP DB CONTRACT HISTORY SEGMENT DATA *
*****************************************************************
30300-GET-CONTHST-SEGMNT-DATA.
INITIALIZE WGMMCHS-IO-AREA
WGMMMIOS-CHST-PRC-DTE-9S-COMP
WGMMMIOS-CHST-PRC-TME-9S-COMP
WS-CHST-EFF-DTE
WS-CHST-END-DTE
WS-MHST-MBR-SEQ-NBR
SET WGMMMIOS-CONTRACT-HISTORY-DATA
TO TRUE
MOVE WS-CONT-GRP-SUFX-CB TO WGMMMIOS-GROUP-NBR-CB
MOVE WS-CHST-PRC-DTE-9S-COMP TO
WGMMMIOS-CHST-PRC-DTE-9S-COMP
MOVE WS-CHST-PRC-TME-9S-COMP TO
WGMMMIOS-CHST-PRC-TME-9S-COMP
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WGMMCHS-IO-AREA
PERFORM 30350-MOVE-CONTHST-SEGMNT-DATA
WHEN WGMMMIOS-NOT-FOUND
SET WS-CHST-LOOP-END TO TRUE
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE MEMBERSHIP DB CONTRACT HISTORY SEGMENT DATA *
*****************************************************************
30350-MOVE-CONTHST-SEGMNT-DATA.
ADD +1 TO WS-CMBR
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE 'H' TO
WGMWRAPD-WGS-MBR-REC-TYP(WS-MCT,WS-CMBR)
MOVE NM-CHST-TYPE TO
WGMWRAPD-WGS-CONT-TYP(WS-MCT,WS-CMBR)
MOVE NM-CHST-STAT-CD TO
WGMWRAPD-WGS-CONT-STAT-CD(WS-MCT,WS-CMBR)
MOVE NM-CHST-NO-COVERED TO
WGMWRAPD-WGS-CONT-NO-COVERED(WS-MCT,WS-CMBR)
MOVE NM-CHST-EFF-DTE TO
WGMWRAPD-WGS-CONT-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-END-DTE TO
WGMWRAPD-WGS-CONT-END-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-CAN-EFF-DTE TO
WGMWRAPD-WGS-CONT-CAN-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-LST-UPDT-DTE TO
WGMWRAPD-WGS-CONT-LST-UPDT-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-CAN-PROC-DTE TO
WGMWRAPD-WGS-CONT-CAN-PROC-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-PAID-TO-DTE TO
WGMWRAPD-WGS-CONT-PAID-TO-DT(WS-MCT,WS-CMBR)
MOVE NM-CHST-CD TO
WGMWRAPD-WGS-CONT-CDE(WS-MCT,WS-CMBR)
PERFORM 30400-GET-MEMBHST-SEGMNT-DATA
UNTIL (WS-MHST-LOOP-END OR
(WS-CMBR >= +15 OR
AP0607 WS-MBR >= +51))
END-IF
IF (WS-INTER-ACTION1)
IF (WGMWRAPD-I-WGS-DATE-OF-SRVC >= NM-CHST-EFF-DTE
AND
WGMWRAPD-I-WGS-DATE-OF-SRVC <= NM-CHST-END-DTE)
ADD +1 TO WS-MCT
SET WS-DOS-CNT-FOUND TO TRUE
MOVE NM-CHST-CD TO WS-CONT-CD
MOVE NM-CHST-TYPE TO
WGMWRAPD-WGS-CONT-TYPE(WS-MCT)
MOVE NM-CHST-STAT-CD TO
WGMWRAPD-WGS-CONT-STATUS-CD(WS-MCT)
MOVE NM-CHST-NO-COVERED TO
WGMWRAPD-WGS-CONT-NO-COVRD(WS-MCT)
MOVE NM-CHST-EFF-DTE TO
WGMWRAPD-WGS-CONT-EFF-DTE(WS-MCT)
MOVE NM-CHST-END-DTE TO
WGMWRAPD-WGS-CONT-END-DTE(WS-MCT)
MOVE NM-CHST-CD TO
WGMWRAPD-WGS-CONT-CODE(WS-MCT)
MOVE NM-CHST-LST-UPDT-DTE
TO
WGMWRAPD-WGS-CONT-LST-UPDT-DTE(WS-MCT)
MOVE NM-CHST-CASE-NBR TO
WGMWRAPD-WGS-CONT-CASE-NO(WS-MCT)
MOVE NM-CHST-CAN-EFF-DTE TO
WGMWRAPD-WGS-CONT-CAN-EFF-DTE(WS-MCT)
MOVE NM-CHST-PAID-TO-DTE TO
WGMWRAPD-WGS-CONT-PAID-TO-DTE(WS-MCT)
MOVE NM-CHST-CAN-PROC-DTE
TO
WGMWRAPD-WGS-CONT-CAN-PROC-DTE(WS-MCT)
PERFORM 30400-GET-MEMBHST-SEGMNT-DATA
UNTIL (WS-MHST-LOOP-END OR
(WS-CMBR >= +15 OR
AP0607 WS-MBR >= +51))
PERFORM 40000-GET-GRP-DATA-EXTRACT
END-IF
END-IF
ADD +1 TO WS-MEDICAL-CNT
CONTINUE
.
EJECT
*****************************************************************
* GET MEMBERSHIP DB MEMBER HISTORY SEGMENT DATA *
*****************************************************************
30400-GET-MEMBHST-SEGMNT-DATA.
INITIALIZE WGMMHST-IO-AREA
WGMMMIOS-MHST-MBR-SEQ-NBR
IF WGMWRAPD-I-WGS-MEM-SEQ-NO > 0
MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO
TO
WGMMMIOS-MHST-MBR-SEQ-NBR
SET WGMMMIOS-GET-UNIQUE-DATA TO TRUE
ELSE
MOVE WS-MHST-MBR-SEQ-NBR TO
WGMMMIOS-MHST-MBR-SEQ-NBR
SET WGMMMIOS-GET-NEXT-GT-DATA
TO TRUE
END-IF
SET WGMMMIOS-MEMBER-HISTORY-DATA TO TRUE
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WGMMHST-IO-AREA
MOVE NM-MHST-MBR-SEQ-NBR
TO WS-PRF-MBR-SEQ-NBR
WS-MHST-MBR-SEQ-NBR
SET WS-SEQ-FOUND TO TRUE
PERFORM 30450-MOVE-MEMBHST-SEGMNT-DATA
WHEN WGMMMIOS-NOT-FOUND
SET WS-MHST-LOOP-END TO TRUE
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE MEMBERSHIP DB MEMBER HISTORY SEGMENT DATA *
*****************************************************************
30450-MOVE-MEMBHST-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-MHST-EFF-DTE TO
WGMWRAPD-WGS-MBR-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-MHST-CAN-EFF-DTE TO
WGMWRAPD-WGS-MBR-CAN-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-MHST-CAN-PROC-DTE TO
WGMWRAPD-WGS-MBR-CAN-PROC-DT(WS-MCT,WS-CMBR)
MOVE NM-MHST-STAT-CD TO
WGMWRAPD-WGS-MBR-STATUS-CD(WS-MCT,WS-CMBR)
MOVE NM-MHST-LST-UPDT-DTE TO
WGMWRAPD-WGS-MBR-LST-UPDT-DT(WS-MCT,WS-CMBR)
END-IF
IF WS-INTER-ACTION1
ADD +1 TO WS-MBR
MOVE NM-MHST-CURR-BEG-DTE
TO
WGMWRAPD-WGS-MBR-CURR-BEG-DTE(WS-MCT,WS-MBR)
MOVE NM-MHST-END-DTE TO
WGMWRAPD-WGS-MBR-END-DTE(WS-MCT,WS-MBR)
MOVE NM-MHST-EFF-DTE TO
WGMWRAPD-WGS-MEMB-EFF-DTE(WS-MCT,WS-MBR)
MOVE NM-MHST-CAN-EFF-DTE TO
WGMWRAPD-WGS-MEMB-CAN-EFF-DTE(WS-MCT,WS-MBR)
MOVE NM-MHST-CAN-PROC-DTE TO
WGMWRAPD-WGS-MEMB-CAN-PROC-DTE(WS-MCT,WS-MBR)
MOVE NM-MHST-STAT-CD TO
WGMWRAPD-WGS-MEMB-STAT-CD(WS-MCT,WS-MBR)
MOVE NM-MHST-LST-UPDT-DTE
TO
WGMWRAPD-WGS-MEMB-LST-UPDT-DTE(WS-MCT,WS-MBR)
PERFORM 61000-GET-PMBR-SEGMNT-DATA
END-IF
IF WGMWRAPD-I-WGS-MEM-SEQ-NO > 0
SET WS-MHST-LOOP-END TO TRUE
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET MEMBERSHIP DB MEMBER NETWORK SEGMENT DATA *
*****************************************************************
30500-GET-MEMBNTK-SEGMNT-DATA.
INITIALIZE WS-MNTK-IN
WGMMMIOS-WGMMNTK-KEY
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WS-MNTK-IN
AP0683 ADD +1 TO WS-MNTK-CNT
AP0683 PERFORM 30540-VALIDATE-PRVDR-DETAILS
AP0683 IF WS-VALID-PRVDR
PERFORM 30550-MOVE-MEMBNTK-SEGMNT-DATA
AP0683 END-IF
WHEN WGMMMIOS-NOT-FOUND
AP0683 SET WS-MNTK-LOOP-END TO TRUE
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* VALIDATE PROVIDER DETAILS FOR NETWORK SEGMENT DATA *
*****************************************************************
AP0683 30540-VALIDATE-PRVDR-DETAILS.
AP0683
AP0683 SET WS-INVALID-PRVDR TO TRUE
AP0683
AP0683 EVALUATE TRUE
AP0683 WHEN (WS-PCP-STRT AND WS-PCP-END)
AP0683 IF (WGMWRAPD-I-WGS-PCP-STRT-DTE >=
AP0683 NM-NTWK-SPRV-EFF-DT AND
AP0683 WGMWRAPD-I-WGS-PCP-END-DTE <=
AP0683 NM-NTWK-SPRV-END-DT)
AP0683 SET WS-VALID-PRVDR TO TRUE
AP0683 END-IF
AP0683 WHEN WS-DOS-PCP
AP0683 IF (WGMWRAPD-I-WGS-DT-OF-SRVC-PCP >=
AP0683 NM-NTWK-SPRV-EFF-DT AND
AP0683 WGMWRAPD-I-WGS-DT-OF-SRVC-PCP <=
AP0683 NM-NTWK-SPRV-END-DT)
AP0683 SET WS-VALID-PRVDR TO TRUE
AP0683 END-IF
AP0683 WHEN OTHER
AP0683 SET WS-VALID-PRVDR TO TRUE
AP0683 END-EVALUATE.
AP0683
AP0683 CONTINUE
AP0683 .
AP0683 EJECT
AP0683
*****************************************************************
* POPULATE MEMBERSHIP DB MEMBER NETWORK SEGMENT DATA *
*****************************************************************
30550-MOVE-MEMBNTK-SEGMNT-DATA.
ADD +1 TO WS-MNTK
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP0683 WS-INTER-ACTION4 OR
AP0683 WS-INTER-ACTION6)
AP0683 MOVE NM-NTWK-SPRV-TYPE TO
AP0683 WGMWRAPD-WGS-SPRV-TYPE(WS-MCT,WS-MNTK)
AP0683 MOVE NM-NTWK-HOSTPCP-IND TO
AP0683 WGMWRAPD-WGS-HOSTPCP-IND(WS-MCT,WS-MNTK)
AP0683 MOVE NM-NTWK-ID-PRIMARY TO
AP0683 WGMWRAPD-WGS-ID-PRIMARY(WS-MCT,WS-MNTK)
MOVE NM-NTWK-SPRV-EFF-DT TO
AP0683 WGMWRAPD-WGS-SPRV-EFF-DT(WS-MCT,WS-MNTK)
MOVE NM-NTWK-SPRV-END-DT TO
AP0683 WGMWRAPD-WGS-SPRV-END-DT(WS-MCT,WS-MNTK)
MOVE NM-NTWK-SPRV-TRNS-RSN TO
AP0683 WGMWRAPD-WGS-SPRV-TRNS-RSN(WS-MCT,WS-MNTK)
MOVE NM-NTWK-SELECTED-PROVIDER
TO
AP0683 WGMWRAPD-WGS-SELECTED-PROVIDER(WS-MCT,WS-MNTK)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET GROUP DB ROOT SEGMENT DATA *
*****************************************************************
40000-GET-GRP-DATA-EXTRACT.
INITIALIZE WGMGRIOS-IO-AREA
WS-GIND-LOOP-CNT
WS-GRP-GIND-TYPE
WS-GIND
WS-GADR-COUNT
EVALUATE TRUE
WHEN WGMGRIOS-OK
MOVE WGMGRIOS-IO-AREA TO WS-GRP-ROOT
SB0405 IF WS-INTER-ACTION7
SB0405 MOVE GS-PAID-TO-DT-X
SB0405 TO
SB0405 WGMWRAPD-WGS-BNC-PRE-TO-DTE
SB0405 MOVE GS-PRODUCT-LINE-CD
SB0405 TO
SB0405 WS-CONT-PRODUCT-LINE
SB0405 ELSE
PERFORM 40050-MOVE-GRP-SEGMNT-DATA
SB0405 END-IF
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
PERFORM 40075-MOVE-GNAT-SEGMNT-DATA
END-IF
SB0405 IF WS-INTER-ACTION7
SB0405 PERFORM 40100-GET-GCNT-SEGMNT-DATA
SB0405 ELSE
PERFORM 40100-GET-GCNT-SEGMNT-DATA
PERFORM 40200-GET-GADR-SEGMNT-DATA
PERFORM 40300-GET-GBLS-SEGMNT-DATA
SB0405 END-IF
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
PERFORM 40400-GET-GIND-SEGMNT-DATA
UNTIL WS-GIND-LOOP-END
END-IF
WHEN WGMGRIOS-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '10' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'GROUP ROOT DATA NOT FOUND'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMGRPDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
WHEN OTHER
PERFORM 93000-GRP-DB-ERROR
END-EVALUATE
.
EJECT
*****************************************************************
* POPULATE GROUP DB ROOT SEGMENT DATA *
*****************************************************************
40050-MOVE-GRP-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE GS-GROUP-SEQUENCE-CB TO
WGMWRAPD-WGS-GRP-NO(WS-MCT)
MOVE GS-GROUP-NAME TO
WGMWRAPD-WGS-GRP-NAME(WS-MCT)
MOVE GS-INDBIL-IND TO
WGMWRAPD-WGS-GRP-BILL-IND(WS-MCT)
MOVE GS-LOCATION-LOB-CD TO
WGMWRAPD-WGS-GRP-LOCATION-LOB(WS-MCT)
MOVE GS-LOCATION-STATE-CD TO
WGMWRAPD-WGS-GRP-LOC-CD(WS-MCT)
MOVE GS-WK-LOCATION TO
WGMWRAPD-WGS-GRP-EMP-LOC-CD(WS-MCT)
MOVE GS-PRODUCT-LINE-CD TO
WGMWRAPD-WGS-PRDT-LINE-CD(WS-MCT)
MOVE GS-BX-DUES-CONTACT TO
WGMWRAPD-WGS-GRP-DUES-CONTACT(WS-MCT)
MOVE GS-SUSP-GRACE-DAYS TO
WGMWRAPD-WGS-GRP-GRC-DAYS(WS-MCT)
KP9218 MOVE GS-CLM-GRACE-DAYS TO
KP9218 WGMWRAPD-WGS-CLM-GRC-DAYS(WS-MCT)
MOVE GS-SUSP-GRACE-CD TO
WGMWRAPD-WGS-GRP-SUSP-GRC-CD(WS-MCT)
AP0683 MOVE GS-RERATE-MO TO
AP0683 WGMWRAPD-WGS-GRP-RERATE-MO(WS-MCT)
AP0683 MOVE GS-CLAIMS-PROCESS-TYP-CD
AP0683 TO
AP0683 WGMWRAPD-WGS-GRP-PRCS-TYP-CD(WS-MCT)
ELSE
MOVE GS-GROUP-SEQUENCE-CB TO
WGMWRAPD-WGS-GRP-NUM(WS-MCT)
MOVE GS-GROUP-NAME TO
WGMWRAPD-WGS-GRP-NAM(WS-MCT)
MOVE GS-LOCATION-LOB-CD TO
WGMWRAPD-WGS-GRP-LOC-LOB-CD(WS-MCT)
MOVE GS-BX-DUES-CONTACT TO
WGMWRAPD-WGS-GRP-DUES-CONTCT(WS-MCT)
MOVE GS-SUSP-GRACE-DAYS TO
WGMWRAPD-WGS-GRP-GRC-DAY(WS-MCT)
KP9218 MOVE GS-CLM-GRACE-DAYS TO
KP9218 WGMWRAPD-WGS-CLM-GRC-DAY(WS-MCT)
MOVE GS-SUSP-GRACE-CD TO
WGMWRAPD-WGS-GRP-SUSP-GRCE-CD(WS-MCT)
MOVE GS-COB-ADMIN-CD TO
WGMWRAPD-WGS-GRP-COB-ADMN-CD(WS-MCT)
MOVE GS-TYPE-BILL-CD TO
WGMWRAPD-WGS-GRP-BILL(WS-MCT)
MOVE GS-FUNDING-ARRANGE-CD TO
WGMWRAPD-WGS-FUND-ARNG-CD(WS-MCT)
AP0683 MOVE GS-CLAIMS-PROCESS-TYP-CD
AP0683 TO
AP0683 WGMWRAPD-WGS-GRP-PRCS-TYP-CDE(WS-MCT)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* POPULATE GROUP DB GNAT SEGMENT DATA *
*****************************************************************
40075-MOVE-GNAT-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE GS-NPC-ITS-ALPHA-PREFIX
TO
WGMWRAPD-WGS-ALPHA-PRFX-CD(WS-MCT)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET GROUP DB CONTRACT SEGMENT DATA *
*****************************************************************
40100-GET-GCNT-SEGMNT-DATA.
*****************************************************************
* POPULATE GROUP DB CONTRACT SEGMENT DATA *
*****************************************************************
40150-MOVE-GCNT-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE GS-CONTRACT-EFF-DT-X TO
WGMWRAPD-WGS-ORIG-EFF-DT(WS-MCT)
MOVE GS-ALT-NET-IND TO
WGMWRAPD-WGS-GRP-ALT-NET-IND(WS-MCT)
MOVE GS-COMP-SIZE-CAT TO
WGMWRAPD-WGS-GRP-COMP-SZE-CAT(WS-MCT)
MOVE GS-PAID-TO-DT-X TO
WGMWRAPD-WGS-GRP-PRE-TO-DTE(WS-MCT)
ELSE
MOVE GS-ALT-NET-IND TO
WGMWRAPD-WGS-GRP-ALT-NET(WS-MCT)
MOVE GS-COMP-SIZE-CAT TO
WGMWRAPD-WGS-GRP-COMP-SIZE-CAT(WS-MCT)
MOVE GS-C-RATE-MET-CD TO
WGMWRAPD-WGS-RATE-MET-CD(WS-MCT)
MOVE GS-PAID-TO-DT-X TO
WGMWRAPD-WGS-CONT-PRE-TO-DTE(WS-MCT)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET GROUP DB ADDRESS SEGMENT DATA *
*****************************************************************
40200-GET-GADR-SEGMNT-DATA.
INITIALIZE WGMGADDR
WGMGRIOS-IO-AREA
SET WGMGRIOS-GET-FIRST-DATA
WGMGRIOS-ADDRESS-DATA
WGMGRIOS-OK TO TRUE
PERFORM 82000-CALL-WGMGRIOS
EVALUATE TRUE
WHEN WGMGRIOS-OK
MOVE WGMGRIOS-IO-AREA TO WGMGADDR
PERFORM 40250-MOVE-GADR-SEGMNT-DATA
WHEN WGMGRIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 93000-GRP-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE GROUP DB ADDRESS SEGMENT DATA *
*****************************************************************
40250-MOVE-GADR-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE GS-ADR-CDE TO
WGMWRAPD-WGS-GRP-ADR-CDE(WS-MCT)
MOVE GS-ADR-STREET TO
WGMWRAPD-WGS-GRP-ADR-STREET(WS-MCT)
MOVE GS-ADR-STREET-2 TO
WGMWRAPD-WGS-GRP-ADR-STREET2(WS-MCT)
MOVE GS-ADR-CITY TO
WGMWRAPD-WGS-GRP-ADR-CITY(WS-MCT)
MOVE GS-ADR-STATE TO
WGMWRAPD-WGS-GRP-ADR-STATE(WS-MCT)
MOVE GS-ADR-ZIP-5 TO
WGMWRAPD-WGS-GRP-ADR-ZIP(WS-MCT)
MOVE GS-ADR-COUNTY-CDE TO
WGMWRAPD-WGS-GRP-ADR-COUNTY(WS-MCT)
MOVE GS-ADR-COUNTRY-CDE TO
WGMWRAPD-WGS-GRP-ADR-CNTRY-CD(WS-MCT)
ELSE
MOVE GS-ADR-CDE TO
WGMWRAPD-WGS-GRP-ADDR-CDE(WS-MCT)
MOVE GS-ADR-STREET TO
WGMWRAPD-WGS-GRP-ADDR-STREET(WS-MCT)
MOVE GS-ADR-STREET-2 TO
WGMWRAPD-WGS-GRP-ADDR-STREET2(WS-MCT)
MOVE GS-ADR-CITY TO
WGMWRAPD-WGS-GRP-ADDR-CITY(WS-MCT)
MOVE GS-ADR-STATE TO
WGMWRAPD-WGS-GRP-ADDR-STATE(WS-MCT)
MOVE GS-ADR-ZIP-5 TO
WGMWRAPD-WGS-GRP-ADDR-ZIP(WS-MCT)
MOVE GS-ADR-COUNTY-CDE TO
WGMWRAPD-WGS-GRP-ADDR-COUNTY(WS-MCT)
MOVE GS-ADR-COUNTRY-CDE TO
WGMWRAPD-WGS-GRP-ADDR-CNTRY-CD(WS-MCT)
END-IF
ADD +1 TO WS-GADR-COUNT
CONTINUE
.
EJECT
*****************************************************************
* GET GROUP DB GBLS SEGMENT DATA *
*****************************************************************
40300-GET-GBLS-SEGMNT-DATA.
INITIALIZE WGMGRIOS-IO-AREA
WS-WGMGRPDB-BILSRC
SET WGMGRIOS-GET-FIRST-DATA
WGMGRIOS-BILL-SRCE-DATA
WGMGRIOS-OK TO TRUE
PERFORM 82000-CALL-WGMGRIOS
EVALUATE TRUE
WHEN WGMGRIOS-OK
MOVE WGMGRIOS-IO-AREA TO WS-WGMGRPDB-BILSRC
SB0405 IF WGMWRAPD-BILLING-DATA
SB0405 MOVE BSRC-BILL-TO-DTE TO
SB0405 WGMWRAPD-WGS-BNC-BILL-TO-DTE
SB0405 ELSE
PERFORM 40350-MOVE-GBLS-SEGMNT-DATA
SB0405 END-IF
WHEN WGMGRIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 93000-GRP-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE GROUP DB GBLS SEGMENT DATA *
*****************************************************************
40350-MOVE-GBLS-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE BSRC-BILL-STRT-DTE TO
WGMWRAPD-WGS-GRP-BILL-STRT-DT(WS-MCT)
MOVE BSRC-BILL-TO-DTE TO
WGMWRAPD-WGS-GRP-BILL-TO-DT(WS-MCT)
MOVE BSRC-BILL-SRCE-CDE TO
WGMWRAPD-WGS-BILL-SRC-CD(WS-MCT)
ELSE
MOVE BSRC-BILL-STRT-DTE TO
WGMWRAPD-WGS-BILL-STRT-DTE(WS-MCT)
MOVE BSRC-BILL-TO-DTE TO
WGMWRAPD-WGS-BILL-TO-DTE(WS-MCT)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET GROUP DB GIND SEGMENT DATA *
*****************************************************************
40400-GET-GIND-SEGMNT-DATA.
INITIALIZE WS-WGMGIND-SEG
WGMGRIOS-IO-AREA
PERFORM 82000-CALL-WGMGRIOS
EVALUATE TRUE
WHEN WGMGRIOS-OK
MOVE WGMGRIOS-IO-AREA
TO WS-WGMGIND-SEG
ADD +1 TO WS-GIND-LOOP-CNT
PERFORM 40450-MOVE-GIND-SEGMNT-DATA
IF WS-GIND-LOOP-CNT = 10
SET WS-GIND-LOOP-END
TO TRUE
END-IF
WHEN WGMGRIOS-NOT-FOUND
SET WS-GIND-LOOP-END TO TRUE
WHEN OTHER
PERFORM 93000-GRP-DB-ERROR
END-EVALUATE
.
EJECT
*****************************************************************
* POPULATE GROUP DB GIND SEGMENT DATA *
*****************************************************************
40450-MOVE-GIND-SEGMNT-DATA.
ADD +1 TO WS-GIND
MOVE GS-IND-TYPE TO WS-GRP-GIND-TYPE
IF WS-GRP-GIND-TYPE = 'WCE'
MOVE GS-WCE-EXMPT-TYPE TO
WGMWRAPD-WGS-XMPT-TYPE(WS-MCT,WS-GIND)
IF GS-WCE-EXMPT-EFF-DTE IS NUMERIC
MOVE GS-WCE-EXMPT-EFF-DTE TO
WGMWRAPD-WGS-XMPT-EFF-DTE(WS-MCT,WS-GIND)
END-IF
IF GS-WCE-EXMPT-END-DTE IS NUMERIC
MOVE GS-WCE-EXMPT-END-DTE TO
WGMWRAPD-WGS-XMPT-END-DTE(WS-MCT,WS-GIND)
END-IF
END-IF
CONTINUE
.
EJECT
SB0405*****************************************************************
SB0405* POPULATE BILL ENTITY BILL SUMMARY INVOICE DETAILS *
SB0405*****************************************************************
SB0405 40500-MOVE-BENT-SEGMNT-DATA.
SB0405
SB0405* TO FETCH THE DATA FROM BILL ENTITY DATABASE
SB0405 INITIALIZE GNBENIOS-SEGMENT-KEYS
SB0405 GNBENIOS-IO-AREA
SB0405 BENT-PREMIUM-BILL
SB0405
SB0405 SET GNBENIOS-BILL-ENTITY
SB0405 GNBENIOS-GET-UNIQUE
SB0405 GNBENIOS-OK TO TRUE
SB0405 SET WS-MORE-BILL-ENTITY TO TRUE
SB0405
SB0405 MOVE BSRC-BILL-ENTITY-KEY TO GNBENIOS-GNMBENT-KEY
SB0405 MOVE SPACES TO GNMBSMS1-STAT-CD
SB0405 PERFORM 40600-GET-BENT-SOURCE
SB0405
SB0405* TO FETCH THE DATA FROM BILL SUMMARY DATABASE
SB0405 INITIALIZE GNBBSIOS-SEGMENT-KEYS
SB0405 GNBBSIOS-IO-AREA
SB0405 BILL-TOTAL-SEG
SB0405
SB0405 SET GNBBSIOS-BILL-TOT TO TRUE
SB0405 SET GNBBSIOS-GET-1ST-BOOL-1S
SB0405 TO TRUE
SB0405 SET WS-MORE-INVOICES TO TRUE
SB0405 SET GNBBSIOS-OK TO TRUE
SB0405
SB0405 MOVE BSRC-BILL-ENTITY-KEY TO GNBBSIOS-BOOL-BILENT1-1S
SB0405 GNBBSIOS-BOOL-BILENT2-1S
SB0405 MOVE ZEROS TO GNBBSIOS-BOOL-CREA-TM1-1S
SB0405 GNBBSIOS-BOOL-CREA-TM2-1S
SB0405 GNBBSIOS-BOOL-DUE-DTE1-1S
SB0405 GNBBSIOS-BOOL-DUE-DTE2-1S
SB0405 GNBBSIOS-BOOL-CREA-DTE1-1S
SB0405 GNBBSIOS-BOOL-CREA-DTE2-1S
SB0405 MOVE SPACES TO GNMBSMS1-STAT-CD
SB0405 PERFORM 40550-GET-NEXT-INVOICE
SB0405 UNTIL WS-NO-MORE-INVOICES OR (WS-BNC >= 20).
SB0405
SB0405*****************************************************************
SB0405* POPULATE BILL ENTITY BILL SUMMARY INVOICE DETAILS *
SB0405*****************************************************************
SB0405 40550-GET-NEXT-INVOICE.
SB0405 PERFORM 85000-SET-BILL-SUM-BOOL-1S.
SB0405 EVALUATE TRUE
SB0405 WHEN GNBBSIOS-OK
SB0405 MOVE GNBBSIOS-IO-AREA TO BILL-TOTAL-SEG
SB0405 IF (BTOT-VOIDED OR
SB0405 (BTOT-INVCE-NBR(10:1) = 'S'))
SB0405 CONTINUE
SB0405 ELSE
SB0405 ADD +1 TO WS-BNC
SB0405 MOVE BTOT-INVCE-NBR TO
SB0405 WGMWRAPD-BTOT-INVCE-NBR(WS-BNC)
SB0405 MOVE BTOT-DUE-DTE TO
SB0405 WGMWRAPD-BTOT-DUE-DTE(WS-BNC)
SB0405 MOVE BTOT-BENT-BILL-SRCE
SB0405 TO
SB0405 WGMWRAPD-BTOT-BENT-BILL-SRCE(WS-BNC)
SB0405 MOVE BTOT-BILL-STATUS
SB0405 TO
SB0405 WGMWRAPD-WGS-BTOT-BIL-STATUS(WS-BNC)
SB0405 MOVE BTOT-CREA-DTE TO
SB0405 WGMWRAPD-BTOT-CREA-DTE(WS-BNC)
SB0405 MOVE BTOT-BILL-FROM-DTE
SB0405 TO
SB0405 WGMWRAPD-BTOT-BILL-FROM-DTE(WS-BNC)
SB0405 MOVE BTOT-BILL-TO-DTE
SB0405 TO
SB0405 WGMWRAPD-BTOT-BILL-TO-DTE(WS-BNC)
SB0405 END-IF
SB0405 WHEN GNBBSIOS-NOT-FOUND
SB0405 SET WS-NO-MORE-INVOICES
SB0405 TO TRUE
SB0405 IF WS-BNC = ZERO
SB0405 SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
SB0405 MOVE '24' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'BILL SUMMARY REC NOT FOUND FOR GIVEN GRP'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-IF
SB0405 WHEN OTHER
SB0405 SET WS-NO-MORE-INVOICES TO TRUE
SB0405 DISPLAY 'GNBBSIOS-STATUS-CODE: '
SB0405 GNBBSIOS-STATUS-CODE
SB0405 PERFORM 96000-BNC-DB-ERROR
SB0405 END-EVALUATE
SB0405 SET GNBBSIOS-GET-NEXT-BOOL-1S TO TRUE
SB0405 .
SB0405 EJECT
SB0405*****************************************************************
SB0405* POPULATE BILL ENTITY SOURCE FROM GNMBEPDB *
SB0405*****************************************************************
SB0405 40600-GET-BENT-SOURCE.
SB0405 PERFORM 40650-CALL-GNBENIOS.
SB0405 EVALUATE TRUE
SB0405 WHEN GNBENIOS-OK
SB0405 ADD +1 TO WS-BENT
SB0405 MOVE GNBENIOS-IO-AREA TO BILL-ENTITY-SEG
SB0405 MOVE BENT-BILL-SRCE TO
SB0405 WGMWRAPD-BENT-BILL-SRCE(WS-BENT)
SB0405 MOVE BENT-STATUS TO
SB0405 WGMWRAPD-BENT-STATUS(WS-BENT)
SB0405 MOVE BENT-EFF-DTE TO
SB0405 WGMWRAPD-BENT-EFF-DTE(WS-BENT)
SB0405 MOVE BENT-TRMTN-DTE TO
SB0405 WGMWRAPD-BENT-TRMTN-DTE(WS-BENT)
SB0405
SB0405* TO FETCH AFBS IND FROM BILL CONTROL SEGMENT OF BILL ENTITY
SB0405
SB0405 SET GNBENIOS-BILL-CTRL
SB0405 GNBENIOS-GET-FIRST
SB0405 GNBENIOS-OK TO TRUE
SB0405
SB0405 PERFORM 40650-CALL-GNBENIOS
SB0405 EVALUATE TRUE
SB0405 WHEN GNBENIOS-OK
SB0405 MOVE GNBENIOS-IO-AREA
TO BILL-CONTROL-SEG
SB0405 MOVE BCTL-AFBS-IND
TO
SB0405 WGMWRAPD-BCTL-AFBS-IND(WS-BENT)
SB0405 WHEN GNBENIOS-NOT-FOUND
SB0405 MOVE SPACES TO
SB0405 WGMWRAPD-BCTL-AFBS-IND(WS-BENT)
SB0405 WHEN OTHER
SB0405 MOVE SPACES TO
SB0405 WGMWRAPD-BCTL-AFBS-IND(WS-BENT)
SB0405 END-EVALUATE
SB0405 WHEN GNBENIOS-NOT-FOUND
SB0405 SET WS-NO-MORE-BILL-ENTITY
SB0405 TO TRUE
SB0405 IF WS-BENT = ZERO
SB0405 SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
SB0405 MOVE '25' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'NO BILL SOURCE REC FOUND FOR GIVEN GROUP'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-IF
SB0405 WHEN OTHER
SB0405 SET WS-NO-MORE-BILL-ENTITY
SB0405 TO TRUE
SB0405 PERFORM 97000-BNC-DB-ERROR
SB0405 END-EVALUATE
SB0405 SET GNBENIOS-GET-NEXT TO TRUE
SB0405
SB0405 .
SB0405 EJECT
SB0405****************************************************************
SB0405* BILL ENTITY CALL *
SB0405****************************************************************
SB0405 40650-CALL-GNBENIOS.
SB0405
SB0405 COPY GNBENIOP.
SB0405 EJECT
*****************************************************************
* GET CASE DB ROOT SEGMENT DATA *
*****************************************************************
50000-GET-CASE-SEGMENT-DATA.
INITIALIZE WGMCSIOS-IO-AREA
WS-CAS-COUNT
PERFORM 83000-CALL-WGMCSIOS
EVALUATE TRUE
WHEN WGMCSIOS-OK
MOVE WGMCSIOS-IO-AREA
TO WS-CASE-ROOT
PERFORM 50050-MOVE-CASE-SEGMENT-DATA
PERFORM 50100-GET-CADR-SEGMENT-DATA
WHEN WGMCSIOS-NOT-FOUND
IF WS-MEM-SINGLE
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '12' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CASE DATA NOT FOUND'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMCASDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
WHEN OTHER
PERFORM 94000-CASE-DB-ERROR
END-EVALUATE
.
EJECT
*****************************************************************
* POPULATE CASE DB ROOT SEGMENT DATA *
*****************************************************************
50050-MOVE-CASE-SEGMENT-DATA.
MOVE CS-CASE-NBR TO
WGMWRAPD-WGS-CASE-NMBR(WS-MCT)
MOVE CS-CASE-NAM TO
WGMWRAPD-WGS-CS-CASE-NAME(WS-MCT)
MOVE CS-CASE-STAT-COD TO
WGMWRAPD-WGS-CS-CASE-STAT-COD(WS-MCT)
MOVE CS-SALES-REP-CD TO
WGMWRAPD-WGS-CASE-SALES-REP(WS-MCT)
MOVE CS-CASE-CNCL-DAT TO
WGMWRAPD-WGS-CS-CASE-CNCL-DAT(WS-MCT)
MOVE CS-COBRA-ADMIN-SERV TO
WGMWRAPD-WGS-CS-COBRA-ADM-SERV(WS-MCT)
MOVE CS-ERISA-IND TO
WGMWRAPD-WGS-CS-ERISA-IND(WS-MCT)
MOVE CS-LEGAL-ENT TO
WGMWRAPD-WGS-CS-LEGAL-ENT(WS-MCT)
MOVE CS-CASE-MBU-COD TO
WGMWRAPD-WGS-CS-MBU-CD(WS-MCT)
MOVE CS-CONT-ST TO
WGMWRAPD-WGS-CS-CONT-ST(WS-MCT)
KP9218 MOVE CS-IDCARD-PROCESS-TYP TO
KP9218 WGMWRAPD-WGS-CS-IDCRD-PRCS-TYP(WS-MCT)
ADD +1 TO WS-CAS-COUNT.
CONTINUE
.
EJECT
*****************************************************************
* GET CASE DB ADDRESS SEGMENT DATA *
*****************************************************************
50100-GET-CADR-SEGMENT-DATA.
INITIALIZE WGMCSIOS-IO-AREA
WS-CASE-ADR-CODE
WS-CASE-ADR-PROC-DTE
WS-CASE-ADR-PROC-TME
PERFORM 83000-CALL-WGMCSIOS
EVALUATE TRUE
WHEN WGMCSIOS-OK
MOVE WGMCSIOS-IO-AREA
TO WS-CASE-ADR
PERFORM 50150-MOVE-CADR-SEGMENT-DATA
WHEN WGMCSIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 94000-CASE-DB-ERROR
END-EVALUATE
.
EJECT
*****************************************************************
* POPULATE CASE DB ADDRESS SEGMENT DATA *
*****************************************************************
50150-MOVE-CADR-SEGMENT-DATA.
MOVE CS-ADR-STREET1 TO
WGMWRAPD-WGS-CS-ADR-STREET1(WS-MCT)
MOVE CS-ADR-STREET2 TO
WGMWRAPD-WGS-CS-ADR-STREET2(WS-MCT)
MOVE CS-ADR-STREET3 TO
WGMWRAPD-WGS-CS-ADR-STREET3(WS-MCT)
CONTINUE
.
EJECT
*****************************************************************
* GET MEMBERSHIP DB CERT SEGMENT DATA *
*****************************************************************
60000-MEMBER-CRT-CALL.
INITIALIZE WGMMCRT-IO-AREA
PERFORM 72000-CALL-MBRSHP-IO-MODULE
EVALUATE TRUE
WHEN WGMMMIOS-OK
MOVE WGMMMIOS-IO-AREA
TO WGMMCRT-IO-AREA
WHEN WGMMMIOS-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '13' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'MEMBERSHIP DB CERT DATA NOT FOUND'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMMBRDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
WHEN OTHER
PERFORM 92000-MEMB-DB-ERROR
END-EVALUATE
.
EJECT
*****************************************************************
* GET PROFILE DB MEMBER SEGMENT DATA *
*****************************************************************
61000-GET-PMBR-SEGMNT-DATA.
INITIALIZE WS-MEMBER-PROFILE-IN
WS-PRF-MBR-CD
WS-PRF-MHS-PRC-DTE-9S-COMP
WS-PRF-MHS-PRC-TME-9S-COMP
WS-PHCT
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA
TO WS-MEMBER-PROFILE-IN
MOVE NM-PRF-MBR-CD TO WS-PRF-MBR-CD
PERFORM 61050-MOVE-PMBR-SEGMNT-DATA
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
PERFORM 61200-GET-PADR-SEGMNT-DATA
END-IF
PERFORM 61350-GET-POTHCERT-SEGMNT-DATA
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
PERFORM 61450-GET-PMHS-SEGMNT-DATA
UNTIL WS-PMHS-LOOP-END
END-IF
WHEN WGMPFIOS-NOT-FOUND
IF WS-PRF-SINGLE
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '14' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PROFILE DB MEMBER DATA NOT FOUND'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMGRPDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE PROFILE DB MEMBER SEGMENT DATA *
*****************************************************************
61050-MOVE-PMBR-SEGMNT-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-PRF-MBR-SEQ-NBR TO WGMWRAPD-WGS-MBR-SEQ-NBR
MOVE NM-PRF-MBR-CD TO WGMWRAPD-WGS-MBR-MBR-CD
MOVE NM-PRF-MBR-RELSHP-CDE TO
WGMWRAPD-WGS-MEMB-RELSHP-CDE
MOVE NM-PRF-MBR-FIRST-NAME TO WGMWRAPD-WGS-MBR-FST-NAME
MOVE NM-PRF-MBR-MIDDLE-INIT TO WGMWRAPD-WGS-MBR-MDL-NAME
MOVE NM-PRF-MBR-LST-NAME TO WGMWRAPD-WGS-MBR-LST-NAME
MOVE NM-PRF-MBR-BIRTH-DT TO
WGMWRAPD-WGS-MBR-BIRTHDATE
MOVE NM-PRF-MBR-SSN TO WGMWRAPD-WGS-MBR-SSN
MOVE NM-PRF-MBR-SEX-CDE TO WGMWRAPD-WGS-MBR-GENDR
ELSE
MOVE NM-PRF-MBR-SEQ-NBR TO
WGMWRAPD-WGS-MEMB-SEQ-NBR(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-CD TO
WGMWRAPD-WGS-MEMB-CD(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-RELSHP-CDE TO
WGMWRAPD-WGS-MEMB-RELSHP-CD(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-SSN TO
WGMWRAPD-WGS-MEMB-SSN(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-FIRST-NAME TO
WGMWRAPD-WGS-MEMB-FST-NAME(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-MIDDLE-INIT TO
WGMWRAPD-WGS-MEMB-MDL-NAME(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-LST-NAME TO
WGMWRAPD-WGS-MEMB-LST-NAME(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-BIRTH-DT TO
WGMWRAPD-WGS-MEMB-BIRTHDATE(WS-MCT,WS-MBR)
MOVE NM-PRF-MBR-SEX-CDE TO
WGMWRAPD-WGS-MEMB-GENDR(WS-MCT,WS-MBR)
END-IF.
.
EJECT
*****************************************************************
* GET PROFILE DB MEMBER ADDRESS SEGMENT DATA *
* BOTH RESIDENCE ADDRESS AND BILLING ADDRESS *
*****************************************************************
61200-GET-PADR-SEGMNT-DATA.
INITIALIZE SUBSCRIBER-ADR-RECORD
WGMPFIOS-PROFILE-ADR-KEY
WGMPFIOS-MBR-SEQ-NBR
WGMPFIOS-CERT
SET WGMPFIOS-PROFILE-ADDRESS-DATA
TO TRUE
SET WGMPFIOS-GET-FIRST TO TRUE
SET WGMPFIOS-ADR-CDE-RESIDENCE TO TRUE
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA
TO SUBSCRIBER-ADR-RECORD
PERFORM 61250-MOVE-PRES-ADDR-SEG-DATA
SET WS-RES-ADR-FOUND TO TRUE
WHEN WGMPFIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE
SET WGMPFIOS-ADR-CDE-BILLING TO TRUE
MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA
TO SUBSCRIBER-ADR-RECORD
PERFORM 61300-MOVE-PBIL-ADDR-SEG-DATA
WHEN WGMPFIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE
CONTINUE
.
EJECT
*****************************************************************
* POPULATE PROFILE DB MEMBER RESIDENCE ADDRESS SEGMENT DATA *
*****************************************************************
61250-MOVE-PRES-ADDR-SEG-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-PRF-ADR-CDE TO WGMWRAPD-WGS-RES-ADR-CDE
MOVE NM-PRF-ADR-STREET1 TO
WGMWRAPD-WGS-RES-ADR-STREET1
MOVE NM-PRF-ADR-STREET2 TO
WGMWRAPD-WGS-RES-ADR-STREET2
MOVE NM-PRF-ADR-IN-CARE-OF TO
WGMWRAPD-WGS-RES-ADR-IN-CAREOF
MOVE NM-PRF-ADR-CITY TO
WGMWRAPD-WGS-RES-ADR-CITY
MOVE NM-PRF-ADR-STATE TO
WGMWRAPD-WGS-RES-ADR-STATE
MOVE NM-PRF-ADR-ZIP-5 TO
WGMWRAPD-WGS-RES-ADR-ZIP
MOVE NM-PRF-ADR-COUNTY-CDE TO
WGMWRAPD-WGS-RES-ADR-COUNTY
MOVE NM-PRF-ADR-COUNTRY-CDE TO
WGMWRAPD-WGS-RES-ADR-CNTRY-CD
MOVE NM-PRF-ADR-PHONE TO
WGMWRAPD-WGS-RES-ADR-PHONE
END-IF
CONTINUE
.
EJECT
*****************************************************************
* POPULATE PROFILE DB MEMBER BILLING ADDRESS SEGMENT DATA *
*****************************************************************
61300-MOVE-PBIL-ADDR-SEG-DATA.
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-PRF-ADR-CDE TO WGMWRAPD-WGS-BIL-ADR-CDE
MOVE NM-PRF-ADR-STREET1 TO
WGMWRAPD-WGS-BIL-ADR-STREET1
MOVE NM-PRF-ADR-STREET2 TO
WGMWRAPD-WGS-BIL-ADR-STREET2
MOVE NM-PRF-ADR-IN-CARE-OF TO
WGMWRAPD-WGS-BIL-ADR-IN-CAREOF
MOVE NM-PRF-ADR-CITY TO
WGMWRAPD-WGS-BIL-ADR-CITY
MOVE NM-PRF-ADR-STATE TO
WGMWRAPD-WGS-BIL-ADR-STATE
MOVE NM-PRF-ADR-ZIP-5 TO
WGMWRAPD-WGS-BIL-ADR-ZIP
MOVE NM-PRF-ADR-COUNTY-CDE TO
WGMWRAPD-WGS-BIL-ADR-COUNTY
MOVE NM-PRF-ADR-COUNTRY-CDE TO
WGMWRAPD-WGS-BIL-ADR-CNTRY-CD
MOVE NM-PRF-ADR-PHONE TO
WGMWRAPD-WGS-BIL-ADR-PHONE
END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET PROFILE DB OTHER CERT SEGMENT DATA *
*****************************************************************
61350-GET-POTHCERT-SEGMNT-DATA.
INITIALIZE WS-OTH-CERT-IN
WGMPFIOS-OTHER-CERT-KEY
WGMPFIOS-MBR-SEQ-NBR
WGMPFIOS-CERT
CONTINUE
.
EJECT
*****************************************************************
* MOVE PROFILE DB OTHER CERT SEGMENT DATA *
*****************************************************************
61400-MOVE-POTHCRT-SEGMNT-DATA.
IF (WS-INTER-ACTION5 OR
WS-INTER-ACTION1)
MOVE NM-OTH-MIG-SEQ-NBR TO
WGMWRAPD-WGS-OTH-MIG-SEQ-NBR(WS-MCT,WS-MBR)
SP9218 ELSE
SP9218 MOVE NM-OTH-MIG-SEQ-NBR TO
SP9218 WGMWRAPD-WGS-OTH-MIG-SEQ-NO
SP9218 END-IF
CONTINUE
.
EJECT
*****************************************************************
* GET PROFILE DB MEMBER HISTORY SEGMENT DATA *
*****************************************************************
61450-GET-PMHS-SEGMNT-DATA.
INITIALIZE WS-PMHS-IN
WGMPFIOS-PROFILE-MHS-KEY
WGMPFIOS-MBR-SEQ-NBR
WGMPFIOS-CERT
CONTINUE
.
EJECT
*****************************************************************
* MOVE PROFILE DB MEMBER HISTORY SEGMENT DATA *
*****************************************************************
61500-MOVE-PMHS-SEGMNT-DATA.
MOVE NM-PRF-MHS-PRC-DTE-9S-COMP TO
WS-PRF-MHS-PRC-DTE-9S-COMP
MOVE NM-PRF-MHS-PRC-TME-9S-COMP TO
WS-PRF-MHS-PRC-TME-9S-COMP
ADD +1 TO WS-PHCT
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-PRF-MHS-CD TO
WGMWRAPD-WGS-MHST-MEM-CD(WS-PHCT)
MOVE NM-PRF-MHS-RELSHP-CDE TO
WGMWRAPD-WGS-MHST-RELSHP-CD(WS-PHCT)
MOVE NM-PRF-MHS-BIRTH-DT TO
WGMWRAPD-WGS-MHST-BIRTHDATE(WS-PHCT)
AP9218 MOVE NM-PRF-MHS-SEX-CDE TO
WGMWRAPD-WGS-MHST-GENDR(WS-PHCT)
MOVE NM-PRF-MHS-LST-UPDT-DTE TO
WGMWRAPD-WGS-MHST-LST-UPDT-DTE(WS-PHCT)
END-IF
CONTINUE
.
EJECT
*****************************************************************
* CHECK WHETHER THE GROUP IS MEDICAL OR NOT *
*****************************************************************
62000-CHECK-GRP-IS-MEDICAL.
INITIALIZE WGMPRODT-TBL-IO-AREA
WGMTBLSS-STATUS-CODE
SET WGMTBLSS-READ-ONLY
WGMTBLSS-GET-TABLE
WGMTBLSS-BATCH TO TRUE
COPY WGMPRODP.
EJECT
EVALUATE TRUE
WHEN WGMTBLSS-STATUS-OK
IF WGMPRODT-COVERAGE-TYPE = 'MEDICAL'
SET WS-MEDICAL TO TRUE
END-IF
WHEN WGMTBLSS-NOT-FOUND
IF WS-CNT-SINGLE
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '15' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE
'PROD CD IS NOT PRESENT IN WGMPRODT TABLEBASE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMPRODT: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
PERFORM 99000-END-PARA
END-IF
WHEN OTHER
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '16' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'ERROR WHILE CALLING WGMPRODT TABLE BASE'
TO WGMWRAPD-WGS-ERROR-MSG1
PERFORM 99000-END-PARA
END-EVALUATE.
CONTINUE
.
EJECT
AP9218
AP9218*****************************************************************
AP9218* CALL GROUP DB TO IDENTIFY GROUP TYPE _ ACES OR CS90 *
AP9218*****************************************************************
AP9218 63000-CHECK-GRP-TYPE.
AP9218
AP9218 INITIALIZE WGMGRIOS-IO-AREA
AP9218 WS-LEGACY-SWITCH
AP9218
AP9218 IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES
AP9218 MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
AP9218 TO WGMGRIOS-GROUP-NBR-CB
AP9218 ELSE
AP9218 MOVE WS-CONT-GRP-SUFX-CB TO WGMGRIOS-GROUP-NBR-CB
AP9218 END-IF
AP9218
AP9218 SET WGMGRIOS-OK TO TRUE
AP9218 SET WGMGRIOS-GROUP-DATA TO TRUE
AP9218 SET WGMGRIOS-GET-UNIQUE-DATA TO TRUE
AP9218
AP9218 PERFORM 82000-CALL-WGMGRIOS
AP9218
AP9218 EVALUATE TRUE
AP9218 WHEN WGMGRIOS-OK
AP9218 MOVE WGMGRIOS-IO-AREA TO WS-GRP-ROOT
AP9218
AP9218 IF (GS-CLAIMS-PROCESS-TYP-CD = '17'
AP9218 AND WGMWRAPD-CS90-SYS)
AP9218 ADD +1 TO WS-GRP-CNT
AP9218 SET WS-LEGACY TO TRUE
AP9218 END-IF
AP9218 IF (GS-CLAIMS-PROCESS-TYP-CD = '18'
AP9218 AND WGMWRAPD-ACES-SYS)
AP9218 ADD +1 TO WS-GRP-CNT
AP9218 SET WS-LEGACY TO TRUE
AP9218 END-IF
AP9218 WHEN WGMGRIOS-NOT-FOUND
AP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
AP9218 TO TRUE
AP9218 MOVE '17' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'GROUP ROOT DATA NOT FOUND'
AP9218 TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMGRPDB: ' TO WS-DB-NAME
AP9218 MOVE 'GE' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2
AP9218 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218 PERFORM 99000-END-PARA
AP9218 WHEN OTHER
AP9218 PERFORM 93000-GRP-DB-ERROR
AP9218 END-EVALUATE
AP9218
AP9218 .
AP9218 EJECT
*****************************************************************
* CALL PROFILE DB I/O MODULE WITH REQUIRED INPUTS *
*****************************************************************
71000-CALL-PRF-IO-MODULE.
INITIALIZE WGMPFIOS-IO-AREA
PERFORM 80000-CALL-WGMPFIOS
CONTINUE
.
EJECT
*****************************************************************
* CALL MEMBERSHIP DB I/O MODULE WITH REQUIRED INPUTS
*****************************************************************
72000-CALL-MBRSHP-IO-MODULE.
INITIALIZE WGMMMIOS-CERT
WGMMMIOS-IO-AREA
PERFORM 81000-CALL-WGMMMIOS
CONTINUE
.
EJECT
KP9218*****************************************************************
KP9218* CALL LIMITED LIABILITY I/O MODULE WITH REQUIRED INPUTS
KP9218*****************************************************************
KP9218 73000-GET-LL-DATA-EXTRACT.
KP9218
KP9218 INITIALIZE WS-LLTYP-EFF-DTE
KP9218 WS-LCT
KP9218 WS-LLTYP-TYPE
KP9218 WS-LLTYP-SEQ-NBR
KP9218
KP9218 SET WS-LLTYP-NOT-EOS TO TRUE
KP9218 SET WS-LLTYP-NOT-FND TO TRUE
KP9218
KP9218 MOVE WS-CERT-NO TO WGMLLIOS-CERT
KP9218 MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO TO WGMLLIOS-LLIB-MBR-SEQ-NBR
KP9218
KP9218 PERFORM 73100-GET-LL-LIB-DATA
KP9218
KP9218 PERFORM 73200-GET-LLTYP-DATA
KP9218 UNTIL WS-LLTYP-EOS
KP9218
KP9218 IF (WGMWRAPD-I-WGS-LL-TYPE > SPACES AND
KP9218 WS-LLTYP-NOT-FND)
KP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
KP9218 TO TRUE
AP0607 MOVE '27' TO WGMWRAPD-WGS-RETURN-CODE2
KP9218 MOVE 'LLTYP DATA NOT FOUND FOR THE GIVEN INPUT'
KP9218 TO WGMWRAPD-WGS-ERROR-MSG1
KP9218 MOVE 'WGMLLIDB: ' TO WS-DB-NAME
KP9218 MOVE 'GE' TO WS-IMS-ERR-CD
KP9218 MOVE WS-WGS-ERROR-MSG2
KP9218 TO WGMWRAPD-WGS-ERROR-MSG2
KP9218 PERFORM 99000-END-PARA
KP9218 END-IF
KP9218
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
KP9218*****************************************************************
KP9218* CALL LIMITED LIABILITY I/O MODULE WITH REQUIRED INPUTS
KP9218*****************************************************************
KP9218 73100-GET-LL-LIB-DATA.
KP9218
KP9218 INITIALIZE WGMLLIOS-IO-AREA
KP9218
KP9218 SET WGMLLIOS-LLIB-DATA TO TRUE
KP9218 SET WGMLLIOS-GET-UNIQUE-DATA TO TRUE
KP9218
KP9218 PERFORM 84000-CALL-WGMLLIOS
KP9218
KP9218 EVALUATE TRUE
KP9218 WHEN WGMLLIOS-OK
KP9218 MOVE WGMLLIOS-IO-AREA TO WGMLLIB-IO-AREA
KP9218 MOVE WS-CERT-NO TO WGMWRAPD-LL-CERT-NO
KP9218 MOVE LL-LIB-MBR-CDE TO WGMWRAPD-LL-MBR-SEQ-CD
KP9218 MOVE LL-LIB-MBR-SEQ-NBR TO WGMWRAPD-LL-MBR-SEQ-NBR
KP9218 WHEN WGMLLIOS-NOT-FOUND
KP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
KP9218 TO TRUE
KP9218 MOVE '21' TO WGMWRAPD-WGS-RETURN-CODE2
KP9218 MOVE 'LL DATA NOT FOUND FOR THE GIVEN SEQ NUM'
KP9218 TO WGMWRAPD-WGS-ERROR-MSG1
KP9218 MOVE 'WGMLLIDB: ' TO WS-DB-NAME
KP9218 MOVE 'GE' TO WS-IMS-ERR-CD
KP9218 MOVE WS-WGS-ERROR-MSG2
KP9218 TO WGMWRAPD-WGS-ERROR-MSG2
KP9218 PERFORM 99000-END-PARA
KP9218 WHEN OTHER
KP9218 PERFORM 95000-LL-DB-ERROR
KP9218 END-EVALUATE
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
KP9218*****************************************************************
KP9218* CALL LIMITED LIABILITY I/O MODULE WITH REQUIRED INPUTS
KP9218*****************************************************************
KP9218 73200-GET-LLTYP-DATA.
KP9218
KP9218 INITIALIZE WGMLLIOS-IO-AREA
KP9218 WS-LL-DXC-DIGNSS-CDE
KP9218 WS-DCT
KP9218
KP9218 SET WGMLLIOS-LLTYP-DATA TO TRUE
KP9218 SET WS-LLDXC-NOT-EOS TO TRUE
KP9218
KP9218 IF WGMWRAPD-I-WGS-LL-TYPE > SPACES
KP9218 MOVE WGMWRAPD-I-WGS-LL-TYPE TO WGMLLIOS-LLTYP-TYPE
KP9218 ELSE
KP9218 MOVE WS-LLTYP-TYPE TO WGMLLIOS-LLTYP-TYPE
KP9218 END-IF
KP9218
KP9218 MOVE WS-LLTYP-EFF-DTE TO WGMLLIOS-LLTYP-EFF-DTE
KP9218 MOVE WS-LLTYP-SEQ-NBR TO WGMLLIOS-LLTYP-SEQ-NBR
KP9218 SET WGMLLIOS-GET-NEXT-GT-DATA TO TRUE
KP9218
KP9218 PERFORM 84000-CALL-WGMLLIOS
KP9218
KP9218 EVALUATE TRUE
KP9218 WHEN WGMLLIOS-OK
KP9218 MOVE WGMLLIOS-IO-AREA TO WGMLLIDB-TYPE-DATA
KP9218 IF WS-LLTYP-TYPE NOT = LL-TYP-TYPE
KP9218 IF (WGMWRAPD-I-WGS-LL-TYPE > SPACES AND
KP9218 (WS-LCT NOT = +0 OR
KP9218 WGMWRAPD-I-WGS-LL-TYPE NOT =
KP9218 LL-TYP-TYPE))
KP9218 SET WS-LLTYP-EOS
KP9218 TO TRUE
KP9218 ELSE
KP9218 INITIALIZE WS-LCT
KP9218 MOVE LL-TYP-TYPE
KP9218 TO WS-LLTYP-TYPE
KP9218 MOVE LL-TYP-EFF-DTE
KP9218 TO WS-LLTYP-EFF-DTE
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO WS-LLTYP-SEQ-NBR
KP9218 END-IF
KP9218 END-IF
KP9218
KP9218 IF WS-LCT > +10
KP9218 IF WGMWRAPD-I-WGS-LL-TYPE > SPACES
KP9218 SET WS-LLTYP-EOS
KP9218 TO TRUE
KP9218 ELSE
KP9218 MOVE LL-TYP-TYPE
TO WS-LLTYP-TYPE
KP9218 MOVE LL-TYP-EFF-DTE
KP9218 TO WS-LLTYP-EFF-DTE
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO WS-LLTYP-SEQ-NBR
KP9218 CONTINUE
KP9218 END-IF
KP9218 ELSE
KP9218 IF WS-LLTYP-NOT-EOS
KP9218 MOVE LL-TYP-TYPE
TO WS-LLTYP-TYPE
KP9218 MOVE LL-TYP-EFF-DTE
KP9218 TO WS-LLTYP-EFF-DTE
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO WS-LLTYP-SEQ-NBR
KP9218 PERFORM 73250-MOVE-LLTYP-DATA
KP9218 END-IF
KP9218 END-IF
KP9218 WHEN WGMLLIOS-NOT-FOUND
KP9218 SET WS-LLTYP-EOS TO TRUE
KP9218 WHEN OTHER
KP9218 PERFORM 95000-LL-DB-ERROR
KP9218 END-EVALUATE
KP9218
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
KP9218*****************************************************************
KP9218* MOVE LIMITED LIABILITY SEGMENT DATA TO OUTPUT
KP9218*****************************************************************
KP9218 73250-MOVE-LLTYP-DATA.
KP9218
KP9218 ADD +1 TO WS-LCT
KP9218 EVALUATE TRUE
KP9218
KP9218 WHEN LL-COORDINATION-OF-BEN-PARTD
KP9218 SET WS-LLTYP-CBD TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-EFF-DTE TO
KP9218 WGMWRAPD-LL-TYP-CBD-EFF-DTE(WS-LCT)
KP9218 MOVE LL-TYP-CBD-END-DTE TO
KP9218 WGMWRAPD-LL-TYP-CBD-END-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-CBD-SEQ-NBR(WS-LCT)
KP9218 MOVE LL-TYP-QSTNAR-RESLT
KP9218 TO
KP9218 WGMWRAPD-QSTNAR-CBD-RESLT(WS-LCT)
KP9218 MOVE LL-TYP-INSCD-CBD TO
KP9218 WGMWRAPD-LL-TYP-INSCD-CBD(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN LL-COORDINATION-OF-BENEFITS
KP9218 SET WS-LLTYP-COB TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-EFF-DTE TO
KP9218 WGMWRAPD-LL-TYP-COB-EFF-DTE(WS-LCT)
KP9218 MOVE LL-TYP-COB-END-DTE TO
KP9218 WGMWRAPD-LL-TYP-COB-END-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-COB-SEQ-NBR(WS-LCT)
KP9218 MOVE LL-TYP-QSTNAR-RESLT
KP9218 TO
KP9218 WGMWRAPD-QSTNAR-COB-RESLT(WS-LCT)
KP9218 MOVE LL-TYP-PLCY-ID TO
KP9218 WGMWRAPD-LL-TYP-PLCY-ID(WS-LCT)
KP9218 MOVE LL-TYP-INSCD TO
KP9218 WGMWRAPD-LL-TYP-INSCD(WS-LCT)
KP9218 MOVE LL-TYP-INS-DESC TO
KP9218 WGMWRAPD-LL-TYP-INS-DESC(WS-LCT)
KP9218 MOVE LL-TYP-COB-TYPE TO
KP9218 WGMWRAPD-LL-TYP-COB-TYPE(WS-LCT)
KP9218 MOVE LL-TYP-COB-PCN-NO TO
KP9218 WGMWRAPD-LL-TYP-COB-PCN-NO(WS-LCT)
KP9218 MOVE LL-TYP-COB-RXGRP-NO
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-COB-RXGRP-NO(WS-LCT)
KP9218 MOVE LL-TYP-COB-RXID-NO TO
KP9218 WGMWRAPD-LL-TYP-COB-RXID-NO(WS-LCT)
KP9218 MOVE LL-TYP-COB-PRSN-CDE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-COB-PRSN-CDE(WS-LCT)
KP9218 MOVE LL-TYP-COB-OCAR-HLP-NO
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-COB-OCR-HLP-NO(WS-LCT)
KP9218 MOVE LL-TYP-PLCY-ID-EXP TO
KP9218 WGMWRAPD-LL-TYP-PLCY-ID-EXP(WS-LCT)
KP9218 MOVE LL-TYP-ST-CARR-CD TO
KP9218 WGMWRAPD-LL-TYP-ST-CARR-CD(WS-LCT)
KP9218 MOVE LL-TYP-OTH-GRP-ID
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-OTH-GRP-ID(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN LL-MEDICARE-INSURANCE
KP9218 SET WS-LLTYP-MED TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-EFF-DTE TO
KP9218 WGMWRAPD-LL-TYP-MED-EFF-DTE(WS-LCT)
KP9218 MOVE LL-TYP-END-DATE TO
KP9218 WGMWRAPD-LL-TYP-MED-END-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-MED-SEQ-NBR(WS-LCT)
KP9218 MOVE LL-TYP-QSTNAR-RESLT
KP9218 TO
KP9218 WGMWRAPD-QSTNAR-MED-RESLT(WS-LCT)
KP9218 MOVE LL-TYP-PART-A-PRMY TO
KP9218 WGMWRAPD-LL-TYP-PART-A(WS-LCT)
KP9218 MOVE LL-TYP-PART-A-EFF TO
KP9218 WGMWRAPD-LL-TYP-PART-A-EFF(WS-LCT)
KP9218 MOVE LL-TYP-PART-A-END TO
KP9218 WGMWRAPD-LL-TYP-PART-A-END(WS-LCT)
KP9218 MOVE LL-TYP-PART-A-XOVER
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-PART-A-XOVER(WS-LCT)
KP9218 MOVE LL-TYP-PART-B-PRMY TO
KP9218 WGMWRAPD-LL-TYP-PART-B(WS-LCT)
KP9218 MOVE LL-TYP-PART-B-EFF TO
KP9218 WGMWRAPD-LL-TYP-PART-B-EFF(WS-LCT)
KP9218 MOVE LL-TYP-PART-B-END TO
KP9218 WGMWRAPD-LL-TYP-PART-B-END(WS-LCT)
KP9218 MOVE LL-TYP-PART-B-XOVER
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-PART-B-XOVER(WS-LCT)
AP0683 MOVE LL-TYP-PART-D-XOVER
AP0683 TO
AP0683 WGMWRAPD-LL-TYP-PART-D-XOVER(WS-LCT)
AP0683 MOVE LL-TYP-PART-A-IND
AP0683 TO
AP0683 WGMWRAPD-LL-TYP-PART-A-IND(WS-LCT)
AP0683 MOVE LL-TYP-PART-B-IND
AP0683 TO
AP0683 WGMWRAPD-LL-TYP-PART-B-IND(WS-LCT)
AP0683 MOVE LL-TYP-PART-D-IND
AP0683 TO
AP0683 WGMWRAPD-LL-TYP-PART-D-IND(WS-LCT)
KP9218 MOVE LL-TYP-PART-D-PRMY TO
KP9218 WGMWRAPD-LL-TYP-PART-D(WS-LCT)
KP9218 MOVE LL-TYP-PART-D-EFF TO
KP9218 WGMWRAPD-LL-TYP-PART-D-EFF(WS-LCT)
KP9218 MOVE LL-TYP-PART-D-END TO
KP9218 WGMWRAPD-LL-TYP-PART-D-END(WS-LCT)
KP9218 MOVE LL-TYP-ESRD-IND TO
KP9218 WGMWRAPD-ESRD-IND(WS-LCT)
KP9218 MOVE LL-TYP-MEDCR-NBR TO
KP9218 WGMWRAPD-MEDCR-NBR(WS-LCT)
KP9218 MOVE LL-TYP-QUALIFYING-REASON
KP9218 TO
KP9218 WGMWRAPD-LLTYP-QLFYING-RSN(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN LL-SPECIAL-INSTRUCTIONS
KP9218 SET WS-LLTYP-SPI TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-SPI-EFF-DTE TO
KP9218 WGMWRAPD-LL-TYP-SPI-EFF-DTE(WS-LCT)
KP9218 MOVE LL-TYP-SPI-END-DTE TO
KP9218 WGMWRAPD-LL-TYP-SPI-END-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-SPI-SEQ-NBR(WS-LCT)
KP9218 MOVE LL-TYP-QSTNAR-RESLT
KP9218 TO
KP9218 WGMWRAPD-QSTNAR-SPI-RESLT(WS-LCT)
KP9218 MOVE LL-TYP-SPI-ONSET-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-SPI-ONSET-DTE(WS-LCT)
KP9218 MOVE LL-TYP-SPI-PROV-ID TO
KP9218 WGMWRAPD-LL-TYP-SPI-PROV-ID(WS-LCT)
KP9218 MOVE LL-TYP-PROC-FROM TO
KP9218 WGMWRAPD-LL-TYP-SPI-PROC-FRM(WS-LCT)
KP9218 MOVE LL-TYP-PROV-SPC-CD TO
KP9218 WGMWRAPD-LL-TYP-SPI-PRV-SPCD(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN LL-THIRD-PARTY-LIABILITY
KP9218 SET WS-LLTYP-TPL TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-TPL-ACDNT-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-TPL-ACDNT-DT(WS-LCT)
KP9218 MOVE LL-TYP-TPL-ONSET-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-TPL-ONSET-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-TPL-SEQ-NBR(WS-LCT)
KP9218 MOVE LL-TYP-TPL-CASE-CLS-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TPL-CASE-CLS-DTE(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN LL-WORKERS-COMPENSATION
KP9218 SET WS-LLTYP-WCP TO TRUE
KP9218 SET WS-LLTYP-FND TO TRUE
KP9218 MOVE LL-TYP-WCP-ACDNT-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-WCP-ACDNT-DT(WS-LCT)
KP9218 MOVE LL-TYP-WCP-ONSET-DTE
KP9218 TO
KP9218 WGMWRAPD-LL-TYP-WCP-ONSET-DT(WS-LCT)
KP9218 MOVE LL-TYP-SEQ-NBR
KP9218 TO
KP9218 WGMWRAPD-LL-WCP-SEQ-NBR(WS-LCT)
KP9218 PERFORM 73300-GET-LL-DXC-DATA
KP9218 UNTIL WS-LLDXC-EOS
KP9218 WHEN OTHER
KP9218 CONTINUE
KP9218 END-EVALUATE
KP9218
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
KP9218*****************************************************************
KP9218* MOVE LIMITED LIABILITY SEGMENT DATA TO OUTPUT
KP9218*****************************************************************
KP9218 73300-GET-LL-DXC-DATA.
KP9218
KP9218 INITIALIZE WGMLLIOS-IO-AREA
KP9218
KP9218 MOVE WS-CERT-NO TO WGMLLIOS-CERT
KP9218 MOVE WGMWRAPD-I-WGS-MEM-SEQ-NO TO WGMLLIOS-LLIB-MBR-SEQ-NBR
KP9218 MOVE WS-LLTYP-TYPE TO WGMLLIOS-LLTYP-TYPE
KP9218 MOVE WS-LLTYP-EFF-DTE TO WGMLLIOS-LLTYP-EFF-DTE
KP9218 MOVE WS-LLTYP-SEQ-NBR TO WGMLLIOS-LLTYP-SEQ-NBR
KP9218 MOVE WS-LL-DXC-DIGNSS-CDE TO WGMLLIOS-LLDXC
KP9218
KP9218 SET WGMLLIOS-LLDXC-DATA TO TRUE
KP9218
KP9218 SET WGMLLIOS-GET-NEXT-GT-DATA TO TRUE
KP9218
KP9218 PERFORM 84000-CALL-WGMLLIOS
KP9218
KP9218 EVALUATE TRUE
KP9218 WHEN WGMLLIOS-OK
KP9218 MOVE WGMLLIOS-IO-AREA TO WGMLLIDB-LDXC-DATA
KP9218 IF WS-DCT > +5
KP9218 SET WS-LLDXC-EOS TO TRUE
KP9218 INITIALIZE WS-DCT
KP9218 ELSE
KP9218 MOVE LL-DXC-DIGNSS-CDE
KP9218 TO WS-LL-DXC-DIGNSS-CDE
KP9218 PERFORM 73350-MOVE-LLDXC-DATA
KP9218 END-IF
KP9218 WHEN WGMLLIOS-NOT-FOUND
KP9218 SET WS-LLDXC-EOS TO TRUE
KP9218 WHEN OTHER
KP9218 PERFORM 95000-LL-DB-ERROR
KP9218 END-EVALUATE
KP9218
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
KP9218*****************************************************************
KP9218* MOVE LIMITED LIABILITY DIAGNOSIS SEGMENT DATA
KP9218*****************************************************************
KP9218 73350-MOVE-LLDXC-DATA.
KP9218
KP9218 ADD +1 TO WS-DCT
KP9218
KP9218 EVALUATE TRUE
KP9218 WHEN WS-LLTYP-CBD
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-CBD-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN WS-LLTYP-COB
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-COB-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN WS-LLTYP-MED
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-MED-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN WS-LLTYP-SPI
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-SPI-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN WS-LLTYP-TPL
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-TPL-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN WS-LLTYP-WCP
KP9218 MOVE LL-DXC-DIGNSS-CDE TO
KP9218 WGMWRAPD-LL-WCP-DX-DIGNS-CDE(WS-LCT,WS-DCT)
KP9218 WHEN OTHER
KP9218 CONTINUE
KP9218 END-EVALUATE
KP9218
KP9218 CONTINUE
KP9218 .
KP9218 EJECT
KP9218
*****************************************************************
* CALL WGMPFIOS I/O MODULE *
*****************************************************************
80000-CALL-WGMPFIOS.
COPY WGMPFIOP.
EJECT
CONTINUE
.
EJECT
*****************************************************************
* CALL WGMMMIOS I/O MODULE *
*****************************************************************
81000-CALL-WGMMMIOS.
COPY WGMMMIOP.
.
*****************************************************************
* CALL WGMGRIOS I/O MODULE *
*****************************************************************
82000-CALL-WGMGRIOS.
COPY WGMGRIOP.
.
EJECT
*****************************************************************
* CALL WGMCSIOS I/O MODULE *
*****************************************************************
83000-CALL-WGMCSIOS.
MOVE WS-VERSION-WANTED TO WGMCSIOS-VERSION
MOVE SPACES TO WGMCSIOS-CIP-MSTR-GRP-NBR
COPY WGMCSIOP.
.
EJECT
*****************************************************************
* CALL WGMLLIOS I/O MODULE *
*****************************************************************
84000-CALL-WGMLLIOS.
MOVE WS-VERSION-WANTED TO WGMLLIOS-VERSION
COPY WGMLLIOP.
.
EJECT
SB0405*****************************************************************
SB0405* CALL GNBBSIOS I/O MODULE *
SB0405*****************************************************************
SB0405 85000-SET-BILL-SUM-BOOL-1S.
SB0405
SB0405 SET GNBBSIOS-OK TO TRUE
SB0405 COPY GNBBSIOP.
*****************************************************************
* CALL PROFILE DATABASE ERROR *
*****************************************************************
91000-PRF-DB-ERROR.
WHEN WGMPFIOS-INVALID-CALL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '01' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID IMS CALL TO WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-DUPLICATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '02' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DUPLICATE RECORD IN WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-NOT-AUTH
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '03' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NOT AUTHORISED FOR WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-INVALID-DATA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '04' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FUNC FOR WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-INVALID-RETRV-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '05' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID RETRIEVAL FUNCTION'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-DELETE-NOT-AVAILABLE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '06' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DELETE NOT AVAILABLE - WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-PARENT-NOT-FOUND
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '07' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PARENT NOT FOUND ON WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-CONCURRENT-UPDATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '08' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CONCURRENT UPDATE ON WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-DB-NOT-AVAIL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '09' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'WGMPRFDB DB NOT AVAILABLE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMPRFDB: ' TO WS-DB-NAME
AP9218 MOVE 'NA' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218
WHEN WGMPFIOS-INVALID-KEY-DATA
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '10' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID KEY DATA FOR WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-PCB-NOT-FOUND
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '11' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PCB NOT FOUND FOR WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-INVALID-SEARCH-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '12' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID SEARCH FUNC - WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMPFIOS-INVALID-VIA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '13' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID VIA FUNC FOR WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN OTHER
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '14' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'UNKNOWN DB ERROR - WGMPRFDB'
TO WGMWRAPD-WGS-ERROR-MSG1
END-EVALUATE
PERFORM 99000-END-PARA
CONTINUE
.
EJECT
*****************************************************************
* CALL MEMBERSHIP DATABASE ERROR *
*****************************************************************
92000-MEMB-DB-ERROR.
AP9218 INITIALIZE WS-WGS-ERROR-MSG2.
AP9218
EVALUATE TRUE
WHEN WGMMMIOS-INVALID-CALL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '15' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID IMS CALL TO WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-DUPLICATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '16' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DUPLICATE RECORD IN WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-NOT-AUTH
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '17' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NOT AUTHORISED FOR WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-INVALID-DATA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '18' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FUNC FOR WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-INVALID-RETRV-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '19' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID RETRIEVAL FUNCTION'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-DELETE-NOT-AVAILABLE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '20' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DELETE NOT AVAILABLE - WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-PARENT-NOT-FOUND
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '21' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PARENT NOT FOUND ON WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-CONCURRENT-UPDATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '22' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CONCURRENT UPDATE ON WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-DB-NOT-AVAIL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '23' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'WGMMBRDB DB NOT AVAILABLE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMMBRDB: ' TO WS-DB-NAME
AP9218 MOVE 'NA' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218
WHEN WGMMMIOS-INVALID-KEY-DATA
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '24' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID KEY DATA FOR WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-INVALID-DB-REL-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '25' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DB REL FUNC - WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-BAD-STAT-WGMGRIOS
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '26' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'BAD STAT - WGMGRIOS'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-PCB-NOT-FOUND
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '27' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PCB NOT FOUND FOR WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-INVALID-SEARCH-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '28' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID SEARCH FUNC - WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMMMIOS-INVALID-VIA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '29' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID VIA FUNC FOR WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN OTHER
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '30' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'UNKNOWN DB ERROR - WGMMBRDB'
TO WGMWRAPD-WGS-ERROR-MSG1
END-EVALUATE
PERFORM 99000-END-PARA
CONTINUE
.
EJECT
*****************************************************************
* CALL GROUP DATABASE ERROR *
*****************************************************************
93000-GRP-DB-ERROR.
AP9218 INITIALIZE WS-WGS-ERROR-MSG2.
AP9218
EVALUATE TRUE
WHEN WGMGRIOS-INVALID-CALL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '31' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID IMS CALL TO WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-DUPLICATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '32' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DUPLICATE RECORD IN WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-NOT-AUTH
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '33' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NOT AUTHORISED FOR WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-INVALID-DATA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '34' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FUNC FOR WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-INVALID-RETRV-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '35' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID RETRIEVAL FUNCTION'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-DELETE-NOT-AVAILABLE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '36' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DELETE NOT AVAILABLE - WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-INVALID-DATA
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '37' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FOR WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-PARENT-NOT-FOUND
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '38' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'PARENT NOT FOUND ON WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-CONCURRENT-UPDATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '39' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CONCURRENT UPDATE ON WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-DB-NOT-AVAIL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '40' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'WGMGRPDB DB NOT AVAILABLE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMGRPDB: ' TO WS-DB-NAME
AP9218 MOVE 'NA' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218
WHEN WGMGRIOS-INVALID-KEY-DATA
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '41' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID KEY DATA FOR WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMGRIOS-INVALID-SEARCH-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '42' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID SEARCH FUNC - WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN OTHER
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '43' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'UNKNOWN DB ERROR - WGMGRPDB'
TO WGMWRAPD-WGS-ERROR-MSG1
END-EVALUATE
PERFORM 99000-END-PARA
CONTINUE
.
EJECT
*****************************************************************
* CALL CASE DATABASE ERROR *
*****************************************************************
94000-CASE-DB-ERROR.
WHEN WGMCSIOS-INVALID-CALL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '44' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID IMS CALL TO WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-DUPLICATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '45' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DUPLICATE RECORD IN WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-NOT-AUTH
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '46' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NOT AUTHORISED FOR WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-INVALID-DATA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '47' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FUNC FOR WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-INVALID-RETRV-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '48' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID RETRIEVAL FUNC - WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-DELETE-NOT-AVAILABLE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '49' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DELETE NOT AVAILABLE - WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-INVALID-DATA
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '50' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FOR WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-CONCURRENT-UPDATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '51' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CONCURRENT UPDATE ON WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMCSIOS-DB-NOT-AVAIL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '52' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'WGMCASDB DB NOT AVAILABLE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMCASDB: ' TO WS-DB-NAME
AP9218 MOVE 'NA' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218
WHEN OTHER
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '53' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'UNKNOWN DB ERROR - WGMCASDB'
TO WGMWRAPD-WGS-ERROR-MSG1
END-EVALUATE
PERFORM 99000-END-PARA
CONTINUE
.
EJECT
*****************************************************************
* CALL LIMITED LIABILITY DATABASE ERROR *
*****************************************************************
95000-LL-DB-ERROR.
WHEN WGMLLIOS-INVALID-CALL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '54' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID IMS CALL TO WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-DUPLICATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '55' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DUPLICATE RECORD IN WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-NOT-AUTH
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '56' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NOT AUTHORISED FOR WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-INVALID-DATA-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '57' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID DATA FUNC FOR WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-INVALID-RETRV-FUNC
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '58' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'INVALID RETRIEVAL FUNC - WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-DELETE-NOT-AVAILABLE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '59' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'DELETE NOT AVAILABLE - WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-CONCURRENT-UPDATE
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '60' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'CONCURRENT UPDATE ON WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
WHEN WGMLLIOS-DB-NOT-AVAIL
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '61' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'WGMLLIDB DB NOT AVAILABLE'
TO WGMWRAPD-WGS-ERROR-MSG1
AP9218 MOVE 'WGMLLIDB: ' TO WS-DB-NAME
AP9218 MOVE 'NA' TO WS-IMS-ERR-CD
AP9218 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
AP9218
WHEN OTHER
SET WGMWRAPD-WGS-IMS-ERROR
TO TRUE
AP9218 MOVE '62' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'UNKNOWN DB ERROR - WGMLLIDB'
TO WGMWRAPD-WGS-ERROR-MSG1
END-EVALUATE
PERFORM 99000-END-PARA
CONTINUE
.
EJECT
SB0405*****************************************************************
SB0405* CALL TO BILLING SUMMARY DB ERROR *
SB0405*****************************************************************
SB0405 96000-BNC-DB-ERROR.
SB0405
SB0405 INITIALIZE WS-WGS-ERROR-MSG2.
SB0405
SB0405 EVALUATE TRUE
SB0405
SB0405 WHEN GNBBSIOS-INVALID-CALL
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '63' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID IMS CALL TO GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBBSIOS-DUPLICATE
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '64' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'DUPLICATE RECORD IN GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBBSIOS-INVALID-DATA-FUNC
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '65' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID DATA FUNC FOR GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBBSIOS-INVALID-RETRV-FUNC
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '66' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID RETRIEVAL FUNC - GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBBSIOS-CONCURRENT-UPDATE
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '67' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'CONCURRENT UPDATE ON GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBBSIOS-DB-NOT-AVAIL
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '68' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'GNMBSMDB DB NOT AVAILABLE'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 MOVE 'GNMBSMDB: ' TO WS-DB-NAME
SB0405 MOVE 'NA' TO WS-IMS-ERR-CD
SB0405 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
SB0405
SB0405 WHEN OTHER
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '69' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'UNKNOWN DB ERROR - GNMBSMDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-EVALUATE
SB0405
SB0405 PERFORM 99000-END-PARA
SB0405
SB0405 CONTINUE
SB0405 .
SB0405 EJECT
SB0405
SB0405
SB0405*****************************************************************
SB0405* CALL TO BILL ENTITY DATABASE ERROR *
SB0405*****************************************************************
SB0405 97000-BNC-DB-ERROR.
SB0405
SB0405 INITIALIZE WS-WGS-ERROR-MSG2.
SB0405
SB0405 EVALUATE TRUE
SB0405
SB0405 WHEN GNBENIOS-INVALID-CALL
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '70' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID IMS CALL TO GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-DUPLICATE
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '71' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'DUPLICATE RECORD IN GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-INVALID-DATA-FUNC
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '72' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID DATA FUNC FOR GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-INVALID-RETRV-FUNC
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '73' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'INVALID RETRIEVAL FUNC - GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-UPDATE-FUNC-FAIL
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '74' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'UPDATE FUNCTION FAIL - GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-CONCURRENT-UPDATE
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '75' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'CONCURRENT UPDATE ON GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 WHEN GNBENIOS-DB-NOT-AVAIL
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '76' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'GNMBEPDB DB NOT AVAILABLE'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 MOVE 'GNMBEPDB: ' TO WS-DB-NAME
SB0405 MOVE 'NA' TO WS-IMS-ERR-CD
SB0405 MOVE WS-WGS-ERROR-MSG2 TO WGMWRAPD-WGS-ERROR-MSG2
SB0405
SB0405 WHEN OTHER
SB0405 SET WGMWRAPD-WGS-IMS-ERROR
SB0405 TO TRUE
SB0405 MOVE '77' TO WGMWRAPD-WGS-RETURN-CODE2
SB0405 MOVE 'UNKNOWN DB ERROR - GNMBEPDB'
SB0405 TO WGMWRAPD-WGS-ERROR-MSG1
SB0405 END-EVALUATE
SB0405
SB0405 PERFORM 99000-END-PARA
SB0405
SB0405 CONTINUE
SB0405 .
SB0405 EJECT
SB0405
*****************************************************************
* END PARA *
*****************************************************************
99000-END-PARA.
GOBACK
.
EJECT