You are on page 1of 74

PROCESS DYN NOADV

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.

05 WS-INTER-ACTION-SWITCH PIC X(01) VALUE SPACES.


88 WS-INTER-ACTION1 VALUE '1'.
88 WS-INTER-ACTION2 VALUE '2'.
88 WS-INTER-ACTION3 VALUE '3'.
88 WS-INTER-ACTION4 VALUE '4'.
88 WS-INTER-ACTION5 VALUE '5'.
AP9218 88 WS-INTER-ACTION6 VALUE '6'.
SB0405 88 WS-INTER-ACTION7 VALUE '7'.
KP9218 88 WS-INTER-ACTION8 VALUE '8'.
05 WS-CERT-SWITCH PIC X(01) VALUE SPACES.
88 WS-CERT VALUE 'Y'.
05 WS-DOS-SWITCH PIC X(01) VALUE SPACES.
88 WS-DOS VALUE 'Y'.
AP0683 05 WS-DOS-PCP-SWITCH PIC X(01) VALUE SPACES.
AP0683 88 WS-DOS-PCP VALUE 'Y'.
05 WS-DOB-SWITCH PIC X(01) VALUE SPACES.
88 WS-DOB VALUE 'Y'.
AP9218 05 WS-AUTH-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-AUTHDT VALUE 'Y'.
AP0683 05 WS-PCP-STRT-SWITCH PIC X(01) VALUE SPACES.
AP0683 88 WS-PCP-STRT VALUE 'Y'.
AP0683 05 WS-PCP-END-SWITCH PIC X(01) VALUE SPACES.
AP0683 88 WS-PCP-END VALUE 'Y'.
05 WS-SEQNO-SWITCH PIC X(01) VALUE SPACES.
88 WS-SEQNO VALUE 'Y'.
AP9218 05 WS-MEMCD-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-MEMCD VALUE 'Y'.
05 WS-GRP-SWITCH PIC X(01) VALUE SPACES.
88 WS-GRPNO VALUE 'Y'.
05 WS-FNAME-SWITCH PIC X(01) VALUE SPACES.
88 WS-FNAME VALUE 'Y'.
05 WS-LNAME-SWITCH PIC X(01) VALUE SPACES.
88 WS-LNAME VALUE 'Y'.
05 WS-LLTYPE-SWITCH PIC X(01) VALUE SPACES.
88 WS-LLTYPE VALUE 'Y'.
AP9218 05 WS-LEGACY-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-LEGACY VALUE 'Y'.
AP9218 05 WS-PROCESS-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-PROCESS-OK VALUE 'Y'.
AP9218 88 WS-PROCESS-NOT-OK VALUE 'N'.
AP0683 05 WS-VALID-PRVDR-SWITCH PIC X(01) VALUE SPACES.
AP0683 88 WS-VALID-PRVDR VALUE 'Y'.
AP0683 88 WS-INVALID-PRVDR VALUE 'N'.
05 WS-DOS-CNT-SWITCH PIC X(01) VALUE SPACES.
88 WS-DOS-CNT-FOUND VALUE 'Y'.
88 WS-DOS-CNT-NOT-FOUND VALUE 'N'.
KP9218 05 WS-LLTYP-FND-SWITCH PIC X(01) VALUE 'N'.
KP9218 88 WS-LLTYP-FND VALUE 'Y'.
KP9218 88 WS-LLTYP-NOT-FND VALUE 'N'.
KP9218 05 WS-LLTYP-EOS-SWITCH PIC X(01) VALUE 'N'.
KP9218 88 WS-LLTYP-EOS VALUE 'Y'.
KP9218 88 WS-LLTYP-NOT-EOS VALUE 'N'.
KP9218 05 WS-LLDXC-EOS-SWITCH PIC X(01) VALUE 'N'.
KP9218 88 WS-LLDXC-EOS VALUE 'Y'.
KP9218 88 WS-LLDXC-NOT-EOS VALUE 'N'.
KP9218 05 WS-LL-LTYP-SWITCH PIC X(03) VALUE SPACES.
KP9218 88 WS-LLTYP-CBD VALUE 'CBD'.
KP9218 88 WS-LLTYP-COB VALUE 'COB'.
KP9218 88 WS-LLTYP-MED VALUE 'MED'.
KP9218 88 WS-LLTYP-SPI VALUE 'SPI'.
KP9218 88 WS-LLTYP-TPL VALUE 'TPL'.
KP9218 88 WS-LLTYP-WCP VALUE 'WCP'.
05 WS-CNT-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-CNT-LOOP-END VALUE 'Y'.
88 WS-NOT-CNT-END-LOOP VALUE 'N'.
05 WS-DOB-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-DOB-LOOP-END VALUE 'Y'.
88 WS-NOT-DOB-END-LOOP VALUE 'N'.
AP9218 05 WS-MCD-LOOP-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-MCD-LOOP-END VALUE 'Y'.
AP9218 88 WS-NOT-MCD-END-LOOP VALUE 'N'.
05 WS-CHST-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-CHST-LOOP-END VALUE 'Y'.
88 WS-NOT-CHST-END-LOOP VALUE 'N'.
05 WS-GIND-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-GIND-LOOP-END VALUE 'Y'.
88 WS-NOT-GIND-END-LOOP VALUE 'N'.
05 WS-PMHS-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-PMHS-LOOP-END VALUE 'Y'.
88 WS-NOT-PMHS-END-LOOP VALUE 'N'.
05 WS-RES-ADR-SWITCH PIC X(01) VALUE SPACES.
88 WS-RES-ADR-FOUND VALUE 'Y'.
88 WS-RES-ADR-NOT-FOUND VALUE 'N'.
05 WS-SEQ-SWITCH PIC X(01) VALUE SPACES.
88 WS-SEQ-FOUND VALUE 'Y'.
88 WS-SEQ-NOT-FOUND VALUE 'N'.
05 WS-DOB-SWITCH PIC X(01) VALUE SPACES.
88 WS-DOB-FOUND VALUE 'Y'.
88 WS-DOB-NOT-FOUND VALUE 'N'.
AP9218 05 WS-MCD-SWITCH PIC X(01) VALUE SPACES.
AP9218 88 WS-MCD-FOUND VALUE 'Y'.
AP9218 88 WS-MCD-NOT-FOUND VALUE 'N'.
05 WS-PRF-SNGLE-SWITCH PIC X(01) VALUE SPACES.
88 WS-PRF-SINGLE VALUE 'Y'.
88 WS-PRF-NOT-SINGLE VALUE 'N'.
05 WS-CNT-SNGLE-SWITCH PIC X(01) VALUE SPACES.
88 WS-CNT-SINGLE VALUE 'Y'.
88 WS-CNT-NOT-SINGLE VALUE 'N'.
05 WS-MEM-SNGLE-SWITCH PIC X(01) VALUE SPACES.
88 WS-MEM-SINGLE VALUE 'Y'.
88 WS-MEM-NOT-SINGLE VALUE 'N'.
05 WS-MEDICAL-SWITCH PIC X(01) VALUE SPACES.
88 WS-MEDICAL VALUE 'Y'.
88 WS-NON-MEDICAL VALUE 'N'.
05 WS-MEMB-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-MEMB-LOOP-END VALUE 'Y'.
88 WS-NOT-MEMB-END-LOOP VALUE 'N'.
AP0683 05 WS-MNTK-LOOP-SWITCH PIC X(01) VALUE SPACES.
AP0683 88 WS-MNTK-LOOP-END VALUE 'Y'.
AP0683 88 WS-NOT-MNTK-END-LOOP VALUE 'N'.
05 WS-MEDICAL-CNT PIC S9(04) COMP
VALUE ZEROS.
AP9218 05 WS-GRP-CNT PIC S9(04) COMP
AP9218 VALUE ZEROS.
AP0683 05 WS-MNTK-CNT PIC S9(04) COMP
AP0683 VALUE ZEROS.
AP9218 05 WS-DOS-CNT PIC S9(04) COMP
AP9218 VALUE ZEROS.
05 WS-MEM-LOOP-CNT PIC 9(04) VALUE ZEROS.

05 WS-PRF-MBR-SEQ-NBR PIC S9(03) COMP-3


VALUE ZEROS.
05 WS-MEMB-MBR-SEQ-NBR PIC S9(03) COMP-3
VALUE ZEROS.
05 WS-MBR-SEQ-NBR PIC S9(03) COMP-3
VALUE ZEROS.
05 WS-MHST-MBR-SEQ-NBR PIC S9(03) COMP-3
VALUE ZEROS.
05 WS-LLTYP-EFF-DTE PIC S9(09) COMP-3
VALUE ZEROS.
KP9218 05 WS-LLTYP-TYPE PIC X(03) VALUE SPACES.
KP9218 05 WS-LLTYP-SEQ-NBR PIC S9(07) COMP-3
KP9218 VALUE ZEROS.
KP9218 05 WS-LL-DXC-DIGNSS-CDE PIC X(10) VALUE SPACES.
05 WS-GRP-GIND-TYPE PIC X(03) VALUE SPACES.
05 WS-CONT-CD PIC X(04) VALUE SPACES.
05 WS-CONT-GRP-SUFX-CB.
10 WS-GROUP-NO-CB PIC X(05) VALUE SPACES.
10 WS-GROUP-SUFFIX-NBR PIC X(05) VALUE SPACES.
05 WS-CASE-ADR-CODE PIC X(01) VALUE SPACES.
05 WS-CASE-ADR-PROC-DTE PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CASE-ADR-PROC-TME PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CONT-PRODUCT-LINE PIC X(05) VALUE SPACES.
05 WS-PRF-MBR-CD PIC S9(03) COMP-3
VALUE ZEROS.
05 WS-PRF-MHS-PRC-DTE-9S-COMP PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-PRF-MHS-PRC-TME-9S-COMP PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CERT-NO PIC X(09) VALUE SPACES.

05 WS-CHST-PRC-DTE-9S-COMP PIC S9(09) COMP-3


VALUE ZEROS.
05 WS-CHST-PRC-TME-9S-COMP PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CHST-EFF-DTE PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CHST-END-DTE PIC S9(09) COMP-3
VALUE ZEROS.
05 WS-CONT-CASE-NBR PIC X(10) VALUE SPACES.
05 WS-VERSION-WANTED PIC S9(03) VALUE +0.
05 WS-MMST-LOOP-SWITCH PIC X(01) VALUE SPACES.
88 WS-MHST-LOOP-END VALUE 'Y'.
88 WS-NOT-MHST-END-LOOP VALUE 'N'.
05 WS-CMBR PIC S9(04) COMP
VALUE ZEROS.
05 WS-PHCT PIC S9(04) COMP
VALUE ZEROS.
05 WS-GIND PIC S9(04) COMP
VALUE ZEROS.
05 WS-MNTK PIC S9(04) COMP
VALUE ZEROS.
05 WS-CAS-COUNT PIC S9(04) COMP
VALUE ZEROS.
05 WS-DOB-CNT PIC S9(04) COMP
VALUE ZEROS.
05 WS-GADR-COUNT PIC S9(04) COMP
VALUE ZEROS.
05 WS-MCT PIC S9(04) COMP
VALUE ZEROS.
05 WS-LCT PIC S9(04) COMP
VALUE ZEROS.
KP9218 05 WS-DCT PIC S9(04) COMP
KP9218 VALUE ZEROS.
05 WS-MBR PIC S9(04) COMP
VALUE ZEROS.
SB0405 05 WS-BNC PIC S9(04) COMP
SB0405 VALUE ZEROS.
SB0405 05 WS-BENT PIC S9(04) COMP
SB0405 VALUE ZEROS.
05 WS-GIND-LOOP-CNT PIC 9(04) VALUE ZEROS.
AP9218
AP9218 05 WS-WGS-ERROR-MSG2.
AP9218 10 WS-IMS-ERR-CD PIC X(02).
AP9218 10 WS-DB-NAME PIC X(10).
AP9218 10 FILLER PIC X(38).

SB0405 05 WS-INVOICE-FLAG PIC X(01).


SB0405 88 WS-MORE-INVOICES VALUE '0'.
SB0405 88 WS-NO-MORE-INVOICES VALUE '1'.
SB0405 05 WS-BILL-ENT-FLAG PIC X(01).
SB0405 88 WS-MORE-BILL-ENTITY VALUE '0'.
SB0405 88 WS-NO-MORE-BILL-ENTITY VALUE '1'.
*****************************************************************
* IMSFUNCTIONS *
*****************************************************************
COPY IMSFUNC.

*****************************************************************
* 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.

05 WGMCSIOS-IO-AREA PIC X(3000).


05 WGMGRIOS-IO-AREA PIC X(3000).
05 WGMMMIOS-IO-AREA PIC X(3000).
05 WGMPFIOS-IO-AREA PIC X(3000).
05 WGMLLIOS-IO-AREA PIC X(3000).

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

77 FILLER PIC X(40) VALUE


'<< WGMWRAP WORKING STORAGE ENDS HERE >>'.
SB0405
SB0405* DUMMY PCBS
SB0405 01 GNMBEPDB-PCB-PSEQ1 PIC X(136).
SB0405
SB0405 01 GNMBEPDB-PCB-PSEQ2 PIC X(136).
SB0405
SB0405 01 GNMBEPDB-PCB-PSEQ3 PIC X(136).
SB0405
SB0405 01 GNMBSMDB-PCB PIC X(136).
SB0405
SB0405 01 GNMBSMDB-PCB-PSEQ2 PIC X(136).

*****************************************************************
* 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

IF (WGMWRAPD-I-WGS-DATE-OF-SRVC > ZEROS AND


WGMWRAPD-I-WGS-DATE-OF-SRVC IS NUMERIC)
SET WS-DOS TO TRUE
END-IF

AP0683 IF (WGMWRAPD-I-WGS-DT-OF-SRVC-PCP > ZEROS AND


AP0683 WGMWRAPD-I-WGS-DT-OF-SRVC-PCP IS NUMERIC)
AP0683 SET WS-DOS-PCP TO TRUE
AP0683 END-IF

IF (WGMWRAPD-I-WGS-DATE-OF-BIRTH > ZEROS AND


WGMWRAPD-I-WGS-DATE-OF-BIRTH IS NUMERIC)
SET WS-DOB TO TRUE
END-IF

AP9218 IF (WGMWRAPD-I-WGS-AUTH-DATE > ZEROS AND


AP9218 WGMWRAPD-I-WGS-AUTH-DATE IS NUMERIC)
AP9218 SET WS-AUTHDT TO TRUE
AP9218 END-IF
AP9218
AP0683 IF (WGMWRAPD-I-WGS-PCP-STRT-DTE > ZEROS AND
AP0683 WGMWRAPD-I-WGS-PCP-STRT-DTE IS NUMERIC)
AP0683 SET WS-PCP-STRT TO TRUE
AP0683 END-IF
AP0683
AP0683 IF (WGMWRAPD-I-WGS-PCP-END-DTE > ZEROS AND
AP0683 WGMWRAPD-I-WGS-PCP-END-DTE IS NUMERIC)
AP0683 SET WS-PCP-END TO TRUE
AP0683 END-IF
AP0683
IF (WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES AND
WGMWRAPD-I-WGS-GROUP-NUMBER NOT = LOW-VALUES AND
WGMWRAPD-I-WGS-GROUP-NUMBER NOT = HIGH-VALUES)
SET WS-GRPNO TO TRUE
END-IF

IF (WGMWRAPD-I-WGS-MEM-SEQ-NO > ZEROS AND


WGMWRAPD-I-WGS-MEM-SEQ-NO IS NUMERIC)
SET WS-SEQNO TO TRUE
END-IF

AP9218* VALIDATE MEMBER CODE


AP9218 IF (WGMWRAPD-I-WGS-MEM-CD > ZEROS AND
AP9218 WGMWRAPD-I-WGS-MEM-CD IS NUMERIC)
AP9218 SET WS-MEMCD TO TRUE
AP9218 END-IF

IF (WGMWRAPD-I-WGS-FIRST-NAME > SPACES AND


WGMWRAPD-I-WGS-FIRST-NAME NOT = LOW-VALUES AND
WGMWRAPD-I-WGS-FIRST-NAME NOT = HIGH-VALUES)
SET WS-FNAME TO TRUE
END-IF

IF (WGMWRAPD-I-WGS-LAST-NAME > SPACES AND


WGMWRAPD-I-WGS-LAST-NAME NOT = LOW-VALUES AND
WGMWRAPD-I-WGS-LAST-NAME NOT = HIGH-VALUES)
SET WS-LNAME TO TRUE
END-IF

IF (WGMWRAPD-I-WGS-LL-TYPE > SPACES AND


WGMWRAPD-I-WGS-LL-TYPE NOT = LOW-VALUES AND
WGMWRAPD-I-WGS-LL-TYPE NOT = HIGH-VALUES)
SET WS-LLTYPE TO TRUE
END-IF.

EJECT.
*****************************************************************
* EXTRACTS CERT NO FOR THE THE GIVEN HCID *
*****************************************************************
11000-CONV-HCID-TO-CERT.

MOVE WGMWRAPD-I-WGS-HCID TO WGMKYIOS-ENTERED-ID


MOVE SPACES TO WGMKYIOS-CERT-NUMBER
SET WGMKYIOS-GET TO TRUE

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

KP9218 IF (NOT WS-INTER-ACTION7


KP9218 AND NOT WS-INTER-ACTION8)
AP9218 IF WS-GRP-CNT = 0
AP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
AP9218 TO TRUE
AP9218 MOVE '20' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'NO GRP FOUND FOR GIVEN CERT/HCID & LEGACY SYS'
AP9218 TO WGMWRAPD-WGS-ERROR-MSG1
KP9218 MOVE SPACES TO WGMWRAPD-WGS-ERROR-MSG2
KP9218 PERFORM 99000-END-PARA
AP9218 END-IF
KP9218 END-IF
AP9218
CONTINUE
.
EJECT
AP9218*****************************************************************
AP9218* PROCESS PARA FOR CERT NO, DOS AND MEMBER CODE INTERACTION *
AP9218*****************************************************************
AP9218 19000-CERT-DOS-MEMCD.
AP9218
AP9218 SET WS-MCD-NOT-FOUND TO TRUE
AP9218 SET WS-NOT-MCD-END-LOOP TO TRUE
AP9218 SET WGMPFIOS-GET-FIRST TO TRUE
AP9218
AP9218 INITIALIZE WS-PRF-MBR-SEQ-NBR
AP9218 WS-CMBR
AP9218 WS-MCT
AP9218 WS-LCT
AP9218
AP9218 PERFORM 19100-FETCH-CERT-MEMBERS
AP9218 UNTIL WS-MCD-LOOP-END OR WS-MCD-FOUND
AP9218
AP9218 CONTINUE
AP9218 .
AP9218 EJECT
AP9218
AP9218*****************************************************************
AP9218* PROCESS PARA TO FETCH A MEMBERS ENROLLED UNDER CERT UNTIL A *
AP9218* MEMBER MATCHING THE GIVEN MEMBER CODE IS FOUND. *
AP9218*****************************************************************
AP9218 19100-FETCH-CERT-MEMBERS.
AP9218
AP9218 INITIALIZE WS-MEMBER-PROFILE-IN
AP9218 WS-PRF-MBR-CD
AP9218 WS-MBR-SEQ-NBR
AP9218 WGMPFIOS-PROFILE-MBR-KEY
AP9218
AP9218 MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR
AP9218
AP9218 SET WGMPFIOS-PROFILE-MBR-DATA TO TRUE
AP9218
AP9218 PERFORM 71000-CALL-PRF-IO-MODULE
AP9218
AP9218 EVALUATE TRUE
AP9218 WHEN WGMPFIOS-OK
AP9218 MOVE WGMPFIOS-IO-AREA
AP9218 TO WS-MEMBER-PROFILE-IN
AP9218 IF (NM-PRF-MBR-CD = WGMWRAPD-I-WGS-MEM-CD)
AP9218
AP9218 SET WS-MCD-FOUND TO TRUE
AP9218 MOVE NM-PRF-MBR-SEQ-NBR
AP9218 TO WS-MBR-SEQ-NBR
AP9218 WS-PRF-MBR-SEQ-NBR
AP9218 WGMWRAPD-I-WGS-MEM-SEQ-NO
AP9218 PERFORM 21200-FETCH-MEMB-DETAILS
AP9218 END-IF
AP9218 WHEN WGMPFIOS-NOT-FOUND
AP9218 IF WS-MCD-NOT-FOUND
AP9218 SET WGMWRAPD-WGS-DATA-NOT-FOUND
AP9218 TO TRUE
AP9218 MOVE '01' TO WGMWRAPD-WGS-RETURN-CODE2
AP9218 MOVE 'MBR NOT FOUND IN PRF DB WITH GIVEN MBR CODE'
AP9218 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
AP9218
AP9218 PERFORM 99000-END-PARA
AP9218 ELSE
AP9218 SET WS-MCD-LOOP-END TO TRUE
AP9218 END-IF
AP9218 WHEN OTHER
AP9218 PERFORM 91000-PRF-DB-ERROR
AP9218 END-EVALUATE
AP9218
AP9218 SET WGMPFIOS-GET-NEXT TO TRUE
CONTINUE
.
EJECT
*****************************************************************
* PROCESS PARA FOR CERT NO AND THE DATE OF SERVICE INTERACTION *
*****************************************************************
20000-CERT-DOS.

INITIALIZE WS-MEDICAL-CNT
WS-CONT-GRP-SUFX-CB
WS-CMBR
WS-MCT
WS-LCT

SET WS-NOT-CNT-END-LOOP TO TRUE


SET WS-PRF-NOT-SINGLE TO TRUE
SET WS-CNT-NOT-SINGLE TO TRUE
SET WS-MEM-NOT-SINGLE TO TRUE
SET WS-DOS-CNT-NOT-FOUND TO TRUE

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.

SET WS-DOB-NOT-FOUND TO TRUE


SET WS-NOT-DOB-END-LOOP TO TRUE
SET WS-SEQ-NOT-FOUND TO TRUE
AP9218 SET WGMPFIOS-GET-FIRST TO TRUE

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

MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR

SET WGMPFIOS-PROFILE-MBR-DATA TO TRUE

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))

SET WS-DOB-FOUND TO TRUE


MOVE NM-PRF-MBR-SEQ-NBR
TO WS-MBR-SEQ-NBR
PERFORM 21200-FETCH-MEMB-DETAILS
END-IF
WHEN WGMPFIOS-NOT-FOUND
IF WS-DOB-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '04' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'NO MEMBER FOUND IN PROFILE WITH MATCHING 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
AP9218
AP9218 PERFORM 99000-END-PARA
ELSE
SET WS-DOB-LOOP-END TO TRUE
END-IF
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE
AP9218
AP9218 SET WGMPFIOS-GET-NEXT TO TRUE

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

SET WS-NOT-CNT-END-LOOP TO TRUE


SET WS-PRF-SINGLE TO TRUE
SET WS-CNT-NOT-SINGLE TO TRUE
SET WS-MEM-SINGLE TO TRUE

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

SET WS-NOT-CNT-END-LOOP TO TRUE


SET WS-PRF-SINGLE TO TRUE
SET WS-CNT-SINGLE TO TRUE
SET WS-MEM-SINGLE TO TRUE
SET WS-NOT-CHST-END-LOOP TO TRUE

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

SET WS-NOT-CNT-END-LOOP TO TRUE


SET WS-PRF-SINGLE TO TRUE
SET WS-CNT-NOT-SINGLE TO TRUE
SET WS-MEM-SINGLE TO TRUE
SET WS-SEQ-NOT-FOUND TO TRUE

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.

SET WS-NOT-CHST-END-LOOP TO TRUE


AP9218 SET WS-PROCESS-OK TO TRUE
INITIALIZE WS-CMBR

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

SET WS-NOT-CNT-END-LOOP TO TRUE


SET WS-PRF-NOT-SINGLE TO TRUE
SET WS-CNT-NOT-SINGLE TO TRUE
SET WS-MEM-NOT-SINGLE TO TRUE

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

SET WS-NOT-MEMB-END-LOOP TO TRUE


SET WS-NON-MEDICAL TO TRUE
IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES
MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
TO WGMMMIOS-GROUP-NBR-CB
SET WGMMMIOS-GET-UNIQUE-DATA
TO TRUE
ELSE
MOVE WS-CONT-GRP-SUFX-CB TO WGMMMIOS-GROUP-NBR-CB
SET WGMMMIOS-GET-NEXT-GT-DATA
TO TRUE
END-IF
SET WGMMMIOS-CONTRACT-DATA TO TRUE

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.

IF (WGMWRAPD-I-WGS-DATE-OF-SRVC >= NM-CONT-EFF-DTE AND


WGMWRAPD-I-WGS-DATE-OF-SRVC <= NM-CONT-END-DTE)
ADD +1 TO WS-MEDICAL-CNT
SET WS-DOS-CNT-FOUND TO TRUE
PERFORM 30050-MOVE-MEMCNT-SEGMNT-DATA

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.

MOVE NM-CONT-CD TO WS-CONT-CD

KP9218 MOVE NM-CONT-HCID TO WGMWRAPD-WGS-MBR-HCID


KP9218 MOVE NM-CERT-NO TO WGMWRAPD-WGS-MBR-CERT-NO
ADD +1 TO WS-MCT
ADD +1 TO WS-CMBR
IF (WS-INTER-ACTION2 OR
WS-INTER-ACTION3 OR
AP9218 WS-INTER-ACTION4 OR
AP9218 WS-INTER-ACTION6)
MOVE NM-CONT-HCID TO WGMWRAPD-WGS-MBR-HCID
MOVE NM-CERT-NO TO WGMWRAPD-WGS-MBR-CERT-NO
MOVE NM-CONT-EFF-DTE TO
WGMWRAPD-WGS-GRP-EFF-DATE(WS-MCT)
MOVE NM-CONT-END-DTE TO
WGMWRAPD-WGS-GRP-END-DATE(WS-MCT)
MOVE NM-CONT-CD TO
WGMWRAPD-WGS-CONT-CD(WS-MCT)
MOVE NM-CONT-PAID-TO-DTE TO
WGMWRAPD-WGS-CONT-PTD(WS-MCT)
MOVE 'C' TO
WGMWRAPD-WGS-MBR-REC-TYP(WS-MCT,WS-CMBR)
MOVE NM-CONT-TYPE TO
WGMWRAPD-WGS-CONT-TYP(WS-MCT,WS-CMBR)
MOVE NM-CONT-STAT-CD TO
WGMWRAPD-WGS-CONT-STAT-CD(WS-MCT,WS-CMBR)
MOVE NM-CONT-NO-COVERED TO
WGMWRAPD-WGS-CONT-NO-COVERED(WS-MCT,WS-CMBR)
MOVE NM-CONT-EFF-DTE TO
WGMWRAPD-WGS-CONT-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-END-DTE TO
WGMWRAPD-WGS-CONT-END-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-CAN-EFF-DTE TO
WGMWRAPD-WGS-CONT-CAN-EFF-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-LST-UPDT-DTE TO
WGMWRAPD-WGS-CONT-LST-UPDT-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-CAN-PROC-DTE TO
WGMWRAPD-WGS-CONT-CAN-PROC-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-PAID-TO-DTE TO
WGMWRAPD-WGS-CONT-PAID-TO-DT(WS-MCT,WS-CMBR)
MOVE NM-CONT-CD TO
WGMWRAPD-WGS-CONT-CDE(WS-MCT,WS-CMBR)
ELSE
MOVE NM-CONT-TYPE TO
WGMWRAPD-WGS-CONT-TYPE(WS-MCT)
MOVE NM-CONT-STAT-CD TO
WGMWRAPD-WGS-CONT-STATUS-CD(WS-MCT)
MOVE NM-CONT-NO-COVERED TO
WGMWRAPD-WGS-CONT-NO-COVRD(WS-MCT)
MOVE NM-CONT-EFF-DTE TO
WGMWRAPD-WGS-CONT-EFF-DTE(WS-MCT)
MOVE NM-CONT-END-DTE TO
WGMWRAPD-WGS-CONT-END-DTE(WS-MCT)
MOVE NM-CONT-CD TO
WGMWRAPD-WGS-CONT-CODE(WS-MCT)
MOVE NM-CONT-LST-UPDT-DTE TO
WGMWRAPD-WGS-CONT-LST-UPDT-DTE(WS-MCT)
MOVE NM-CONT-CASE-NBR TO
WGMWRAPD-WGS-CONT-CASE-NO(WS-MCT)
MOVE NM-CONT-CAN-EFF-DTE TO
WGMWRAPD-WGS-CONT-CAN-EFF-DTE(WS-MCT)
MOVE NM-CONT-PAID-TO-DTE TO
WGMWRAPD-WGS-CONT-PAID-TO-DTE(WS-MCT)
MOVE NM-CONT-CAN-PROC-DTE TO
WGMWRAPD-WGS-CONT-CAN-PROC-DTE(WS-MCT)
IF WS-INTER-ACTION5
PERFORM 40000-GET-GRP-DATA-EXTRACT
END-IF
END-IF
CONTINUE
.
EJECT

*****************************************************************
* 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

SET WGMMMIOS-MEMBER-DATA TO TRUE

MOVE WS-CONT-GRP-SUFX-CB TO WGMMMIOS-GROUP-NBR-CB

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-GET-NEXT-GT-DATA TO TRUE


SET WS-NOT-MHST-END-LOOP TO TRUE

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.

MOVE NM-CHST-PRC-DTE-9S-COMP TO WS-CHST-PRC-DTE-9S-COMP


MOVE NM-CHST-PRC-TME-9S-COMP TO WS-CHST-PRC-TME-9S-COMP

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

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 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

AP0683 IF WS-MNTK-CNT > 0


AP0683 SET WGMMMIOS-GET-NEXT-DATA TO TRUE
AP0683 ELSE
SET WGMMMIOS-GET-FIRST-DATA TO TRUE
AP0683 END-IF

MOVE WS-CONT-GRP-SUFX-CB TO WGMMMIOS-GROUP-NBR-CB


MOVE WS-PRF-MBR-SEQ-NBR TO
WGMMMIOS-MBR-SEQ-NBR
SET WGMMMIOS-NETWORK-DATA TO TRUE

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

SET WS-NOT-GIND-END-LOOP TO TRUE

IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES


MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
TO WGMGRIOS-GROUP-NBR-CB
ELSE
MOVE WS-CONT-GRP-SUFX-CB TO WGMGRIOS-GROUP-NBR-CB
END-IF

SET WGMGRIOS-OK TO TRUE


SET WGMGRIOS-GROUP-DATA TO TRUE
SET WGMGRIOS-GET-UNIQUE-DATA TO TRUE
PERFORM 82000-CALL-WGMGRIOS

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.

MOVE WGMGRIOS-GRPCONTR TO WGMGRIOS-DATA-FUNCTION


MOVE WGMGRIOS-GETF TO
WGMGRIOS-RETRIEVAL-FUNCTION
SET WGMGRIOS-DB-REL-ALL TO TRUE
PERFORM 82000-CALL-WGMGRIOS
EVALUATE TRUE
WHEN WGMGRIOS-OK
MOVE WGMGRIOS-IO-AREA TO WGMGRPDB-GRPCONTR
SB0405 IF WS-INTER-ACTION7
SB0405 MOVE GS-ALT-NET-IND TO
SB0405 WGMWRAPD-WGS-BNC-ALT-NET-ID
SB0405 ELSE
KP9218 PERFORM 40150-MOVE-GCNT-SEGMNT-DATA
SB0405 END-IF
WHEN WGMGRIOS-NOT-FOUND
SET WGMWRAPD-WGS-DATA-NOT-FOUND
TO TRUE
AP9218 MOVE '11' TO WGMWRAPD-WGS-RETURN-CODE2
MOVE 'GROUP DB CONTRACT 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
CONTINUE
.
EJECT

*****************************************************************
* 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

IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES


MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
TO WGMGRIOS-GROUP-NBR-CB
ELSE
MOVE WS-CONT-GRP-SUFX-CB TO WGMGRIOS-GROUP-NBR-CB
END-IF

MOVE SPACES TO WGMGRIOS-ADDRESS-TYPE

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

IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES


MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
TO WGMGRIOS-GROUP-NBR-CB
ELSE
MOVE WS-CONT-GRP-SUFX-CB TO WGMGRIOS-GROUP-NBR-CB
END-IF

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

IF WGMWRAPD-I-WGS-GROUP-NUMBER > SPACES


MOVE WGMWRAPD-I-WGS-GROUP-NUMBER
TO WGMGRIOS-GROUP-NBR-CB
ELSE
MOVE WS-CONT-GRP-SUFX-CB TO WGMGRIOS-GROUP-NBR-CB
END-IF
MOVE SPACES TO WGMGRIOS-SUFFIX-NBR
MOVE WS-GRP-GIND-TYPE TO WGMGRIOS-GIND-TYPE

SET WGMGRIOS-OK TO TRUE


SET WGMGRIOS-GIND-SEG-DATA TO TRUE
SET WGMGRIOS-GET-NEXT-GT-DATA TO TRUE

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

MOVE WS-CONT-CASE-NBR TO WGMCSIOS-CASE-NBR


SET WGMCSIOS-OK TO TRUE
SET WGMCSIOS-CASE-DATA TO TRUE
SET WGMCSIOS-GET-UNIQUE-DATA TO TRUE

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

MOVE WS-CONT-CASE-NBR TO WGMCSIOS-CASE-NBR


SET WGMCSIOS-OK TO TRUE
SET WGMCSIOS-CASE-ADDRESS-DATA TO TRUE
SET WGMCSIOS-GET-FIRST-DATA TO TRUE

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

SET WGMMMIOS-GET-UNIQUE-DATA TO TRUE


SET WGMMMIOS-CERT-DATA TO TRUE

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

MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR


SET WS-NOT-PMHS-END-LOOP TO TRUE
SET WGMPFIOS-GET-UNIQUE TO TRUE

SET WGMPFIOS-PROFILE-MBR-DATA TO TRUE

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 WS-RES-ADR-NOT-FOUND TO TRUE


MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR

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

MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR

SET WGMPFIOS-GET-FIRST TO TRUE


SET WGMPFIOS-PROFILE-OTH-CRT-DATA
TO TRUE
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA
TO WS-OTH-CERT-IN
PERFORM 61400-MOVE-POTHCRT-SEGMNT-DATA
WHEN WGMPFIOS-NOT-FOUND
CONTINUE
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE

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

MOVE WS-PRF-MBR-SEQ-NBR TO WGMPFIOS-MBR-SEQ-NBR


MOVE WS-PRF-MHS-PRC-DTE-9S-COMP TO
WGMPFIOS-MHS-PRC-DTE-9S-COMP
MOVE WS-PRF-MHS-PRC-TME-9S-COMP TO
WGMPFIOS-MHS-PRC-TME-9S-COMP

SET WGMPFIOS-GET-NEXT-GT TO TRUE


SET WGMPFIOS-PROFILE-MBR-HIST-DATA
TO TRUE
PERFORM 71000-CALL-PRF-IO-MODULE
EVALUATE TRUE
WHEN WGMPFIOS-OK
MOVE WGMPFIOS-IO-AREA TO WS-PMHS-IN
PERFORM 61500-MOVE-PMHS-SEGMNT-DATA
WHEN WGMPFIOS-NOT-FOUND
SET WS-PMHS-LOOP-END TO TRUE
WHEN OTHER
PERFORM 91000-PRF-DB-ERROR
END-EVALUATE

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

MOVE WS-CONT-PRODUCT-LINE TO WGMPRODT-GRP-PRDT-KEY


SET WGMTBLSS-STATUS-OK 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

MOVE WS-CERT-NO TO WGMPFIOS-CERT

SET WGMPFIOS-OK TO TRUE


SET WGMPFIOS-VIA-PRIMARY-DB TO TRUE
SET WGMPFIOS-SEARCH-SEG-KEY TO TRUE

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

SET WGMMMIOS-OK TO TRUE


SET WGMMMIOS-VIA-PRIMARY-DB TO TRUE
SET WGMMMIOS-SEARCH-SEG-KEY TO TRUE

MOVE WS-CERT-NO TO WGMMMIOS-CERT

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.

SET WGMPFIOS-OK TO TRUE

COPY WGMPFIOP.
EJECT

CONTINUE
.
EJECT

*****************************************************************
* CALL WGMMMIOS I/O MODULE *
*****************************************************************
81000-CALL-WGMMMIOS.

SET WGMMMIOS-OK TO TRUE

COPY WGMMMIOP.
.

*****************************************************************
* CALL WGMGRIOS I/O MODULE *
*****************************************************************
82000-CALL-WGMGRIOS.

SET WGMGRIOS-OK TO TRUE

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

SET WGMCSIOS-OK TO TRUE

COPY WGMCSIOP.
.
EJECT

*****************************************************************
* CALL WGMLLIOS I/O MODULE *
*****************************************************************
84000-CALL-WGMLLIOS.
MOVE WS-VERSION-WANTED TO WGMLLIOS-VERSION

SET WGMLLIOS-OK TO TRUE

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.

AP9218 INITIALIZE WS-WGS-ERROR-MSG2.


AP9218
EVALUATE TRUE

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.

AP9218 INITIALIZE WS-WGS-ERROR-MSG2.


AP9218
EVALUATE TRUE

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.

AP9218 INITIALIZE WS-WGS-ERROR-MSG2.


AP9218
EVALUATE TRUE

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

You might also like