Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. DCI9APGE.
- AUTHOR. JOREE MIRANDA.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WS-STUFILE-RECORD.
- 05 WS-STU-KEY.
- 10 WS-STU-NUMBER PIC X(7).
- 10 WS-STU-NUMBERL COMP PIC S9(4).
- 05 WS-STU-NAME PIC X(20).
- 05 WS-STU-NAMEL COMP PIC S9(4).
- 05 WS-STU-COURSE-1 PIC X(8).
- 05 WS-STU-COURSE-1L COMP PIC S9(4).
- 05 WS-STU-COURSE-2 PIC X(8).
- 05 WS-STU-COURSE-2L COMP PIC S9(4).
- 05 WS-STU-COURSE-3 PIC X(8).
- 05 WS-STU-COURSE-3L COMP PIC S9(4).
- 05 WS-STU-COURSE-4 PIC X(8).
- 05 WS-STU-COURSE-4L COMP PIC S9(4).
- 05 WS-STU-COURSE-5 PIC X(8).
- 05 WS-STU-COURSE-5L COMP PIC S9(4).
- 05 WS-STU-ADDRESS-1 PIC X(20).
- 05 WS-STU-ADDRESS-1L COMP PIC S9(4).
- 05 WS-STU-ADDRESS-2 PIC X(20).
- 05 WS-STU-ADDRESS-2L COMP PIC S9(4).
- 05 WS-STU-ADDRESS-3 PIC X(20).
- 05 WS-STU-ADDRESS-3L COMP PIC S9(4).
- 05 WS-STU-POSTAL-1 PIC X(3).
- 05 WS-STU-POSTAL-2 PIC X(3).
- 05 WS-STU-PHONE-1 PIC X(3).
- 05 WS-STU-PHONE-1L COMP PIC S9(4).
- 05 WS-STU-PHONE-2 PIC X(3).
- 05 WS-STU-PHONE-2L COMP PIC S9(4).
- 05 WS-STU-PHONE-3 PIC X(4).
- 05 WS-STU-PHONE-3L COMP PIC S9(4).
- 05 WS-MESSAGE PIC X(60).
- LINKAGE SECTION.
- 01 DFHCOMMAREA PIC X(256).
- PROCEDURE DIVISION.
- 100-MAIN-LOGIC.
- * TODO: IMPLEMENT VALIDATION LOGIC
- MOVE DFHCOMMAREA TO WS-STUFILE-RECORD.
- IF (WS-STU-NUMBER IS NOT NUMERIC OR WS-STU-NUMBERL < 7)
- GO TO 400-INVALID-STUDENT
- END-IF.
- IF (WS-STU-COURSE-1L = 0)
- IF (WS-STU-COURSE-2L = 0)
- IF (WS-STU-COURSE-3L = 0)
- IF (WS-STU-COURSE-4L = 0)
- IF (WS-STU-COURSE-5L = 0)
- GO TO 510-EMPTY-CODE
- END-IF
- END-IF
- END-IF
- END-IF
- END-IF.
- IF (WS-STU-COURSE-1L > 0)
- IF (WS-STU-COURSE-1(1:4) IS NOT ALPHABETIC OR
- WS-STU-COURSE-1(5:4) IS NOT NUMERIC)
- GO TO 501-INVALID-CODE
- END-IF
- END-IF.
- IF (WS-STU-COURSE-2L > 0)
- IF (WS-STU-COURSE-2(1:4) IS NOT ALPHABETIC OR
- WS-STU-COURSE-2(5:4) IS NOT NUMERIC)
- GO TO 502-INVALID-CODE
- END-IF
- END-IF.
- IF (WS-STU-COURSE-3L > 0)
- IF (WS-STU-COURSE-3(1:4) IS NOT ALPHABETIC OR
- WS-STU-COURSE-3(5:4) IS NOT NUMERIC)
- GO TO 503-INVALID-CODE
- END-IF
- END-IF.
- IF (WS-STU-COURSE-4L > 0)
- IF (WS-STU-COURSE-4(1:4) IS NOT ALPHABETIC OR
- WS-STU-COURSE-4(5:4) IS NOT NUMERIC)
- GO TO 504-INVALID-CODE
- END-IF
- END-IF.
- IF (WS-STU-COURSE-5L > 0)
- IF (WS-STU-COURSE-5(1:4) IS NOT ALPHABETIC OR
- WS-STU-COURSE-5(5:4) IS NOT NUMERIC)
- GO TO 505-INVALID-CODE
- END-IF
- END-IF.
- IF (WS-STU-NAMEL = 0)
- GO TO 450-INVALID-NAME
- END-IF.
- IF (WS-STU-ADDRESS-1L = 0)
- GO TO 601-INVALID-ADDRESS
- END-IF.
- IF (WS-STU-ADDRESS-2L = 0)
- GO TO 602-INVALID-ADDRESS
- END-IF.
- IF (WS-STU-POSTAL-1(1:1) IS NOT ALPHABETIC)
- GO TO 700-INVALID-POSTAL-CODE
- ELSE
- IF (WS-STU-POSTAL-1(2:1) IS NOT NUMERIC)
- GO TO 700-INVALID-POSTAL-CODE
- ELSE
- IF (WS-STU-POSTAL-1(3:1) IS NOT ALPHABETIC)
- GO TO 700-INVALID-POSTAL-CODE
- END-IF
- END-IF
- END-IF.
- IF (WS-STU-POSTAL-2(1:1) IS NOT NUMERIC)
- GO TO 700-INVALID-POSTAL-CODE
- ELSE
- IF (WS-STU-POSTAL-2(2:1) IS NOT ALPHABETIC)
- GO TO 700-INVALID-POSTAL-CODE
- ELSE
- IF (WS-STU-POSTAL-2(3:1) IS NOT NUMERIC)
- GO TO 700-INVALID-POSTAL-CODE
- END-IF
- END-IF
- END-IF.
- IF (WS-STU-PHONE-1 IS NOT NUMERIC
- OR WS-STU-PHONE-2 IS NOT NUMERIC
- OR WS-STU-PHONE-3 IS NOT NUMERIC)
- GO TO 550-INVALID-PHONE
- END-IF.
- IF (WS-STU-PHONE-1L < 3 OR WS-STU-PHONE-2L < 3
- OR WS-STU-PHONE-3L < 3)
- GO TO 550-INVALID-PHONE
- END-IF.
- MOVE SPACES TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN END-EXEC.
- 400-INVALID-STUDENT.
- MOVE 'INVALID STUDENT NUMBER' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 450-INVALID-NAME.
- MOVE 'NAME MUST BE ENTERED' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 501-INVALID-CODE.
- MOVE '1ST COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 502-INVALID-CODE.
- MOVE '2ND COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 503-INVALID-CODE.
- MOVE '3RD COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 504-INVALID-CODE.
- MOVE '4TH COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 505-INVALID-CODE.
- MOVE '5TH COURSE CODE MUST BE XXXX9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 510-EMPTY-CODE.
- MOVE 'YOU MUST PROVIDE A COURSE CODE' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 550-INVALID-PHONE.
- MOVE 'NUMBER MUST BE 999 999 9999 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 601-INVALID-ADDRESS.
- MOVE '1ST ADDRESS MUST BE ENTERED' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 602-INVALID-ADDRESS.
- MOVE '2ND ADDRESS MUST BE ENTERED' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- 700-INVALID-POSTAL-CODE.
- MOVE 'POSTAL CODE MUST BE X9X 9X9 FORMAT' TO WS-MESSAGE.
- MOVE WS-STUFILE-RECORD TO DFHCOMMAREA.
- EXEC CICS RETURN
- TRANSID('I9A2')
- END-EXEC.
- END PROGRAM DCI9APGE.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement