DB2 program 03 - UpdatefromPStoTABLE

 

       IDENTIFICATION DIVISION.                                         00010000

       PROGRAM-ID.  UPDEIN.                                             00020000

       AUTHOR.      SRIBLOG.                                            00030000

      *From PS, check and update table rows, based on condition

       ENVIRONMENT DIVISION.                                            00040000

       INPUT-OUTPUT SECTION.                                            00050000

       FILE-CONTROL.                                                    00060000

           SELECT BI001-INPUT-PS ASSIGN TO DD1                          00061000

                ORGANIZATION SEQUENTIAL                                 00062000

                ACCESS SEQUENTIAL                                       00063000

                FILE STATUS IS WS01-FST-PS.                             00064001

       DATA DIVISION.                                                   00070000

       FILE SECTION.                                                    00080000

       FD BI001-INPUT-PS.                                               00081000

       01 BI001-INPUT-PS-REC.                                           00082000

          02 KEY-PS                                PIC 9(4).            00083000

          02 FILLER                                PIC X.               00084000

          02 COND-PS                               PIC X.               00085000

          02 FILLER                                PIC X.               00086000

          02 NAME-PS                               PIC X(9).            00087000

          02 FILLER                                PIC X.               00088000

          02 COUNTRY-PS                            PIC X(5).            00089000

          02 FILLER                                PIC X.               00089100

          02 STATE-PS                              PIC X(9).            00089200

          02 FILLER                                PIC X .              00089300

          02 SALARY-PS                             PIC 9(6).            00089400

          02 FILLER                                PIC X(41).           00089500

       WORKING-STORAGE SECTION.                                         00090000

       01 VARIABLES.                                                    00091000

          05 WS01-FST-PS                           PIC 9(2).            00092000

             88 C01-PS-SUCCESS                     VALUE 00.            00093001

             88 C01-PS-EOF                         VALUE 10.            00094001

       01 WSS-ERR-MSG.                                                  00100000

           05 WS-ERR-MSG.                                               00110000

              10 WS-ERR-LEN                    PIC S9(9) COMP VALUE 800.00120000

              10 WS-ERR-TEXT                   PIC X(80)                00130000

                                                   OCCURS 10 TIMES.     00140000

           05 WS-ERR-LRECL                     PIC S9(9) COMP VALUE 80. 00150000

           05 WS-DB2-ERRMSG-IDX                PIC 9(2).                00160000

           05 WS-ERROR-MESSAGE                 PIC X(120).              00170000

           05 WS-SQLCODE-CODE                  PIC S9(3)                00180000

                                                  SIGN LEADING SEPARATE.00190000

       01 WS-SQLCODE-ERR                       PIC S9(03)               00200000

                                                  SIGN LEADING SEPARATE.00210000

           88 C01-IND-EM-SUCCESS                        VALUE +000.     00220000

           88 C01-IND-EM-DUPTABLE                       VALUE -601.     00230000

           88 C01-IND-EM-DB-NOT-FND                     VALUE -204.     00240000

           88 C01-IND-EM-ILLEGAL-SYMBOL                 VALUE -104.     00250000

           88 C01-IND-EM-ILLEGAL-KEYWORD                VALUE -199.     00260000

           EXEC SQL                                                     00261000

                INCLUDE CRIC                                            00262000

           END-EXEC                                                     00263000

           EXEC SQL                                                     00270000

                INCLUDE SQLCA                                           00280000

           END-EXEC                                                     00290000

       PROCEDURE DIVISION.                                              00300000

         0000-MAIN-PARA.                                                00310000

             PERFORM 1000-INITIALIZATION-PARA                           00320000

                THRU 1000-INITIALIZATION-PARA-EXIT                      00330000

             PERFORM 2000-PROCESS-PARA                                  00340000

                THRU 2000-PROCESS-PARA-EXIT                             00350000

             PERFORM 9000-TERMINATION-PARA                              00360000

                THRU 9000-TERMINATION-PARA-EXIT                         00370000

             .                                                          00380000

         0000-MAIN-PARA-EXIT.                                           00390000

             EXIT                                                       00400000

             .                                                          00410000

         1000-INITIALIZATION-PARA.                                      00420000

                INITIALIZE WS-SQLCODE-ERR                               00430000

                .                                                       00440000

         1000-INITIALIZATION-PARA-EXIT.                                 00450000

                EXIT                                                    00460000

                .                                                       00470000

         2000-PROCESS-PARA.                                             00480000

              PERFORM 2100-OPEN-PARA                                    00490000

              THRU    2100-OPEN-PARA-EXIT                               00500000

              PERFORM 2200-READ-PARA                                    00510000

              THRU    2200-READ-PARA-EXIT                               00520000

              UNTIL   C01-PS-EOF                                        00521000

              PERFORM 2300-CLOSE-PARA                                   00530000

              THRU    2300-CLOSE-PARA-EXIT                              00540000

               .                                                        00550000

         2000-PROCESS-PARA-EXIT.                                        00560001

               EXIT                                                     00570000

               .                                                        00580000

         2100-OPEN-PARA.                                                00590001

              OPEN INPUT BI001-INPUT-PS                                 00591000

              EVALUATE TRUE                                             00592000

              WHEN C01-PS-SUCCESS                                       00593000

              DISPLAY 'PS OPENED SUCCESSFULLY'                          00594000

              CONTINUE                                                  00595000

              WHEN OTHER                                                00596003

              DISPLAY 'PS OPEN ERROR' WS01-FST-PS                       00597000

              PERFORM 9000-TERMINATION-PARA                             00598000

                 THRU 9000-TERMINATION-PARA-EXIT                        00599000

                 .                                                      00599100

         2100-OPEN-PARA-EXIT.                                           00600001

                 EXIT                                                   00610000

                 .                                                      00620000

         2200-READ-PARA.                                                00630001

               READ BI001-INPUT-PS                                      00631000

               EVALUATE TRUE                                            00632000

               WHEN C01-PS-SUCCESS                                      00633000

               DISPLAY 'READ'                                           00633109

               DISPLAY BI001-INPUT-PS-REC                               00633209

                   EVALUATE TRUE                                        00634000

                   WHEN COND-PS='U'                                     00635000

                      DISPLAY 'UPDATE'                                  00635107

                      PERFORM 2201-UPDATE-PARA                          00635206

                      THRU    2201-UPDATE-PARA-EXIT                     00635306

                   WHEN COND-PS='I'                                     00635406

                      DISPLAY 'INSERT'                                  00635507

                      PERFORM 2201-INSERT-PARA                          00635606

                      THRU    2201-INSERT-PARA-EXIT                     00635706

                   WHEN COND-PS='D'                                     00635806

                      DISPLAY 'DELETE'                                  00635907

                      PERFORM 2201-DELETE-PARA                          00636006

                      THRU    2201-DELETE-PARA-EXIT                     00636106

                    END-EVALUATE                                        00636206

              WHEN C01-PS-EOF                                           00636306

                   CONTINUE                                             00636406

                   DISPLAY 'END REACHED'                                00636506

              WHEN OTHER                                                00636606

                   DISPLAY 'READ ERROR' WS01-FST-PS                     00636706

                   PERFORM 2300-CLOSE-PARA                              00636806

                   THRU    2300-CLOSE-PARA-EXIT                         00636906

                   PERFORM 9000-TERMINATION-PARA                        00637006

                   THRU    9000-TERMINATION-PARA-EXIT                   00637106

               END-EVALUATE                                             00637206

               .                                                        00637306

         2200-READ-PARA-EXIT.                                           00637406

                 EXIT                                                   00637506

                 .                                                      00637606

        2201-UPDATE-PARA.                                               00637706

                      MOVE KEY-PS   TO HV-EMPLOY-ID                     00637800

                      MOVE STATE-PS TO HV-EMPLOY-STATE                  00637900

                      EXEC SQL                                          00638000

                        UPDATE TB_CRICKET                               00638100

                        SET EMPLOY_STATE = :HV-EMPLOY-STATE             00639000

                        WHERE EMPLOY_ID  = :HV-EMPLOY-ID                00639100

                      END-EXEC                                          00639200

                     MOVE SQLCODE TO WS-SQLCODE-ERR.                    00660002

                     MOVE SQLCODE TO WS-SQLCODE-CODE.                   00670002

                     EVALUATE TRUE                                      00690002

                     WHEN C01-IND-EM-SUCCESS                            00700002

                     DISPLAY 'UPDATED SUCCESSFULLY'                     00710002

                     DISPLAY WS-SQLCODE-CODE                            00720002

                     WHEN C01-IND-EM-ILLEGAL-SYMBOL                     00840002

                  DISPLAY 'CHECK THE BRACES,COMMA,AND SPELLINGS.INVALID'00850000

                  DISPLAY WS-SQLCODE-CODE                               00860000

                  WHEN C01-IND-EM-ILLEGAL-KEYWORD                       00870002

                  DISPLAY 'CHECK SPLELLINGS OF THE KEYWORDS.ITS INVALID'00880000

                  DISPLAY WS-SQLCODE-CODE                               00890000

                  WHEN OTHER                                            00900002

                    CALL 'DSNTIAR' USING SQLCA,                         00910000

                                         WS-ERR-MSG                     00920000

                                         WS-ERR-LRECL                   00930000

                    DISPLAY              WS-ERR-MSG                     00940000

                    END-EVALUATE                                        00950000

                    .                                                   00950106

         2201-UPDATE-PARA-EXIT.                                         00950206

                    EXIT                                                00950306

                    .                                                   00950406

         2201-INSERT-PARA.                                              00950506

                     MOVE KEY-PS     TO HV-EMPLOY-ID                    00952000

                     MOVE NAME-PS    TO HV-EMPLOY-FNAME                 00953000

                     MOVE COUNTRY-PS TO HV-EMPLOY-COUNTRY               00954000

                     MOVE STATE-PS   TO HV-EMPLOY-STATE                 00955000

                     MOVE SALARY-PS  TO HV-SALARY                       00956000

                     EXEC SQL                                           00957000

                        INSERT INTO TB_CRICKET                          00958000

                        VALUES                                          00959000

                        (                                               00959100

                         :HV-EMPLOY-ID                                  00959200

                        ,:HV-EMPLOY-FNAME                               00959300

                        ,:HV-EMPLOY-COUNTRY                             00959400

                        ,:HV-EMPLOY-STATE                               00959500

                        ,:HV-SALARY                                     00959600

                         )                                              00959700

                    END-EXEC                                            00959800

              MOVE SQLCODE TO WS-SQLCODE-ERR.                           00959900

              MOVE SQLCODE TO WS-SQLCODE-CODE.                          00960000

             EVALUATE TRUE                                              00960100

                WHEN C01-IND-EM-SUCCESS                                 00960200

                    DISPLAY 'INSERTED SUCCESSFULLY'                     00960300

                    DISPLAY WS-SQLCODE-CODE                             00960400

             WHEN C01-IND-EM-ILLEGAL-SYMBOL                             00960500

                  DISPLAY 'CHECK THE BRACES,COMMA,AND SPELLINGS.INVALID'00960600

                  DISPLAY WS-SQLCODE-CODE                               00960700

                WHEN C01-IND-EM-ILLEGAL-KEYWORD                         00960800

                  DISPLAY 'CHECK SPLELLINGS OF THE KEYWORDS.ITS INVALID'00960900

                  DISPLAY WS-SQLCODE-CODE                               00961000

                WHEN OTHER                                              00961100

                    CALL 'DSNTIAR' USING SQLCA,                         00961200

                                         WS-ERR-MSG                     00961300

                                         WS-ERR-LRECL                   00961400

                    DISPLAY              WS-ERR-MSG                     00961500

                    END-EVALUATE                                        00961600

                    .                                                   00961706

         2201-INSERT-PARA-EXIT.                                         00961806

                    EXIT                                                00961906

                    .                                                   00962006

         2201-DELETE-PARA.                                              00962106

                       MOVE KEY-PS TO HV-EMPLOY-ID                      00962304

                       EXEC SQL                                         00962404

                         DELETE FROM                                    00962504

                         TB_CRICKET                                     00962604

                         WHERE EMPLOY_ID=:HV-EMPLOY-ID                  00962704

                       END-EXEC                                         00962804

                      MOVE SQLCODE TO WS-SQLCODE-ERR.                   00962904

                      MOVE SQLCODE TO WS-SQLCODE-CODE.                  00963004

                      EVALUATE TRUE                                     00963104

                      WHEN C01-IND-EM-SUCCESS                           00963204

                      DISPLAY 'DELETED SUCCESSFULLY'                    00963304

                      DISPLAY WS-SQLCODE-CODE                           00963404

                      WHEN C01-IND-EM-ILLEGAL-SYMBOL                    00963504

                  DISPLAY 'CHECK THE BRACES,COMMA,AND SPELLINGS.INVALID'00963604

                  DISPLAY WS-SQLCODE-CODE                               00963704

                WHEN C01-IND-EM-ILLEGAL-KEYWORD                         00963804

                  DISPLAY 'CHECK SPLELLINGS OF THE KEYWORDS.ITS INVALID'00963904

                  DISPLAY WS-SQLCODE-CODE                               00964004

                WHEN OTHER                                              00964104

                    CALL 'DSNTIAR' USING SQLCA,                         00964204

                                         WS-ERR-MSG                     00964304

                                         WS-ERR-LRECL                   00964404

                    DISPLAY              WS-ERR-MSG                     00964504

                    END-EVALUATE                                        00964604

                    .                                                   00964706

         2201-DELETE-PARA-EXIT.                                         00964806

                    EXIT                                                00964906

                    .                                                   00965006

         2300-CLOSE-PARA.                                               00990000

                  CLOSE BI001-INPUT-PS                                  00991000

                  EVALUATE TRUE                                         00992000

                  WHEN C01-PS-SUCCESS                                   00993000

                  DISPLAY 'PS CLOSED SUCCESS'                           00994000

                  WHEN OTHER                                            00995000

                  DISPLAY 'PS NOT CLOSED'                               00996000

                   PERFORM 9000-TERMINATION-PARA                        00997000

                   THRU    9000-TERMINATION-PARA-EXIT                   00998000

                   .                                                    00999000

         2300-CLOSE-PARA-EXIT.                                          00999101

                   EXIT                                                 00999200

                   .                                                    00999300

         9000-TERMINATION-PARA.                                         01000000

                    STOP RUN                                            01010000

                    .                                                   01020000

         9000-TERMINATION-PARA-EXIT.                                    01030000

                    EXIT                                                01040000

                    .                                                   01050000

No comments:

Post a Comment