MAIN PROGRAM
IDENTIFICATION DIVISION.
PROGRAM-ID. MAINPROG.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-INVALID PIC X(13) VALUE 'INVALID KEY'.
01 MAFAIL PIC X(13) VALUE 'MAPFAIL'.
01 NOFOUND PIC X(13) VALUE 'NOT FOUND'.
01 LERROR PIC X(13) VALUE 'LENGTH ERRR'.
01 EERROR PIC X(13) VALUE 'ERRRRRORRRR'.
01 PERROR PIC X(13) VALUE 'PROGERRORRR'.
COPY LOGN.
* COPY EIBAID.
PROCEDURE DIVISION.
MOVE LOW-VALUES TO LOGNMO.
EXEC CICS SEND CONTROL ERASE END-EXEC.
EXEC CICS HANDLE CONDITION
MAPFAIL (M-FAIL)
NOTFND (N-FOUND)
LENGERR (L-ERROR)
ERROR (E-ERROR)
PGMIDERR (P-IDERROR)
END-EXEC.
MAINPARA.
EXEC CICS SEND CONTROL ERASE END-EXEC.
EXEC CICS SEND MAP('LOGNM') MAPSET('LOGN')
END-EXEC.
EXEC CICS RECEIVE MAP('LOGNM') MAPSET('LOGN')
END-EXEC.
IF LOGNFI = 1 PERFORM ADMINENTRY
ELSE IF LOGNFI = 2 PERFORM USERENTRY
ELSE IF LOGNFI = 3 PERFORM NEWUSERPARA
ELSE PERFORM INVALIDPARA
END-IF.
EXEC CICS RETURN END-EXEC.
M-FAIL.
EXEC CICS SEND TEXT FROM(MAFAIL)
LENGTH(13)
FREEKB
END-EXEC.
N-FOUND.
EXEC CICS SEND TEXT FROM(NOFOUND)
LENGTH(13)
FREEKB
END-EXEC.
L-ERROR.
EXEC CICS SEND TEXT FROM(LERROR)
LENGTH(13)
FREEKB
END-EXEC.
E-ERROR.
EXEC CICS SEND TEXT FROM(EERROR)
LENGTH(13)
FREEKB
END-EXEC.
P-IDERROR.
EXEC CICS SEND TEXT FROM(PERROR)
LENGTH(13)
FREEKB
END-EXEC.
ADMINENTRY.
EXEC CICS LINK PROGRAM ('PROGA')
END-EXEC.
USERENTRY.
EXEC CICS LINK PROGRAM ('PROGU')
END-EXEC.
NEWUSERPARA.
EXEC CICS LINK PROGRAM ('PROGN')
END-EXEC.
INVALIDPARA.
MOVE LOW-VALUES TO LOGNFO.
EXEC CICS SEND TEXT
FROM(WS-INVALID)
LENGTH(LENGTH OF WS-INVALID)
FREEKB
END-EXEC.
PERFORM MAINPARA.
0 comments:
Post a Comment