home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / o22516d1.zip / DSDEMO.@IP / DSFRONT.CBL < prev    next >
Text File  |  1992-07-29  |  6KB  |  147 lines

  1.       $SET MF
  2.        IDENTIFICATION DIVISION.
  3.        ENVIRONMENT DIVISION.
  4.        DATA DIVISION.
  5.        WORKING-STORAGE SECTION.
  6.        77  DIALOG-SYSTEM               PIC X(8) VALUE 'DSRUN'.
  7.        77  DISPLAY-ERROR-NO            PIC 9(8).
  8.        77  ARRAY-IND                   PIC 9(4) COMP.
  9.        COPY "DS-CNTRL.MF".
  10.        COPY "DSCCIECI.cpb".
  11.        COPY COMMAREA.
  12.        PROCEDURE DIVISION.
  13.            PERFORM PROGRAM-INITIALIZE
  14.            PERFORM PROGRAM-BODY UNTIL EXIT-FLG-TRUE
  15.            PERFORM PROGRAM-TERMINATE
  16.            .
  17.       *---------------------------------------------------------------*
  18.        PROGRAM-INITIALIZE SECTION.
  19.            INITIALIZE DS-CONTROL-BLOCK
  20.                       DATA-BLOCK
  21.                       COMM-AREA
  22.       *
  23.       * MAKING A CALL AT THE BEGINNING OF THE EXECUTION TO MAKE SURE
  24.       * THAT THE CCI PART OF THE APPLICATION IS FUNCTIONAL
  25.       *
  26.            MOVE 1 TO COMM-REQUEST
  27.            PERFORM CALL-CCI
  28.            MOVE DATA-BLOCK-VERSION-NO
  29.                                     TO DS-DATA-BLOCK-VERSION-NO
  30.            MOVE VERSION-NO          TO DS-VERSION-NO
  31.            MOVE DS-NEW-SET          TO DS-CONTROL
  32.            MOVE 'DSCCIECI'            TO DS-SET-NAME
  33.            PERFORM CALL-DIALOG-SYSTEM
  34.            .
  35.       *---------------------------------------------------------------*
  36.        PROGRAM-BODY SECTION.
  37.            MOVE 2 TO COMM-REQUEST
  38.            EVALUATE TRUE
  39.                WHEN DS-EXIT-FIELD-TRUE
  40.                    PERFORM DERIVATIONS
  41.                WHEN CLR-FLG-TRUE
  42.                    INITIALIZE DATA-BLOCK
  43.                WHEN LOAD-FLG-TRUE
  44.                    MOVE 1 TO COMM-LOAD-FLAG
  45.                    MOVE C-CODE TO FILE-C-CODE
  46.                    PERFORM CALL-CCI
  47.                    PERFORM FILL-SCREEN-FROM-RECORD
  48.                    PERFORM DERIVATIONS
  49.                WHEN SAVE-FLG-TRUE
  50.                    MOVE 1 TO COMM-SAVE-FLAG
  51.                    PERFORM FILL-RECORD-FROM-SCREEN
  52.                    PERFORM DERIVATIONS
  53.                    PERFORM CALL-CCI
  54.                WHEN DEL-FLG-TRUE
  55.                    MOVE 1 TO COMM-DELETE-FLAG
  56.                    PERFORM CALL-CCI
  57.            END-EVALUATE
  58.  
  59.            INITIALIZE GROUP-002
  60.                       COMM-FLAGS
  61.            PERFORM CALL-DIALOG-SYSTEM
  62.            .
  63.       *---------------------------------------------------------------*
  64.        CALL-DIALOG-SYSTEM SECTION.
  65.            CALL DIALOG-SYSTEM USING DS-CONTROL-BLOCK
  66.                                     DATA-BLOCK
  67.            IF DS-NO-ERROR
  68.                NEXT SENTENCE
  69.            ELSE
  70.                MOVE DS-ERROR-CODE  TO DISPLAY-ERROR-NO
  71.                DISPLAY 'DS ERROR NO:   ' DISPLAY-ERROR-NO
  72.                PERFORM PROGRAM-TERMINATE
  73.            END-IF
  74.            .
  75.       *---------------------------------------------------------------*
  76.        CALL-CCI SECTION.
  77.            CALL 'DSCLIENT' USING COMM-AREA
  78.            EVALUATE COMM-RETURN
  79.                WHEN 0
  80.                    CONTINUE
  81.                WHEN 1
  82.                    MOVE 'CRITICAL-ERROR' TO DS-PROCEDURE
  83.                    MOVE COMM-MESSAGE     TO ERR-MSG
  84.                WHEN 2
  85.                    MOVE 'FILE-MESSAGE' TO DS-PROCEDURE
  86.                    MOVE COMM-MESSAGE     TO ERR-MSG
  87.            END-EVALUATE
  88.            .
  89.  
  90.        PROGRAM-TERMINATE SECTION.
  91.            MOVE 3 TO COMM-REQUEST
  92.            PERFORM CALL-CCI
  93.            GOBACK
  94.            .
  95.        FILL-SCREEN-FROM-RECORD SECTION.
  96.            MOVE FILE-C-CODE            TO C-CODE
  97.            MOVE FILE-C-NAME            TO C-NAME
  98.            MOVE FILE-C-ADDR1           TO C-ADDR1
  99.            MOVE FILE-C-ADDR2           TO C-ADDR2
  100.            MOVE FILE-C-ADDR3           TO C-ADDR3
  101.            MOVE FILE-C-ADDR4           TO C-ADDR4
  102.            MOVE FILE-C-LIMIT           TO C-LIMIT
  103.            MOVE FILE-C-AREA            TO C-AREA
  104.            PERFORM VARYING ARRAY-IND FROM 1 BY 1
  105.                                           UNTIL ARRAY-IND > 10
  106.                MOVE FILE-ORD-NO(ARRAY-IND) TO ORD-NO(ARRAY-IND)
  107.                MOVE FILE-ORD-DATE(ARRAY-IND) TO
  108.                                            ORD-DATE(ARRAY-IND)
  109.                MOVE FILE-ORD-VAL(ARRAY-IND) TO
  110.                                            ORD-VAL(ARRAY-IND)
  111.                MOVE FILE-PAY-VAL(ARRAY-IND) TO
  112.                                            PAY-VAL(ARRAY-IND)
  113.            END-PERFORM
  114.            .
  115.  
  116.        FILL-RECORD-FROM-SCREEN SECTION.
  117.            MOVE C-CODE        TO FILE-C-CODE
  118.            MOVE C-NAME        TO FILE-C-NAME
  119.            MOVE C-ADDR1       TO FILE-C-ADDR1
  120.            MOVE C-ADDR2       TO FILE-C-ADDR2
  121.            MOVE C-ADDR3       TO FILE-C-ADDR3
  122.            MOVE C-ADDR4       TO FILE-C-ADDR4
  123.            MOVE C-LIMIT       TO FILE-C-LIMIT
  124.            MOVE C-AREA        TO FILE-C-AREA
  125.            PERFORM VARYING ARRAY-IND FROM 1 BY 1
  126.                                           UNTIL ARRAY-IND > 10
  127.                MOVE ORD-NO(ARRAY-IND) TO FILE-ORD-NO(ARRAY-IND)
  128.                MOVE ORD-DATE(ARRAY-IND) TO
  129.                                            FILE-ORD-DATE(ARRAY-IND)
  130.                MOVE ORD-VAL(ARRAY-IND) TO
  131.                                            FILE-ORD-VAL(ARRAY-IND)
  132.                MOVE PAY-VAL(ARRAY-IND) TO
  133.                                            FILE-PAY-VAL(ARRAY-IND)
  134.            END-PERFORM
  135.            .
  136.  
  137.        DERIVATIONS SECTION.
  138.            MOVE 0 TO C-BAL
  139.            PERFORM VARYING ARRAY-IND
  140.                               FROM 1 BY 1 UNTIL ARRAY-IND > 10
  141.                COMPUTE ORD-BAL(ARRAY-IND) =
  142.                      ORD-VAL(ARRAY-IND) -
  143.                                            PAY-VAL(ARRAY-IND)
  144.                ADD ORD-BAL(ARRAY-IND) TO C-BAL
  145.            END-PERFORM
  146.            .
  147.