SHARE
TWEET

Untitled

a guest Mar 15th, 2019 118 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. DCI9APGE.
  3.        AUTHOR. JOREE MIRANDA.
  4.  
  5.        ENVIRONMENT DIVISION.
  6.        CONFIGURATION SECTION.
  7.        DATA DIVISION.
  8.        WORKING-STORAGE SECTION.
  9.  
  10.        01 WS-STUFILE-RECORD.
  11.           05 WS-STU-KEY.
  12.               10 WS-STU-NUMBER        PIC X(7).
  13.               10 WS-STU-NUMBERL       COMP PIC S9(4).
  14.           05 WS-STU-NAME              PIC X(20).
  15.           05 WS-STU-NAMEL             COMP PIC S9(4).
  16.           05 WS-STU-COURSE-1          PIC X(8).
  17.           05 WS-STU-COURSE-1L         COMP PIC S9(4).
  18.           05 WS-STU-COURSE-2          PIC X(8).
  19.           05 WS-STU-COURSE-2L         COMP PIC S9(4).
  20.           05 WS-STU-COURSE-3          PIC X(8).
  21.           05 WS-STU-COURSE-3L         COMP PIC S9(4).
  22.           05 WS-STU-COURSE-4          PIC X(8).
  23.           05 WS-STU-COURSE-4L         COMP PIC S9(4).
  24.           05 WS-STU-COURSE-5          PIC X(8).
  25.           05 WS-STU-COURSE-5L         COMP PIC S9(4).
  26.           05 WS-STU-ADDRESS-1         PIC X(20).
  27.           05 WS-STU-ADDRESS-1L        COMP PIC S9(4).
  28.           05 WS-STU-ADDRESS-2         PIC X(20).
  29.           05 WS-STU-ADDRESS-2L        COMP PIC S9(4).
  30.           05 WS-STU-ADDRESS-3         PIC X(20).
  31.           05 WS-STU-ADDRESS-3L        COMP PIC S9(4).
  32.           05 WS-STU-POSTAL-1          PIC X(3).
  33.           05 WS-STU-POSTAL-2          PIC X(3).
  34.           05 WS-STU-PHONE-1           PIC X(3).
  35.           05 WS-STU-PHONE-1L          COMP PIC S9(4).
  36.           05 WS-STU-PHONE-2           PIC X(3).
  37.           05 WS-STU-PHONE-2L          COMP PIC S9(4).
  38.           05 WS-STU-PHONE-3           PIC X(4).
  39.           05 WS-STU-PHONE-3L          COMP PIC S9(4).
  40.           05 WS-MESSAGE               PIC X(60).
  41.  
  42.        LINKAGE SECTION.
  43.  
  44.        01 DFHCOMMAREA PIC X(256).
  45.  
  46.        PROCEDURE DIVISION.
  47.  
  48.        100-MAIN-LOGIC.
  49.       * TODO: IMPLEMENT VALIDATION LOGIC
  50.            MOVE DFHCOMMAREA TO WS-STUFILE-RECORD.
  51.  
  52.            IF (WS-STU-NUMBER IS NOT NUMERIC OR WS-STU-NUMBERL < 7)
  53.               GO TO 400-INVALID-STUDENT
  54.            END-IF.
  55.  
  56.            IF (WS-STU-COURSE-1L = 0)
  57.                 IF (WS-STU-COURSE-2L = 0)
  58.                     IF (WS-STU-COURSE-3L = 0)
  59.                         IF (WS-STU-COURSE-4L = 0)
  60.                             IF (WS-STU-COURSE-5L = 0)
  61.                                 GO TO 510-EMPTY-CODE
  62.                             END-IF
  63.                         END-IF
  64.                     END-IF
  65.                 END-IF
  66.            END-IF.
  67.  
  68.            IF (WS-STU-COURSE-1L > 0)
  69.                  IF (WS-STU-COURSE-1(1:4) IS NOT ALPHABETIC OR
  70.                      WS-STU-COURSE-1(5:4) IS NOT NUMERIC)
  71.                       GO TO 501-INVALID-CODE
  72.                  END-IF
  73.            END-IF.
  74.  
  75.            IF (WS-STU-COURSE-2L > 0)
  76.                 IF (WS-STU-COURSE-2(1:4) IS NOT ALPHABETIC OR
  77.                     WS-STU-COURSE-2(5:4) IS NOT NUMERIC)
  78.                       GO TO 502-INVALID-CODE
  79.                 END-IF
  80.            END-IF.
  81.  
  82.            IF (WS-STU-COURSE-3L > 0)
  83.                 IF (WS-STU-COURSE-3(1:4) IS NOT ALPHABETIC OR
  84.                     WS-STU-COURSE-3(5:4) IS NOT NUMERIC)
  85.                       GO TO 503-INVALID-CODE
  86.                 END-IF
  87.            END-IF.
  88.  
  89.            IF (WS-STU-COURSE-4L > 0)
  90.                 IF (WS-STU-COURSE-4(1:4) IS NOT ALPHABETIC OR
  91.                     WS-STU-COURSE-4(5:4) IS NOT NUMERIC)
  92.                      GO TO 504-INVALID-CODE
  93.                 END-IF
  94.            END-IF.
  95.  
  96.            IF (WS-STU-COURSE-5L > 0)
  97.                 IF (WS-STU-COURSE-5(1:4) IS NOT ALPHABETIC OR
  98.                     WS-STU-COURSE-5(5:4) IS NOT NUMERIC)
  99.                      GO TO 505-INVALID-CODE
  100.                 END-IF
  101.            END-IF.
  102.  
  103.            IF (WS-STU-NAMEL = 0)
  104.               GO TO 450-INVALID-NAME
  105.            END-IF.
  106.  
  107.            IF (WS-STU-ADDRESS-1L = 0)
  108.               GO TO 601-INVALID-ADDRESS
  109.            END-IF.
  110.  
  111.            IF (WS-STU-ADDRESS-2L = 0)
  112.               GO TO 602-INVALID-ADDRESS
  113.            END-IF.
  114.  
  115.  
  116.            IF (WS-STU-POSTAL-1(1:1) IS NOT ALPHABETIC)
  117.                 GO TO 700-INVALID-POSTAL-CODE
  118.            ELSE
  119.                 IF (WS-STU-POSTAL-1(2:1) IS NOT NUMERIC)
  120.                     GO TO 700-INVALID-POSTAL-CODE
  121.                 ELSE
  122.                     IF (WS-STU-POSTAL-1(3:1) IS NOT ALPHABETIC)
  123.                         GO TO 700-INVALID-POSTAL-CODE
  124.                     END-IF
  125.                 END-IF
  126.            END-IF.
  127.  
  128.            IF (WS-STU-POSTAL-2(1:1) IS NOT NUMERIC)
  129.                 GO TO 700-INVALID-POSTAL-CODE
  130.            ELSE
  131.                 IF (WS-STU-POSTAL-2(2:1) IS NOT ALPHABETIC)
  132.                     GO TO 700-INVALID-POSTAL-CODE
  133.                 ELSE
  134.                     IF (WS-STU-POSTAL-2(3:1) IS NOT NUMERIC)
  135.                         GO TO 700-INVALID-POSTAL-CODE
  136.                     END-IF
  137.                 END-IF
  138.            END-IF.
  139.  
  140.            IF (WS-STU-PHONE-1 IS NOT NUMERIC
  141.                 OR WS-STU-PHONE-2 IS NOT NUMERIC
  142.                 OR WS-STU-PHONE-3 IS NOT NUMERIC)
  143.               GO TO 550-INVALID-PHONE
  144.            END-IF.
  145.  
  146.            IF (WS-STU-PHONE-1L < 3 OR WS-STU-PHONE-2L < 3
  147.                 OR WS-STU-PHONE-3L < 3)
  148.               GO TO 550-INVALID-PHONE
  149.            END-IF.
  150.  
  151.            MOVE SPACES TO WS-MESSAGE.
  152.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  153.            EXEC CICS RETURN END-EXEC.
  154.  
  155.        400-INVALID-STUDENT.
  156.            MOVE 'INVALID STUDENT NUMBER' TO WS-MESSAGE.
  157.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  158.            EXEC CICS RETURN
  159.                 TRANSID('I9A2')
  160.            END-EXEC.
  161.  
  162.        450-INVALID-NAME.
  163.            MOVE 'NAME MUST BE ENTERED' TO WS-MESSAGE.
  164.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  165.            EXEC CICS RETURN
  166.                 TRANSID('I9A2')
  167.            END-EXEC.
  168.  
  169.        501-INVALID-CODE.
  170.            MOVE '1ST COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
  171.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  172.  
  173.            EXEC CICS RETURN
  174.                 TRANSID('I9A2')
  175.            END-EXEC.
  176.  
  177.        502-INVALID-CODE.
  178.            MOVE '2ND COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
  179.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  180.  
  181.            EXEC CICS RETURN
  182.                 TRANSID('I9A2')
  183.            END-EXEC.
  184.  
  185.        503-INVALID-CODE.
  186.            MOVE '3RD COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
  187.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  188.  
  189.            EXEC CICS RETURN
  190.                 TRANSID('I9A2')
  191.            END-EXEC.
  192.  
  193.        504-INVALID-CODE.
  194.            MOVE '4TH COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
  195.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  196.  
  197.            EXEC CICS RETURN
  198.                 TRANSID('I9A2')
  199.            END-EXEC.
  200.  
  201.        505-INVALID-CODE.
  202.            MOVE '5TH COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
  203.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  204.  
  205.            EXEC CICS RETURN
  206.                 TRANSID('I9A2')
  207.            END-EXEC.
  208.  
  209.        510-EMPTY-CODE.
  210.            MOVE 'YOU MUST PROVIDE A COURSE CODE' TO WS-MESSAGE.
  211.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  212.            EXEC CICS RETURN
  213.                 TRANSID('I9A2')
  214.            END-EXEC.
  215.  
  216.        550-INVALID-PHONE.
  217.            MOVE 'NUMBER MUST BE 999 999 9999 FORMAT' TO WS-MESSAGE.
  218.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  219.            EXEC CICS RETURN
  220.                 TRANSID('I9A2')
  221.            END-EXEC.
  222.  
  223.        601-INVALID-ADDRESS.
  224.            MOVE '1ST ADDRESS MUST BE ENTERED' TO WS-MESSAGE.
  225.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  226.            EXEC CICS RETURN
  227.                 TRANSID('I9A2')
  228.            END-EXEC.
  229.  
  230.        602-INVALID-ADDRESS.
  231.            MOVE '2ND ADDRESS MUST BE ENTERED' TO WS-MESSAGE.
  232.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  233.            EXEC CICS RETURN
  234.                 TRANSID('I9A2')
  235.            END-EXEC.
  236.  
  237.        700-INVALID-POSTAL-CODE.
  238.            MOVE 'POSTAL CODE MUST BE X9X 9X9 FORMAT' TO WS-MESSAGE.
  239.            MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
  240.            EXEC CICS RETURN
  241.                 TRANSID('I9A2')
  242.            END-EXEC.
  243.  
  244.  
  245.  
  246.        END PROGRAM DCI9APGE.
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top