000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.   BW1700C.
000300*=================================================================
000400*   PROGRAM: BW1700C.  GENERATED FROM ESF APPL: BW1700C
000500*   CONVERTED FROM ESF SOURCE ON: 12/17/2001
000600*=================================================================
000700*
000800 ENVIRONMENT DIVISION.
000900 DATA DIVISION.
001000 WORKING-STORAGE SECTION.
001100 01  EZE-LOCAL-AREA.
001200     02  EZEQ-APPL-STAT       PIC S9(8) COMP.
001300     02  EZEQ-MAIN-STAT       PIC S9(8) COMP.
001400     02  EZE-RECD-STATS.
001500       10 EZE-BW1700-HC1T100-STAT      PIC S9(8) COMP VALUE ZERO.
001600       10 EZE-BW1700S-HC1T100-STAT      PIC S9(8) COMP VALUE ZERO.
001700     COPY EZECODES.
001800*
001900*=================================================================
002000*
002100*   TABLE AREA
002200*
002300*=================================================================
002400*
002500 01  EZE-TABLE-AREA.
002600     COPY BWMSGTB.
002700       EXEC SQL INCLUDE SQLCA END-EXEC.
002800*----- END OF LOCAL AREA -----*
002900 LINKAGE SECTION.
003000 01  DFHCOMMAREA.
003100         02 EZE-CALLPTR1    USAGE IS POINTER.
003200         02 EZE-CALLPTR2    USAGE IS POINTER.
003300         02 EZE-CALLPTR3    USAGE IS POINTER.
003400 01  EZE-CALLPARM1.
003500     02  BW1700-WSC.
003600       EXEC SQL INCLUDE B170CR01 END-EXEC.
003700 01  EZE-CALLPARM2.
003800     02  BW1700-WSC-CTRL.
003900       EXEC SQL INCLUDE B170CR02 END-EXEC.
004000 01  EZE-CALLPARM3.
004100     02  BWSYSTEM.
004200       EXEC SQL INCLUDE BWSYSTEM END-EXEC.
004300 01  EZE-WORK-AREA.
004400     COPY EZECODE2.
004500     02  BW1700-HC1T100.
004600       EXEC SQL INCLUDE B170CR03 END-EXEC.
004700     02  BW1700S-HC1T100.
004800       EXEC SQL INCLUDE B170CR04 END-EXEC.
004900     02  EZE-CREATEX-AREA.
005000         05 EZE-CREATX-REQUEST.
005100            10 EZE-CREATX-LEN       PIC S9(4) COMP.
005200            10 EZE-CREATX-TRAN      PIC X(8).
005300            10 EZE-CREATX-DATA      PIC X(4086).
005400         05 EZE-CREATX-PRID         PIC X(8).
005500         05 EZE-CREATX-RECIP        PIC X(4).
005600     02  FILLER           PIC X.
005700     COPY EZEPARMS.
005800 01   EZE-CSP-COMMAREA.
005900     05 EZE-CSP-ALF         PIC X(8).
006000     05 EZE-CSP-APPL        PIC X(8).
006100     05 EZE-CSP-WS          PIC X(4096).
006200 01   EZE-COBOL-COMMAREA PIC X(4096).
006300*
006400*----- END OF LINKAGE AREA -----*
006500*
006600*
006700*=================================================================
006800*
006900*   PROCEDURE DIVISION
007000*
007100*=================================================================
007200*
007300 PROCEDURE DIVISION.
007400     INITIALIZE EZEVARS.
007500     MOVE 'BWCB' TO EZE-QUEUE-APPL.
007600     MOVE 'MVS' TO EZESYS.
007700     MOVE EIBTRMID TO EZE-QUEUE-TERM.
007800     PERFORM EZE-USER-ID.
007900     SET ADDRESS OF EZE-CALLPARM1 TO EZE-CALLPTR1.
008000     SET ADDRESS OF EZE-CALLPARM2 TO EZE-CALLPTR2.
008100     SET ADDRESS OF EZE-CALLPARM3 TO EZE-CALLPTR3.
008200     PERFORM EZE-GETMAIN THRU EZE-GETMAIN-EXIT.
008300     EXEC CICS GETMAIN
008400        SET(ADDRESS OF EZE-PARMS)
008500        FLENGTH(LENGTH OF EZE-PARMS)
008600        RESP(EZEQ-MAIN-STAT)
008700     END-EXEC.
008800     PERFORM EZE-CURRENT-TIME.
008900     INITIALIZE BW1700-HC1T100.
009000     INITIALIZE BW1700S-HC1T100.
009100 BW1700C-P01-MAIN-MAIN.
009200     PERFORM BW1700C-P01-MAIN THRU BW1700C-P01-MAIN-EXIT.
009300 BW1700C-EXIT.
009400*  THIS CODE ONLY EXECUTES IF THE PROGRAM FALLS THRU TO THE END
009500     GO TO EZE-CLOSE.
009600*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
009700*            PROCESS    :BW1700C-P01-MAIN
009800*                        'Main process' refine = N
009900*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
010000 BW1700C-P01-MAIN.
010100      .
010200*>
010300*> Set EZE Words
010400     MOVE 1 TO EZEFEC.
010500*> /* Return control to appl after hard error
010600*> Initialize Error/Message Record if required
010700*>IF BWSYSTEM.INIT NE 'INIT';
010800*>  SET BWSYSTEM EMPTY;
010900*>  MOVE 20 TO BWSYSTEM.LIMIT-MSG;
011000*>  MOVE 0  TO BWSYSTEM.MAX-MSG;
011100*>  MOVE 1  TO BWSYSTEM.SEL-MSG;
011200*>  MOVE 'N' TO BWSYSTEM.ERROR_IND;
011300*>  MOVE 'INIT' TO BWSYSTEM.INIT ;
011400*>END;
011500*>* if Update requested,
011600*>* check that the data has changed
011700     IF ISUD-ACTION OF BW1700-WSC-CTRL = 'U'
011800*> /** Update
011900        IF BW1700-DATA-ITEMS OF BW1700-WSC = BW1700-DATA-ITEMS OF
012000           BW1700-WSC-CTRL AND BW1700-HIDDEN-ITEMS OF BW1700-WSC
012100           = BW1700-HIDDEN-ITEMS OF BW1700-WSC-CTRL
012200           GO TO BW1700C-P01-MAIN-EXIT
012300*> /* No changes, so return to calling program.
012400*> No message needed, since this check is
012500*> performed by the client, with a message.
012600*> The check is repeated here for the case
012700*> where this server is used as part of a
012800*> multi-table update.
012900        END-IF
013000     END-IF.
013100*> check that the keys have been passed
013200     IF ISUD-ACTION OF BW1700-WSC-CTRL = 'S'   OR ISUD-ACTION OF
013300        BW1700-WSC-CTRL = 'I'
013400*> /** Insert
013500        IF CLS-ID OF BW1700-WSC = ' '
013600           MOVE 'Y' TO ERROR-IND OF BWSYSTEM
013700           IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
013800              COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM
013900                 + 1
014000              MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF
014100                 BWSYSTEM (MAX-MSG)
014200              MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
014300              MOVE ' ( E )  CLS ID CANNOT BE BLANK' TO MSG OF
014400                 BWSYSTEM (MAX-MSG)
014500           END-IF
014600        END-IF
014700        IF ERROR-IND OF BWSYSTEM NOT = 'N'
014800           GO TO BW1700C-P01-MAIN-EXIT
014900        END-IF
015000     END-IF.
015100*   MOVE CORR BW1700-WSC TO BW1700-HC1T100
015200     MOVE CLS-ID OF BW1700-WSC TO CLS-ID OF BW1700-HC1T100.
015300     MOVE CLS-TYPE-CD OF BW1700-WSC TO CLS-TYPE-CD OF
015400        BW1700-HC1T100.
015500     MOVE FRANCHISE-ID OF BW1700-WSC TO FRANCHISE-ID OF
015600        BW1700-HC1T100.
015700     MOVE EMPL-ID OF BW1700-WSC TO EMPL-ID OF BW1700-HC1T100.
015800     MOVE CLS-DT OF BW1700-WSC TO CLS-DT OF BW1700-HC1T100.
015900     MOVE CLS-START-TM OF BW1700-WSC TO CLS-START-TM OF
016000        BW1700-HC1T100.
016100     MOVE CLS-LOC OF BW1700-WSC TO CLS-LOC OF BW1700-HC1T100.
016200     MOVE CLS-DUR OF BW1700-WSC TO CLS-DUR OF BW1700-HC1T100.
016300     MOVE CLS-COST OF BW1700-WSC TO CLS-COST OF BW1700-HC1T100.
016400     MOVE MMBRS-ONLY-IND OF BW1700-WSC TO MMBRS-ONLY-IND OF
016500        BW1700-HC1T100.
016600     MOVE CLS-COMM OF BW1700-WSC TO CLS-COMM OF BW1700-HC1T100.
016700*   MOVE CORR BW1700-WSC TO BW1700S-HC1T100
016800     MOVE CLS-ID OF BW1700-WSC TO CLS-ID OF BW1700S-HC1T100.
016900     MOVE CLS-TYPE-CD OF BW1700-WSC TO CLS-TYPE-CD OF
017000        BW1700S-HC1T100.
017100     MOVE CLS-TYPE-NM OF BW1700-WSC TO CLS-TYPE-NM OF
017200        BW1700S-HC1T100.
017300     MOVE FRANCHISE-ID OF BW1700-WSC TO FRANCHISE-ID OF
017400        BW1700S-HC1T100.
017500     MOVE EMPL-ID OF BW1700-WSC TO EMPL-ID OF BW1700S-HC1T100.
017600     MOVE EMPL-LAST-NM OF BW1700-WSC TO EMPL-LAST-NM OF
017700        BW1700S-HC1T100.
017800     MOVE EMPL-FIRST-NAME OF BW1700-WSC TO EMPL-FIRST-NAME OF
017900        BW1700S-HC1T100.
018000     MOVE CLS-DT OF BW1700-WSC TO CLS-DT OF BW1700S-HC1T100.
018100     MOVE CLS-START-TM OF BW1700-WSC TO CLS-START-TM OF
018200        BW1700S-HC1T100.
018300     MOVE CLS-LOC OF BW1700-WSC TO CLS-LOC OF BW1700S-HC1T100.
018400     MOVE CLS-DUR OF BW1700-WSC TO CLS-DUR OF BW1700S-HC1T100.
018500     MOVE CLS-COST OF BW1700-WSC TO CLS-COST OF BW1700S-HC1T100.
018600     MOVE MMBRS-ONLY-IND OF BW1700-WSC TO MMBRS-ONLY-IND OF
018700        BW1700S-HC1T100.
018800     MOVE CLS-COMM OF BW1700-WSC TO CLS-COMM OF BW1700S-HC1T100.
018900     PERFORM BW1700C-P02-IO THRU BW1700C-P02-IO-EXIT.
019000     MOVE SQLCODE TO RAD-SQL-CODE OF BWSYSTEM.
019100 BW1700C-P01-MAIN-EXIT.
019200     EXIT.
019300*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
019400*            PROCESS    :BW1700C-P02-IO
019500*                        'I/O Processing' refine = N
019600*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
019700 BW1700C-P02-IO.
019800      .
019900*>
020000*>***
020100*>***
020200*>***
020300*>***              Insert Processing
020400*>***
020500*>***
020600*>***
020700     IF ISUD-ACTION OF BW1700-WSC-CTRL = 'I'
020800*> /** Insert
020900        PERFORM BW1700C-P60-EDITS THRU BW1700C-P60-EDITS-EXIT
021000*>    /* Edit Routines
021100        PERFORM BW1700C-P10-INSERT THRU BW1700C-P10-INSERT-EXIT
021200*>   /* Insert Bus. Logic
021300        IF ERROR-IND OF BWSYSTEM = 'N'
021400           PERFORM BW1700C-P12-INS-IO THRU BW1700C-P12-INS-IO-EXIT
021500*> /* Insert Proc.
021600           IF ERROR-IND OF BWSYSTEM = 'N'
021700              IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
021800                 COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
021900                    BWSYSTEM + 1
022000                 MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF
022100                    BWSYSTEM (MAX-MSG)
022200                 MOVE ' ' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
022300                 MOVE ' ( I )  INSERT SUCCESSFUL' TO MSG OF
022400                    BWSYSTEM (MAX-MSG)
022500              END-IF
022600           END-IF
022700           PERFORM BW1700C-P25-CLEAN THRU BW1700C-P25-CLEAN-EXIT
022800        END-IF
022900     ELSE
023000*>***
023100*>***
023200*>***
023300*>***              Select Processing
023400*>***
023500*>***
023600*>***
023700        IF ISUD-ACTION OF BW1700-WSC-CTRL = 'S'
023800*> /** Select
023900           PERFORM BW1700C-P20-PRESEL THRU BW1700C-P20-PRESEL-EXIT
024000*>   /* Pre-Select Bus. Logic
024100           IF ERROR-IND OF BWSYSTEM = 'N'
024200              PERFORM BW1700C-P22-SEL-IO THRU
024300                 BW1700C-P22-SEL-IO-EXIT
024400*> /* Select Proc.
024500              PERFORM BW1700C-P25-CLEAN THRU
024600                 BW1700C-P25-CLEAN-EXIT
024700              IF ERROR-IND OF BWSYSTEM = 'N'
024800                 PERFORM BW1700C-P24-PSTSEL THRU
024900                    BW1700C-P24-PSTSEL-EXIT
025000*> /* Post-Select Bus. Logic.
025100              END-IF
025200           END-IF
025300        ELSE
025400*>***
025500*>***
025600*>***
025700*>***              Update Processing
025800*>***
025900*>***
026000*>***
026100           IF ISUD-ACTION OF BW1700-WSC-CTRL = 'U'
026200*> /** Update
026300*> check that the record was previously read
026400              IF CLS-ID OF BW1700-WSC NOT = CLS-ID OF
026500                 BW1700-WSC-CTRL
026600                 IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
026700                    COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
026800                       BWSYSTEM + 1
026900                    MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF
027000                       BWSYSTEM (MAX-MSG)
027100                    MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM
027200                       (MAX-MSG)
027300                    MOVE ' ( E )  EZEKEY CHANGED - EZE-RECORD MUST
027400-    ' BE SELECTED' TO MSG OF BWSYSTEM (MAX-MSG)
027500                 END-IF
027600                 MOVE 'Y' TO ERROR-IND OF BWSYSTEM
027700                 GO TO BW1700C-P02-IO-EXIT
027800              END-IF
027900              PERFORM BW1700C-P60-EDITS THRU
028000                 BW1700C-P60-EDITS-EXIT
028100*> /* Edit Routines
028200              PERFORM BW1700C-P30-UPDATE THRU
028300                 BW1700C-P30-UPDATE-EXIT
028400*> /* Update Bus. logic
028500              IF ERROR-IND OF BWSYSTEM = 'N'
028600                 PERFORM BW1700C-P32-UPD-IO THRU
028700                    BW1700C-P32-UPD-IO-EXIT
028800                 IF ERROR-IND OF BWSYSTEM = 'N'
028900                    IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
029000                       COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
029100                          BWSYSTEM + 1
029200                       MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM
029300                          OF BWSYSTEM (MAX-MSG)
029400                       MOVE ' ' TO FIELD-NAME OF BWSYSTEM
029500                          (MAX-MSG)
029600                       MOVE ' ( I )  UPDATE SUCCESSFUL' TO MSG OF
029700                          BWSYSTEM (MAX-MSG)
029800                    END-IF
029900                 END-IF
030000              END-IF
030100              PERFORM BW1700C-P25-CLEAN THRU
030200                 BW1700C-P25-CLEAN-EXIT
030300           ELSE
030400*>***
030500*>***
030600*>***
030700*>***              Delete Processing
030800*>***
030900*>***
031000*>***
031100              IF ISUD-ACTION OF BW1700-WSC-CTRL = 'D'
031200*> /** Delete
031300*> check that the record was previously read
031400                 IF CLS-ID OF BW1700-WSC NOT = CLS-ID OF
031500                    BW1700-WSC-CTRL
031600                    IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
031700                       COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
031800                          BWSYSTEM + 1
031900                       MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM
032000                          OF BWSYSTEM (MAX-MSG)
032100                       MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM
032200                          (MAX-MSG)
032300                       MOVE ' ( E )  EZEKEY CHANGED - EZE-RECORD M
032400-    'UST BE SELECTED' TO MSG OF BWSYSTEM (MAX-MSG)
032500                    END-IF
032600                    MOVE 'Y' TO ERROR-IND OF BWSYSTEM
032700                    GO TO BW1700C-P02-IO-EXIT
032800                 END-IF
032900                 PERFORM BW1700C-P40-DELETE THRU
033000                    BW1700C-P40-DELETE-EXIT
033100                 IF ERROR-IND OF BWSYSTEM = 'N'
033200                    PERFORM BW1700C-P42-DEL-IO THRU
033300                       BW1700C-P42-DEL-IO-EXIT
033400                    IF ERROR-IND OF BWSYSTEM = 'N'
033500                       IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF
033600                          BWSYSTEM
033700                       COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
033800                          BWSYSTEM + 1
033900                       MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM
034000                          OF BWSYSTEM (MAX-MSG)
034100                       MOVE ' ' TO FIELD-NAME OF BWSYSTEM
034200                          (MAX-MSG)
034300                       MOVE ' ( I )  BWDELETE SUCCESSFUL' TO MSG
034400                          OF BWSYSTEM (MAX-MSG)
034500                       END-IF
034600*>* Blank out the keys so that an Insert is possible
034700                       MOVE ' ' TO CLS-ID OF BW1700-WSC-CTRL
034800                    END-IF
034900                 END-IF
035000              ELSE
035100*>***==============================================****
035200*>***                                              ****
035300*>***                                              ****
035400*>***           Invalid Action                     ****
035500*>***                                              ****
035600*>***                                              ****
035700*>***==============================================****
035800                 IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
035900                    COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF
036000                       BWSYSTEM + 1
036100                    MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF
036200                       BWSYSTEM (MAX-MSG)
036300                    MOVE 'ACTION' TO FIELD-NAME OF BWSYSTEM
036400                       (MAX-MSG)
036500                    MOVE ' ( E )  INVALID ACTION' TO MSG OF
036600                       BWSYSTEM (MAX-MSG)
036700                 END-IF
036800                 MOVE 'Y' TO ERROR-IND OF BWSYSTEM
036900              END-IF
037000           END-IF
037100        END-IF
037200     END-IF.
037300      .
037400*>
037500 BW1700C-P02-IO-EXIT.
037600     EXIT.
037700*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
037800*            PROCESS    :BW1700C-P10-INSERT
037900*                        'Business logic for Insert' refine = N
038000*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
038100 BW1700C-P10-INSERT.
038200      .
038300*>
038400*>***===================================================
038500*>***
038600*>***           Insert Business Logic
038700*>***
038800*>*** Add your code here for any business logic
038900*>*** required before an SQL INSERT.
039000*>***
039100*>***===================================================
039200*> Set all hidden cols to a valid default value
039300      .
039400*>
039500 BW1700C-P10-INSERT-EXIT.
039600     EXIT.
039700*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
039800*            PROCESS    :BW1700C-P12-INS-IO
039900*                        'Add new data row' refine = N
040000*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
040100 BW1700C-P12-INS-IO.
040200     PERFORM BW1700C-P12-INS-IO-SQL.
040300     IF EZE-BW1700-HC1T100-STAT = EZE-OK
040400        MOVE 'Y' TO CHANGES-MADE OF BWSYSTEM
040500*> If columns selected from multiple tables, re-read the row
040600        PERFORM BW1700C-P22-SEL-IO THRU BW1700C-P22-SEL-IO-EXIT
040700        PERFORM BW1700C-P25-CLEAN THRU BW1700C-P25-CLEAN-EXIT
040800        GO TO BW1700C-P12-INS-IO-EXIT
040900     END-IF.
041000     IF EZE-BW1700-HC1T100-STAT = EZE-SQL-DUP
041100        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
041200           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
041300           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
041400              (MAX-MSG)
041500           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
041600           MOVE ' ( E )  DUPLICATE HC1T100 RECORD' TO MSG OF
041700              BWSYSTEM (MAX-MSG)
041800        END-IF
041900        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
042000        GO TO BW1700C-P12-INS-IO-EXIT
042100     END-IF.
042200     MOVE 'SQL' TO MESSAGE-CODE OF BWSYSTEM.
042300     IF SQLCODE < 0
042400        MOVE '-' TO MESSAGE-SQL-SIGN OF BWSYSTEM
042500        COMPUTE  MESSAGE-SQL-CODE OF BWSYSTEM = SQLCODE * -1
042600     ELSE
042700        MOVE '+' TO MESSAGE-SQL-SIGN OF BWSYSTEM
042800        MOVE SQLCODE TO MESSAGE-SQL-CODE OF BWSYSTEM
042900     END-IF.
043000*     IF MESSAGE-KEY OF BWSYSTEM IN MESSAGE-KEY OF BWMSGTB
043100     MOVE  1  TO EZETST.
043200     MOVE ' ' TO EZE-DONE.
043300     PERFORM WITH TEST BEFORE UNTIL EZE-DONE = 'Y'
043400        IF  MESSAGE-KEY OF BWSYSTEM = MESSAGE-KEY OF BWMSGTB
043500           (EZETST)
043600           MOVE 'Y' TO EZE-DONE
043700        ELSE
043800           IF EZETST  >= 47
043900              MOVE 'Y' TO EZE-DONE
044000              MOVE  0  TO EZETST
044100           ELSE
044200              ADD  1  TO EZETST
044300           END-IF
044400        END-IF
044500     END-PERFORM.
044600     IF  EZETST > 0
044700        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
044800           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
044900           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
045000              (MAX-MSG)
045100           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
045200           MOVE MESSAGE-TEXT OF BWMSGTB (EZETST)  TO MSG OF
045300              BWSYSTEM (MAX-MSG)
045400        END-IF
045500        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
045600        GO TO BW1700C-P12-INS-IO-EXIT
045700     END-IF.
045800     IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
045900        COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
046000        MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
046100           (MAX-MSG)
046200        MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
046300        MOVE ' ( E )  EZEDATA ERROR HAS OCCURRED - CONTACT YOUR SY
046400-    'STEM ADMINISTRATOR' TO MSG OF BWSYSTEM (MAX-MSG)
046500     END-IF.
046600     MOVE 'Y' TO ERROR-IND OF BWSYSTEM.
046700     MOVE 'BW1700C' TO APPLNM OF BWSYSTEM.
046800     MOVE 'BW1700C-P12-INS-IO' TO PROCNM OF BWSYSTEM.
046900     MOVE 'INSERT' TO OPTION OF BWSYSTEM.
047000     MOVE 'BW1700-HC1T100' TO RECNM OF BWSYSTEM.
047100     MOVE SQLCA TO BWERR-SQLCA OF BWSYSTEM.
047200     MOVE SQLCODE TO SQL-CODE OF BWSYSTEM.
047300     MOVE BWERR-ERRM OF BWSYSTEM TO SQL-ERRMC OF BWSYSTEM.
047400     MOVE 'E' TO ERROR-IND OF BWSYSTEM.
047500      .
047600*>
047700 BW1700C-P12-INS-IO-EXIT.
047800     EXIT.
047900 BW1700C-P12-INS-IO-SQL.
048000     EXEC SQL
048100        INSERT INTO HC1T100
048200        (
048300        CLS_TYPE_CD,
048400        FRANCHISE_ID,
048500        EMPL_ID,
048600        CLS_DT,
048700        CLS_START_TM,
048800        CLS_LOC,
048900        CLS_DUR,
049000        CLS_COST,
049100        MMBRS_ONLY_IND,
049200        CLS_COMM,
049300        USE_COUNT,
049400        CLS_ID
049500         )
049600        VALUES
049700        (
049800        :BW1700-HC1T100.CLS-TYPE-CD
049900           :BW1700-HC1T100.CLS-TYPE-CD-NI,
050000
050100        :BW1700-HC1T100.FRANCHISE-ID,
050200
050300        :BW1700-HC1T100.EMPL-ID,
050400
050500        :BW1700-HC1T100.CLS-DT,
050600
050700        :BW1700-HC1T100.CLS-START-TM
050800           :BW1700-HC1T100.CLS-START-TM-NI,
050900
051000        :BW1700-HC1T100.CLS-LOC,
051100
051200        :BW1700-HC1T100.CLS-DUR :BW1700-HC1T100.CLS-DUR-NI,
051300
051400        :BW1700-HC1T100.CLS-COST :BW1700-HC1T100.CLS-COST-NI,
051500
051600        :BW1700-HC1T100.MMBRS-ONLY-IND
051700           :BW1700-HC1T100.MMBRS-ONLY-IND-NI,
051800
051900        :BW1700-HC1T100.CLS-COMM :BW1700-HC1T100.CLS-COMM-NI,
052000
052100        0,
052200        :BW1700-HC1T100.CLS-ID
052300         )
052400     END-EXEC.
052500     MOVE SQLCODE TO EZE-BW1700-HC1T100-STAT.
052600 BW1700C-P12-INS-IO-SQL-EXIT.
052700     EXIT.
052800*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
052900*            PROCESS    :BW1700C-P20-PRESEL
053000*                        'Business logic for Select' refine = N
053100*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
053200 BW1700C-P20-PRESEL.
053300      .
053400*>
053500*>***===================================================
053600*>***
053700*>***         Pre-Select Business Logic
053800*>***
053900*>*** Add your code here for any business logic
054000*>*** required before an SQL SELECT.
054100*>***
054200*>***===================================================
054300      .
054400*>
054500 BW1700C-P20-PRESEL-EXIT.
054600     EXIT.
054700*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
054800*            PROCESS    :BW1700C-P22-SEL-IO
054900*                        'Select data from SQL table' refine = N e
055000*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
055100 BW1700C-P22-SEL-IO.
055200      .
055300*>
055400*   MOVE CORR BW1700-WSC TO BW1700S-HC1T100
055500     MOVE CLS-ID OF BW1700-WSC TO CLS-ID OF BW1700S-HC1T100.
055600     MOVE CLS-TYPE-CD OF BW1700-WSC TO CLS-TYPE-CD OF
055700        BW1700S-HC1T100.
055800     MOVE CLS-TYPE-NM OF BW1700-WSC TO CLS-TYPE-NM OF
055900        BW1700S-HC1T100.
056000     MOVE FRANCHISE-ID OF BW1700-WSC TO FRANCHISE-ID OF
056100        BW1700S-HC1T100.
056200     MOVE EMPL-ID OF BW1700-WSC TO EMPL-ID OF BW1700S-HC1T100.
056300     MOVE EMPL-LAST-NM OF BW1700-WSC TO EMPL-LAST-NM OF
056400        BW1700S-HC1T100.
056500     MOVE EMPL-FIRST-NAME OF BW1700-WSC TO EMPL-FIRST-NAME OF
056600        BW1700S-HC1T100.
056700     MOVE CLS-DT OF BW1700-WSC TO CLS-DT OF BW1700S-HC1T100.
056800     MOVE CLS-START-TM OF BW1700-WSC TO CLS-START-TM OF
056900        BW1700S-HC1T100.
057000     MOVE CLS-LOC OF BW1700-WSC TO CLS-LOC OF BW1700S-HC1T100.
057100     MOVE CLS-DUR OF BW1700-WSC TO CLS-DUR OF BW1700S-HC1T100.
057200     MOVE CLS-COST OF BW1700-WSC TO CLS-COST OF BW1700S-HC1T100.
057300     MOVE MMBRS-ONLY-IND OF BW1700-WSC TO MMBRS-ONLY-IND OF
057400        BW1700S-HC1T100.
057500     MOVE CLS-COMM OF BW1700-WSC TO CLS-COMM OF BW1700S-HC1T100.
057600     PERFORM BW1700C-P22-SEL-IO-SQL.
057700     IF EZE-BW1700S-HC1T100-STAT = EZE-OK
057800*   MOVE CORR BW1700S-HC1T100 TO BW1700-HC1T100
057900        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-HC1T100
058000        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
058100           BW1700-HC1T100
058200        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
058300           BW1700-HC1T100
058400        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
058500           BW1700-HC1T100
058600        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-HC1T100
058700        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
058800           BW1700-HC1T100
058900        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
059000           BW1700-HC1T100
059100        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
059200           BW1700-HC1T100
059300        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
059400           BW1700-HC1T100
059500        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
059600           OF BW1700-HC1T100
059700        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
059800           BW1700-HC1T100
059900*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC
060000        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-WSC
060100        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
060200           BW1700-WSC
060300        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
060400           BW1700-WSC
060500        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
060600           BW1700-WSC
060700        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF BW1700-WSC
060800        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
060900           BW1700-WSC
061000        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
061100           EMPL-FIRST-NAME OF BW1700-WSC
061200        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-WSC
061300        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
061400           BW1700-WSC
061500        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF BW1700-WSC
061600        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF BW1700-WSC
061700        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF BW1700-WSC
061800        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
061900           OF BW1700-WSC
062000        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF BW1700-WSC
062100*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC-CTRL
062200        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF
062300           BW1700-WSC-CTRL
062400        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
062500           BW1700-WSC-CTRL
062600        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
062700           BW1700-WSC-CTRL
062800        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
062900           BW1700-WSC-CTRL
063000        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
063100           BW1700-WSC-CTRL
063200        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
063300           BW1700-WSC-CTRL
063400        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
063500           EMPL-FIRST-NAME OF BW1700-WSC-CTRL
063600        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF
063700           BW1700-WSC-CTRL
063800        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
063900           BW1700-WSC-CTRL
064000        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
064100           BW1700-WSC-CTRL
064200        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
064300           BW1700-WSC-CTRL
064400        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
064500           BW1700-WSC-CTRL
064600        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
064700           OF BW1700-WSC-CTRL
064800        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
064900           BW1700-WSC-CTRL
065000        GO TO BW1700C-P22-SEL-IO-EXIT
065100     END-IF.
065200     IF EZE-BW1700S-HC1T100-STAT = EZE-SQL-NRF
065300*> Initialize Non-Selection Columns if Row not found
065400        MOVE ' ' TO CLS-TYPE-CD OF BW1700S-HC1T100
065500        MOVE ' ' TO CLS-TYPE-NM OF BW1700S-HC1T100
065600        MOVE ' ' TO FRANCHISE-ID OF BW1700S-HC1T100
065700        MOVE ' ' TO EMPL-ID OF BW1700S-HC1T100
065800        MOVE ' ' TO EMPL-LAST-NM OF BW1700S-HC1T100
065900        MOVE ' ' TO EMPL-FIRST-NAME OF BW1700S-HC1T100
066000        MOVE ' ' TO CLS-DT OF BW1700S-HC1T100
066100        MOVE ' ' TO CLS-START-TM OF BW1700S-HC1T100
066200        MOVE ' ' TO CLS-LOC OF BW1700S-HC1T100
066300        MOVE 0 TO CLS-DUR OF BW1700S-HC1T100
066400        MOVE 0 TO CLS-COST OF BW1700S-HC1T100
066500        MOVE ' ' TO MMBRS-ONLY-IND OF BW1700S-HC1T100
066600        MOVE ' ' TO CLS-COMM OF BW1700S-HC1T100
066700*   MOVE CORR BW1700S-HC1T100 TO BW1700-HC1T100
066800        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-HC1T100
066900        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
067000           BW1700-HC1T100
067100        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
067200           BW1700-HC1T100
067300        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
067400           BW1700-HC1T100
067500        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-HC1T100
067600        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
067700           BW1700-HC1T100
067800        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
067900           BW1700-HC1T100
068000        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
068100           BW1700-HC1T100
068200        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
068300           BW1700-HC1T100
068400        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
068500           OF BW1700-HC1T100
068600        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
068700           BW1700-HC1T100
068800*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC
068900        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-WSC
069000        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
069100           BW1700-WSC
069200        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
069300           BW1700-WSC
069400        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
069500           BW1700-WSC
069600        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF BW1700-WSC
069700        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
069800           BW1700-WSC
069900        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
070000           EMPL-FIRST-NAME OF BW1700-WSC
070100        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-WSC
070200        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
070300           BW1700-WSC
070400        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF BW1700-WSC
070500        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF BW1700-WSC
070600        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF BW1700-WSC
070700        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
070800           OF BW1700-WSC
070900        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF BW1700-WSC
071000*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC-CTRL
071100        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF
071200           BW1700-WSC-CTRL
071300        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
071400           BW1700-WSC-CTRL
071500        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
071600           BW1700-WSC-CTRL
071700        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
071800           BW1700-WSC-CTRL
071900        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
072000           BW1700-WSC-CTRL
072100        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
072200           BW1700-WSC-CTRL
072300        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
072400           EMPL-FIRST-NAME OF BW1700-WSC-CTRL
072500        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF
072600           BW1700-WSC-CTRL
072700        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
072800           BW1700-WSC-CTRL
072900        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
073000           BW1700-WSC-CTRL
073100        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
073200           BW1700-WSC-CTRL
073300        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
073400           BW1700-WSC-CTRL
073500        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
073600           OF BW1700-WSC-CTRL
073700        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
073800           BW1700-WSC-CTRL
073900        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
074000           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
074100           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
074200              (MAX-MSG)
074300           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
074400           MOVE ' ( E )  HC1T100 EZE-RECORD NOT FOUND - PLEASE REC
074500-    'HECK' TO MSG OF BWSYSTEM (MAX-MSG)
074600        END-IF
074700        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
074800        GO TO BW1700C-P22-SEL-IO-EXIT
074900     END-IF.
075000     MOVE 'SQL' TO MESSAGE-CODE OF BWSYSTEM.
075100     IF SQLCODE < 0
075200        MOVE '-' TO MESSAGE-SQL-SIGN OF BWSYSTEM
075300        COMPUTE  MESSAGE-SQL-CODE OF BWSYSTEM = SQLCODE * -1
075400     ELSE
075500        MOVE '+' TO MESSAGE-SQL-SIGN OF BWSYSTEM
075600        MOVE SQLCODE TO MESSAGE-SQL-CODE OF BWSYSTEM
075700     END-IF.
075800*     IF MESSAGE-KEY OF BWSYSTEM IN MESSAGE-KEY OF BWMSGTB
075900     MOVE  1  TO EZETST.
076000     MOVE ' ' TO EZE-DONE.
076100     PERFORM WITH TEST BEFORE UNTIL EZE-DONE = 'Y'
076200        IF  MESSAGE-KEY OF BWSYSTEM = MESSAGE-KEY OF BWMSGTB
076300           (EZETST)
076400           MOVE 'Y' TO EZE-DONE
076500        ELSE
076600           IF EZETST  >= 47
076700              MOVE 'Y' TO EZE-DONE
076800              MOVE  0  TO EZETST
076900           ELSE
077000              ADD  1  TO EZETST
077100           END-IF
077200        END-IF
077300     END-PERFORM.
077400     IF  EZETST > 0
077500        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
077600           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
077700           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
077800              (MAX-MSG)
077900           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
078000           MOVE MESSAGE-TEXT OF BWMSGTB (EZETST)  TO MSG OF
078100              BWSYSTEM (MAX-MSG)
078200        END-IF
078300        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
078400        GO TO BW1700C-P22-SEL-IO-EXIT
078500     END-IF.
078600     IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
078700        COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
078800        MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
078900           (MAX-MSG)
079000        MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
079100        MOVE ' ( E )  EZEDATA ERROR HAS OCCURRED - CONTACT YOUR SY
079200-    'STEM ADMINISTRATOR' TO MSG OF BWSYSTEM (MAX-MSG)
079300     END-IF.
079400     MOVE 'Y' TO ERROR-IND OF BWSYSTEM.
079500     MOVE 'BW1700C' TO APPLNM OF BWSYSTEM.
079600     MOVE 'BW1700C-P22-SEL-IO' TO PROCNM OF BWSYSTEM.
079700     MOVE 'SELECT' TO OPTION OF BWSYSTEM.
079800     MOVE 'BW1700-HC1T100' TO RECNM OF BWSYSTEM.
079900     MOVE SQLCA TO BWERR-SQLCA OF BWSYSTEM.
080000     MOVE SQLCODE TO SQL-CODE OF BWSYSTEM.
080100     MOVE BWERR-ERRM OF BWSYSTEM TO SQL-ERRMC OF BWSYSTEM.
080200     MOVE 'E' TO ERROR-IND OF BWSYSTEM.
080300      .
080400*>
080500 BW1700C-P22-SEL-IO-EXIT.
080600     EXIT.
080700 BW1700C-P22-SEL-IO-SQL.
080800     EXEC SQL
080900        SELECT
081000        T1.CLS_ID,
081100        T1.CLS_TYPE_CD,
081200        T2.CLS_TYPE_NM,
081300        T1.FRANCHISE_ID,
081400        T1.EMPL_ID,
081500        T3.EMPL_LAST_NM,
081600        T3.EMPL_FIRST_NAME,
081700        T1.CLS_DT,
081800        T1.CLS_START_TM,
081900        T1.CLS_LOC,
082000        T1.CLS_DUR,
082100        T1.CLS_COST,
082200        T1.MMBRS_ONLY_IND,
082300        T1.USE_COUNT,
082400        T1.CLS_COMM
082500        INTO
082600        :BW1700S-HC1T100.CLS-ID,
082700
082800        :BW1700S-HC1T100.CLS-TYPE-CD
082900           :BW1700S-HC1T100.CLS-TYPE-CD-NI,
083000
083100        :BW1700S-HC1T100.CLS-TYPE-NM,
083200
083300        :BW1700S-HC1T100.FRANCHISE-ID,
083400
083500        :BW1700S-HC1T100.EMPL-ID,
083600
083700        :BW1700S-HC1T100.EMPL-LAST-NM,
083800
083900        :BW1700S-HC1T100.EMPL-FIRST-NAME,
084000
084100        :BW1700S-HC1T100.CLS-DT,
084200
084300        :BW1700S-HC1T100.CLS-START-TM
084400           :BW1700S-HC1T100.CLS-START-TM-NI,
084500
084600        :BW1700S-HC1T100.CLS-LOC,
084700
084800        :BW1700S-HC1T100.CLS-DUR :BW1700S-HC1T100.CLS-DUR-NI,
084900
085000        :BW1700S-HC1T100.CLS-COST :BW1700S-HC1T100.CLS-COST-NI,
085100
085200        :BW1700S-HC1T100.MMBRS-ONLY-IND
085300           :BW1700S-HC1T100.MMBRS-ONLY-IND-NI,
085400
085500        :BW1700-WSC-CTRL.LAST-UPDATE-COUNT,
085600
085700        :BW1700S-HC1T100.CLS-COMM :BW1700S-HC1T100.CLS-COMM-NI
085800        FROM
085900        HC1T100 T1,
086000        HC1T001 T2,
086100        HC1T002 T3
086200        WHERE
086300        T1.CLS_ID = :CLS-ID
086400        AND T1.CLS_TYPE_CD
086500        =  T2.CLS_TYPE_CD
086600        AND T1.EMPL_ID
086700        =  T3.EMPL_ID
086800        AND T1.FRANCHISE_ID
086900        =  T3.FRANCHISE_ID
087000     END-EXEC.
087100     MOVE SQLCODE TO EZE-BW1700S-HC1T100-STAT.
087200 BW1700C-P22-SEL-IO-SQL-EXIT.
087300     EXIT.
087400*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
087500*            PROCESS    :BW1700C-P24-PSTSEL
087600*                        'Business logic for Select' refine = N
087700*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
087800 BW1700C-P24-PSTSEL.
087900      .
088000*>
088100*>***===================================================
088200*>***
088300*>***         Post-Select Business Logic
088400*>***
088500*>*** Add your code here for any business logic
088600*>*** required after an SQL SELECT.
088700*>***
088800*>***===================================================
088900      .
089000*>
089100 BW1700C-P24-PSTSEL-EXIT.
089200     EXIT.
089300*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
089400*            PROCESS    :BW1700C-P25-CLEAN
089500*                        'Clean up record for display' refine = N
089600*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
089700 BW1700C-P25-CLEAN.
089800      .
089900*>
090000*>***===================================================
090100*>***
090200*>***  After Select, clean up the -WSC record for
090300*>***  display.  handle blank-dates & times, perform
090400*>***  user-format routines, etc.
090500*>***
090600*>***  This process is also performed after an insert
090700*>***  or update, to reset the -WSC record so that it
090800*>***  can be compared with the -WSC-CTRL.
090900*>***
091000*>***===================================================
091100*>* Handle blank_date_value for CLS-DT
091200     IF CLS-DT OF BW1700-WSC = '01/01/1001'
091300        MOVE ' ' TO CLS-DT OF BW1700-WSC
091400     END-IF.
091500*>* Handle blank_time_value for CLS-START-TM
091600     IF CLS-START-TM OF BW1700-WSC = '00:00:00'
091700        MOVE ' ' TO CLS-START-TM OF BW1700-WSC
091800     END-IF.
091900      .
092000*>
092100 BW1700C-P25-CLEAN-EXIT.
092200     EXIT.
092300*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
092400*            PROCESS    :BW1700C-P30-UPDATE
092500*                        'Business logic for Update' refine = N
092600*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
092700 BW1700C-P30-UPDATE.
092800      .
092900*>
093000*>***===================================================
093100*>***
093200*>***           Update Business Logic
093300*>***
093400*>*** Add your code here for any business logic
093500*>*** required before an SQL UPDATE.
093600*>***
093700*>***===================================================
093800      .
093900*>
094000 BW1700C-P30-UPDATE-EXIT.
094100     EXIT.
094200*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
094300*            PROCESS    :BW1700C-P32-UPD-IO
094400*                        'Update data in SQL table' refine = N exe
094500*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
094600 BW1700C-P32-UPD-IO.
094700      .
094800*>
094900     COMPUTE  NEXT-UPDATE-COUNT OF BW1700-WSC-CTRL =
095000        LAST-UPDATE-COUNT OF BW1700-WSC-CTRL + 1.
095100     IF NEXT-UPDATE-COUNT OF BW1700-WSC-CTRL > 32000
095200        MOVE 0 TO NEXT-UPDATE-COUNT OF BW1700-WSC-CTRL
095300     END-IF.
095400      .
095500*>
095600     PERFORM BW1700C-P32-UPD-IO-SQL.
095700     IF EZE-BW1700-HC1T100-STAT = EZE-OK
095800        MOVE 'Y' TO CHANGES-MADE OF BWSYSTEM
095900*> Always Re-read Row for multiple tables
096000        PERFORM BW1700C-P22-SEL-IO THRU BW1700C-P22-SEL-IO-EXIT
096100        PERFORM BW1700C-P25-CLEAN THRU BW1700C-P25-CLEAN-EXIT
096200        GO TO BW1700C-P32-UPD-IO-EXIT
096300     END-IF.
096400     IF EZE-BW1700-HC1T100-STAT = EZE-SQL-NRF
096500        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
096600           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
096700           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
096800              (MAX-MSG)
096900           MOVE 'ACTION' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
097000           MOVE ' ( E )  HC1T100 UPDATED BY ANOTHER PERSON - EZESE
097100-    'LECT AGAIN' TO MSG OF BWSYSTEM (MAX-MSG)
097200        END-IF
097300        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
097400        GO TO BW1700C-P32-UPD-IO-EXIT
097500     END-IF.
097600     MOVE 'SQL' TO MESSAGE-CODE OF BWSYSTEM.
097700     IF SQLCODE < 0
097800        MOVE '-' TO MESSAGE-SQL-SIGN OF BWSYSTEM
097900        COMPUTE  MESSAGE-SQL-CODE OF BWSYSTEM = SQLCODE * -1
098000     ELSE
098100        MOVE '+' TO MESSAGE-SQL-SIGN OF BWSYSTEM
098200        MOVE SQLCODE TO MESSAGE-SQL-CODE OF BWSYSTEM
098300     END-IF.
098400*     IF MESSAGE-KEY OF BWSYSTEM IN MESSAGE-KEY OF BWMSGTB
098500     MOVE  1  TO EZETST.
098600     MOVE ' ' TO EZE-DONE.
098700     PERFORM WITH TEST BEFORE UNTIL EZE-DONE = 'Y'
098800        IF  MESSAGE-KEY OF BWSYSTEM = MESSAGE-KEY OF BWMSGTB
098900           (EZETST)
099000           MOVE 'Y' TO EZE-DONE
099100        ELSE
099200           IF EZETST  >= 47
099300              MOVE 'Y' TO EZE-DONE
099400              MOVE  0  TO EZETST
099500           ELSE
099600              ADD  1  TO EZETST
099700           END-IF
099800        END-IF
099900     END-PERFORM.
100000     IF  EZETST > 0
100100        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
100200           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
100300           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
100400              (MAX-MSG)
100500           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
100600           MOVE MESSAGE-TEXT OF BWMSGTB (EZETST)  TO MSG OF
100700              BWSYSTEM (MAX-MSG)
100800        END-IF
100900        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
101000        GO TO BW1700C-P32-UPD-IO-EXIT
101100     END-IF.
101200     IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
101300        COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
101400        MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
101500           (MAX-MSG)
101600        MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
101700        MOVE ' ( E )  EZEDATA ERROR HAS OCCURRED - CONTACT YOUR SY
101800-    'STEM ADMINISTRATOR' TO MSG OF BWSYSTEM (MAX-MSG)
101900     END-IF.
102000     MOVE 'Y' TO ERROR-IND OF BWSYSTEM.
102100     MOVE 'BW1700C' TO APPLNM OF BWSYSTEM.
102200     MOVE 'BW1700C-P32-UPD-IO' TO PROCNM OF BWSYSTEM.
102300     MOVE 'UPDATE' TO OPTION OF BWSYSTEM.
102400     MOVE 'BW1700-HC1T100' TO RECNM OF BWSYSTEM.
102500     MOVE SQLCA TO BWERR-SQLCA OF BWSYSTEM.
102600     MOVE SQLCODE TO SQL-CODE OF BWSYSTEM.
102700     MOVE BWERR-ERRM OF BWSYSTEM TO SQL-ERRMC OF BWSYSTEM.
102800     MOVE 'E' TO ERROR-IND OF BWSYSTEM.
102900      .
103000*>
103100 BW1700C-P32-UPD-IO-EXIT.
103200     EXIT.
103300 BW1700C-P32-UPD-IO-SQL.
103400     EXEC SQL
103500        UPDATE
103600        HC1T100 T1
103700        SET
103800        CLS_TYPE_CD = :BW1700-HC1T100.CLS-TYPE-CD
103900           :BW1700-HC1T100.CLS-TYPE-CD-NI,
104000
104100        FRANCHISE_ID = :BW1700-HC1T100.FRANCHISE-ID,
104200
104300        EMPL_ID = :BW1700-HC1T100.EMPL-ID,
104400
104500        CLS_DT = :BW1700-HC1T100.CLS-DT,
104600
104700        CLS_START_TM = :BW1700-HC1T100.CLS-START-TM
104800           :BW1700-HC1T100.CLS-START-TM-NI,
104900
105000        CLS_LOC = :BW1700-HC1T100.CLS-LOC,
105100
105200        CLS_DUR = :BW1700-HC1T100.CLS-DUR
105300           :BW1700-HC1T100.CLS-DUR-NI,
105400
105500        CLS_COST = :BW1700-HC1T100.CLS-COST
105600           :BW1700-HC1T100.CLS-COST-NI,
105700
105800        MMBRS_ONLY_IND = :BW1700-HC1T100.MMBRS-ONLY-IND
105900           :BW1700-HC1T100.MMBRS-ONLY-IND-NI,
106000
106100        USE_COUNT = :BW1700-WSC-CTRL.NEXT-UPDATE-COUNT,
106200
106300        CLS_COMM = :BW1700-HC1T100.CLS-COMM
106400           :BW1700-HC1T100.CLS-COMM-NI
106500        WHERE
106600        CLS_ID = :BW1700-HC1T100.CLS-ID
106700        AND USE_COUNT = :BW1700-WSC-CTRL.LAST-UPDATE-COUNT
106800     END-EXEC.
106900     MOVE SQLCODE TO EZE-BW1700-HC1T100-STAT.
107000 BW1700C-P32-UPD-IO-SQL-EXIT.
107100     EXIT.
107200*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
107300*            PROCESS    :BW1700C-P40-DELETE
107400*                        'Business logic for Delete' refine = N
107500*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
107600 BW1700C-P40-DELETE.
107700      .
107800*>
107900*>***===================================================
108000*>***
108100*>***           Delete Business Logic
108200*>***
108300*>*** Add your code here for any business logic
108400*>*** required before an SQL DELETE.
108500*>***
108600*>***===================================================
108700      .
108800*>
108900 BW1700C-P40-DELETE-EXIT.
109000     EXIT.
109100*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
109200*            PROCESS    :BW1700C-P42-DEL-IO
109300*                        'Delete row from SQL table' refine = N ex
109400*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
109500 BW1700C-P42-DEL-IO.
109600     PERFORM BW1700C-P42-DEL-IO-SQL.
109700     IF EZE-BW1700-HC1T100-STAT = EZE-OK
109800*> Initialize Non-Selection Columns when Row deleted
109900        MOVE ' ' TO CLS-TYPE-CD OF BW1700S-HC1T100
110000        MOVE ' ' TO CLS-TYPE-NM OF BW1700S-HC1T100
110100        MOVE ' ' TO FRANCHISE-ID OF BW1700S-HC1T100
110200        MOVE ' ' TO EMPL-ID OF BW1700S-HC1T100
110300        MOVE ' ' TO EMPL-LAST-NM OF BW1700S-HC1T100
110400        MOVE ' ' TO EMPL-FIRST-NAME OF BW1700S-HC1T100
110500        MOVE ' ' TO CLS-DT OF BW1700S-HC1T100
110600        MOVE ' ' TO CLS-START-TM OF BW1700S-HC1T100
110700        MOVE ' ' TO CLS-LOC OF BW1700S-HC1T100
110800        MOVE 0 TO CLS-DUR OF BW1700S-HC1T100
110900        MOVE 0 TO CLS-COST OF BW1700S-HC1T100
111000        MOVE ' ' TO MMBRS-ONLY-IND OF BW1700S-HC1T100
111100        MOVE ' ' TO CLS-COMM OF BW1700S-HC1T100
111200*   MOVE CORR BW1700S-HC1T100 TO BW1700-HC1T100
111300        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-HC1T100
111400        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
111500           BW1700-HC1T100
111600        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
111700           BW1700-HC1T100
111800        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
111900           BW1700-HC1T100
112000        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-HC1T100
112100        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
112200           BW1700-HC1T100
112300        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
112400           BW1700-HC1T100
112500        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
112600           BW1700-HC1T100
112700        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
112800           BW1700-HC1T100
112900        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
113000           OF BW1700-HC1T100
113100        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
113200           BW1700-HC1T100
113300*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC
113400        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF BW1700-WSC
113500        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
113600           BW1700-WSC
113700        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
113800           BW1700-WSC
113900        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
114000           BW1700-WSC
114100        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF BW1700-WSC
114200        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
114300           BW1700-WSC
114400        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
114500           EMPL-FIRST-NAME OF BW1700-WSC
114600        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF BW1700-WSC
114700        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
114800           BW1700-WSC
114900        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF BW1700-WSC
115000        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF BW1700-WSC
115100        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF BW1700-WSC
115200        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
115300           OF BW1700-WSC
115400        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF BW1700-WSC
115500*   MOVE CORR BW1700S-HC1T100 TO BW1700-WSC-CTRL
115600        MOVE CLS-ID OF BW1700S-HC1T100 TO CLS-ID OF
115700           BW1700-WSC-CTRL
115800        MOVE CLS-TYPE-CD OF BW1700S-HC1T100 TO CLS-TYPE-CD OF
115900           BW1700-WSC-CTRL
116000        MOVE CLS-TYPE-NM OF BW1700S-HC1T100 TO CLS-TYPE-NM OF
116100           BW1700-WSC-CTRL
116200        MOVE FRANCHISE-ID OF BW1700S-HC1T100 TO FRANCHISE-ID OF
116300           BW1700-WSC-CTRL
116400        MOVE EMPL-ID OF BW1700S-HC1T100 TO EMPL-ID OF
116500           BW1700-WSC-CTRL
116600        MOVE EMPL-LAST-NM OF BW1700S-HC1T100 TO EMPL-LAST-NM OF
116700           BW1700-WSC-CTRL
116800        MOVE EMPL-FIRST-NAME OF BW1700S-HC1T100 TO
116900           EMPL-FIRST-NAME OF BW1700-WSC-CTRL
117000        MOVE CLS-DT OF BW1700S-HC1T100 TO CLS-DT OF
117100           BW1700-WSC-CTRL
117200        MOVE CLS-START-TM OF BW1700S-HC1T100 TO CLS-START-TM OF
117300           BW1700-WSC-CTRL
117400        MOVE CLS-LOC OF BW1700S-HC1T100 TO CLS-LOC OF
117500           BW1700-WSC-CTRL
117600        MOVE CLS-DUR OF BW1700S-HC1T100 TO CLS-DUR OF
117700           BW1700-WSC-CTRL
117800        MOVE CLS-COST OF BW1700S-HC1T100 TO CLS-COST OF
117900           BW1700-WSC-CTRL
118000        MOVE MMBRS-ONLY-IND OF BW1700S-HC1T100 TO MMBRS-ONLY-IND
118100           OF BW1700-WSC-CTRL
118200        MOVE CLS-COMM OF BW1700S-HC1T100 TO CLS-COMM OF
118300           BW1700-WSC-CTRL
118400        MOVE 'Y' TO CHANGES-MADE OF BWSYSTEM
118500        GO TO BW1700C-P42-DEL-IO-EXIT
118600     END-IF.
118700     IF EZE-BW1700-HC1T100-STAT = EZE-SQL-NRF
118800        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
118900           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
119000           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
119100              (MAX-MSG)
119200           MOVE 'ACTION' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
119300           MOVE ' ( E )  HC1T100 UPDATED BY ANOTHER PERSON - EZESE
119400-    'LECT AGAIN' TO MSG OF BWSYSTEM (MAX-MSG)
119500        END-IF
119600        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
119700        GO TO BW1700C-P42-DEL-IO-EXIT
119800     END-IF.
119900     MOVE 'SQL' TO MESSAGE-CODE OF BWSYSTEM.
120000     IF SQLCODE < 0
120100        MOVE '-' TO MESSAGE-SQL-SIGN OF BWSYSTEM
120200        COMPUTE  MESSAGE-SQL-CODE OF BWSYSTEM = SQLCODE * -1
120300     ELSE
120400        MOVE '+' TO MESSAGE-SQL-SIGN OF BWSYSTEM
120500        MOVE SQLCODE TO MESSAGE-SQL-CODE OF BWSYSTEM
120600     END-IF.
120700*     IF MESSAGE-KEY OF BWSYSTEM IN MESSAGE-KEY OF BWMSGTB
120800     MOVE  1  TO EZETST.
120900     MOVE ' ' TO EZE-DONE.
121000     PERFORM WITH TEST BEFORE UNTIL EZE-DONE = 'Y'
121100        IF  MESSAGE-KEY OF BWSYSTEM = MESSAGE-KEY OF BWMSGTB
121200           (EZETST)
121300           MOVE 'Y' TO EZE-DONE
121400        ELSE
121500           IF EZETST  >= 47
121600              MOVE 'Y' TO EZE-DONE
121700              MOVE  0  TO EZETST
121800           ELSE
121900              ADD  1  TO EZETST
122000           END-IF
122100        END-IF
122200     END-PERFORM.
122300     IF  EZETST > 0
122400        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
122500           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
122600           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
122700              (MAX-MSG)
122800           MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
122900           MOVE MESSAGE-TEXT OF BWMSGTB (EZETST)  TO MSG OF
123000              BWSYSTEM (MAX-MSG)
123100        END-IF
123200        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
123300        GO TO BW1700C-P42-DEL-IO-EXIT
123400     END-IF.
123500     IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
123600        COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
123700        MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
123800           (MAX-MSG)
123900        MOVE 'CLS-ID' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
124000        MOVE 'DATA ERROR HAS OCCURRED - CONTACT YOUR SYSTEM ADMINI
124100-    'STRATOR' TO MSG OF BWSYSTEM (MAX-MSG)
124200     END-IF.
124300     MOVE 'Y' TO ERROR-IND OF BWSYSTEM.
124400     MOVE 'BW1700C' TO APPLNM OF BWSYSTEM.
124500     MOVE 'BW1700C-P42-DEL-IO' TO PROCNM OF BWSYSTEM.
124600     MOVE 'DELETE' TO OPTION OF BWSYSTEM.
124700     MOVE 'BW1700-HC1T100' TO RECNM OF BWSYSTEM.
124800     MOVE SQLCA TO BWERR-SQLCA OF BWSYSTEM.
124900     MOVE SQLCODE TO SQL-CODE OF BWSYSTEM.
125000     MOVE BWERR-ERRM OF BWSYSTEM TO SQL-ERRMC OF BWSYSTEM.
125100     MOVE 'E' TO ERROR-IND OF BWSYSTEM.
125200      .
125300*>
125400 BW1700C-P42-DEL-IO-EXIT.
125500     EXIT.
125600 BW1700C-P42-DEL-IO-SQL.
125700     EXEC SQL
125800        DELETE FROM
125900        HC1T100 T1
126000        WHERE
126100        CLS_ID = :BW1700-HC1T100.CLS-ID
126200        AND USE_COUNT = :BW1700-WSC-CTRL.LAST-UPDATE-COUNT
126300     END-EXEC.
126400     MOVE SQLCODE TO EZE-BW1700-HC1T100-STAT.
126500 BW1700C-P42-DEL-IO-SQL-EXIT.
126600     EXIT.
126700*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
126800*            PROCESS    :BW1700C-P60-EDITS
126900*                        'Wizard-generated Edit checks' refine = N
127000*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
127100 BW1700C-P60-EDITS.
127200      .
127300*>
127400*>***===================================================
127500*>***
127600*>***    Edit checks on entered fields
127700*>***    for Insert or Update
127800*>***
127900*>***===================================================
128000*>* CLS-DT is a required_field
128100     IF CLS-DT OF BW1700-WSC = ' '
128200        IF MAX-MSG OF BWSYSTEM < LIMIT-MSG OF BWSYSTEM
128300           COMPUTE  MAX-MSG OF BWSYSTEM = MAX-MSG OF BWSYSTEM + 1
128400           MOVE APPLNM OF BWSYSTEM TO MESSAGE-APPLNM OF BWSYSTEM
128500              (MAX-MSG)
128600           MOVE 'CLS-DT' TO FIELD-NAME OF BWSYSTEM (MAX-MSG)
128700           MOVE ' ( E )  CLS DT IS A REQUIRED FIELD' TO MSG OF
128800              BWSYSTEM (MAX-MSG)
128900        END-IF
129000        MOVE 'Y' TO ERROR-IND OF BWSYSTEM
129100     END-IF.
129200     IF ERROR-IND OF BWSYSTEM = 'N'
129300*> handle blank dates and times
129400*>* if CLS-DT has been left blank on the screen,
129500*>* set it to the blank_date_value item extension to avoid
129600*>* an SQL error
129700        IF CLS-DT OF BW1700-HC1T100 = ' '
129800           MOVE '01/01/1001' TO CLS-DT OF BW1700-HC1T100
129900        END-IF
130000*>* if CLS-START-TM has been left blank on the screen,
130100*>* set it to the blank_time_value item extension to avoid
130200*>* an SQL error
130300        IF CLS-START-TM OF BW1700-HC1T100 = ' '
130400*>MOVE '00:00:00'
130500*>  TO BW1700_HC1T100.CLS-START-TM;
130600           MOVE -1 TO CLS-START-TM-NI OF BW1700-HC1T100
130700        END-IF
130800        IF CLS-COMM OF BW1700-HC1T100 = ' '
130900           MOVE -1 TO CLS-COMM-NI OF BW1700-HC1T100
131000        END-IF
131100     END-IF.
131200      .
131300*>
131400 BW1700C-P60-EDITS-EXIT.
131500     EXIT.
131600 EZE-XFER.
131700     EXEC CICS START TRANSID(EZEAPP)
131800        FROM(BW1700-WSC)
131900        LENGTH(LENGTH OF BW1700-WSC)
132000        TERMID(EIBTRMID)
132100     END-EXEC.
132200 EZE-CLOSE.
132300     EXEC CICS RETURN
132400     END-EXEC.
132500
132600     COPY BWFNCICS.
132700

About Bridgewater  BW*Wizard  Presentations  Services  Partner Page 

JAVA  COBOL  VAGen  Overview  How does it work?  White Papers 

Customer Quotes  Support  Contact Us

     Bridgewater Consultants Copyright © 2005 Bridgewater Consultants, Inc.  All rights reserved.