DSN8MCG
THIS MODULE GIVEN A MESSAGE CODE, SENDS THE APPROPRIATE MESSAGE TO THE CALLING ROUTINE.
IDENTIFICATION DIVISION.
*-----------------------
PROGRAM-ID. DSN8MCG.
********************* DSN8MCG **********************************
* *
* MODULE NAME = DSN8MCG *
* *
* DESCRIPTIVE NAME = DB2 SAMPLE APPLICATION *
* MESSAGE ROUTINE *
* COBOL *
* *
* *
*COPYRIGHT = 5615-DB2 (C) COPYRIGHT IBM CORP 1982, 2013 *
*SEE COPYRIGHT INSTRUCTIONS *
*LICENSED MATERIALS - PROPERTY OF IBM *
* *
*STATUS = VERSION 11 *
* FUNCTION = THIS MODULE GIVEN A MESSAGE CODE, SENDS THE *
* APPROPRIATE MESSAGE TO THE CALLING ROUTINE. *
* *
* NOTES = NONE *
* *
* MODULE TYPE = COBOL PROGRAM *
* PROCESSOR = DB2 PRECOMPILER, COBOL COMPILER *
* MODULE SIZE = SEE LINK EDIT *
* ATTRIBUTES = NOT REENTRANT OR REUSABLE *
* *
* *
* ENTRY POINT = DSN8MCG *
* PURPOSE = SEE FUNCTION *
* LINKAGE = INVOKED FROM DSN RUN *
* INPUT = *
* *
* SYMBOLIC LABEL/NAME = MSGCODE *
* DESCRIPTION = A MESSAGE CODE NO. *
* PIC X(4) *
* *
* SYMBOLIC LABEL/NAME = MAJOR *
* DESCRIPTION = CALLING MODULE NAME *
* PIC X(7) *
* OUTPUT = *
* *
* SYMBOLIC LABEL/NAME = OUTMSG *
* DESCRIPTION = A MESSAGE *
* PIC X(69) *
* *
* EXIT-NORMAL = NONE *
* *
* EXIT-ERROR = *
* *
* RETURN CODE = NONE *
* *
* ABEND CODES = NONE *
* *
/ ERROR-MESSAGES = ALL *
* *
* EXTERNAL REFERENCES = *
* *
* ROUTINES/SERVICES = NONE *
* *
* DATA-AREAS = NONE *
* *
* CONTROL-BLOCKS = NONE *
* *
* TABLES = NONE *
* *
* *
* CHANGE-ACTIVITY = *
* - ADDED MESSAGES 200E,202E,203E,210E,212E, *
* 213E,214E,215E *
* - DELETED MESSAGES 050I,052I V2R1 *
* - ADDED MESSAGES 079E,216E,217E V2R3 *
* *
* *
* *PSEUDOCODE* *
* *
* PROCEDURE *
* GET INPUT FROM CALLING ROUTINE *
* SEARCH CODE ARRAY *
* *
* IF CODES MATCH *
* GET APPROPRIATE MESSAGE *
* ELSE *
* USE 'MESSAGE TEXT NOT FOUND' AS MESSAGE *
* *
* SEND MESSAGE TO CALLING ROUTINE *
* END. *
* *
*---------------------------------------------------------------*
/
ENVIRONMENT DIVISION.
*--------------------
DATA DIVISION.
*-------------
WORKING-STORAGE SECTION.
* *OUTPUT MESSAGE
01 WORK-MSG.
02 HEAD-CODE PIC X(04) VALUE 'DSN8'.
02 O-CODE PIC X(04).
02 FILLER PIC X(03) VALUE ' '.
02 O-MODULE PIC X(07).
02 DASH-SYM PIC X(01) VALUE '-'.
02 O-MESSAGE PIC X(50).
01 OMSG REDEFINES WORK-MSG PIC X(69).
LINKAGE SECTION.
* *INPUT MESSAGE CODE
01 MSGCODE PIC X(04).
* *INPUT CALLING MODULE NAME
01 MAJOR PIC X(07).
* *OUTPUT MESSAGE
01 OUTMSG PIC X(69).
*****************************************************
* MAIN PROGRAM ROUTINE *
*****************************************************
PROCEDURE DIVISION USING MAJOR MSGCODE OUTMSG.
*------------------
PROG-START.
* **INITIALIZE OUTPUT
MOVE MSGCODE TO O-CODE OF WORK-MSG.
MOVE MAJOR TO O-MODULE OF WORK-MSG.
MOVE 'MESSAGE TEXT NOT FOUND '
TO O-MESSAGE OF WORK-MSG.
* **MESSAGE TEXT FOUND
* * EMPLOYEE *
* *001I*
IF MSGCODE EQUAL '001I' THEN
MOVE 'EMPLOYEE NOT FOUND ' TO
O-MESSAGE OF WORK-MSG.
* *002I*
IF MSGCODE EQUAL '002I' THEN
MOVE 'EMPLOYEE SUCCESSFULLY ADDED ' TO
O-MESSAGE OF WORK-MSG.
* *003I*
IF MSGCODE EQUAL '003I' THEN
MOVE 'EMPLOYEE SUCCESSFULLY ERASED ' TO
O-MESSAGE OF WORK-MSG.
* *004I*
IF MSGCODE EQUAL '004I' THEN
MOVE 'EMPLOYEE SUCCESSFULLY UPDATED ' TO
O-MESSAGE OF WORK-MSG.
* *005E*
IF MSGCODE EQUAL '005E' THEN
MOVE 'EMPLOYEE EXISTS ALREADY, ADD NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *006E*
IF MSGCODE EQUAL '006E' THEN
MOVE 'EMPLOYEE DOES NOT EXIST, ERASE NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *007E*
IF MSGCODE EQUAL '007E' THEN
MOVE 'EMPLOYEE DOES NOT EXIST, UPDATE NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *008I*
IF MSGCODE EQUAL '008I' THEN
MOVE 'NO EMPLOYEE FOUND IN TABLE ' TO
O-MESSAGE OF WORK-MSG.
* * DEPARTMENT *
* *011I*
IF MSGCODE EQUAL '011I' THEN
MOVE 'DEPARTMENT NOT FOUND ' TO
O-MESSAGE OF WORK-MSG.
* *012I*
IF MSGCODE EQUAL '012I' THEN
MOVE 'DEPARTMENT SUCCESSFULLY ADDED ' TO
O-MESSAGE OF WORK-MSG.
* *013I*
IF MSGCODE EQUAL '013I' THEN
MOVE 'DEPARTMENT SUCCESSFULLY ERASED ' TO
O-MESSAGE OF WORK-MSG.
* *014I*
IF MSGCODE EQUAL '014I' THEN
MOVE 'DEPARTMENT SUCCESSFULLY UPDATED ' TO
O-MESSAGE OF WORK-MSG.
* *015E*
IF MSGCODE EQUAL '015E' THEN
MOVE 'DEPARTMENT EXISTS ALREADY, ADD NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *016E*
IF MSGCODE EQUAL '016E' THEN
MOVE 'DEPARTMENT DOES NOT EXIST, ERASE NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *017E*
IF MSGCODE EQUAL '017E' THEN
MOVE 'DEPARTMENT DOES NOT EXIST, UPDATE NOT DONE ' TO
O-MESSAGE OF WORK-MSG.
* *018I*
IF MSGCODE EQUAL '018I' THEN
MOVE '''CURRENT'' DEPARTMENT NOT FOUND ' TO
O-MESSAGE OF WORK-MSG.
* *019E*
IF MSGCODE EQUAL '019E' THEN
MOVE 'NO ''HIGHER'' DEPARTMENT EXISTS ' TO
O-MESSAGE OF WORK-MSG.
* * GENERAL INFO. MESSAGES *
* *051I*
IF MSGCODE EQUAL '051I' THEN
MOVE 'PROGRAM ENDED ' TO
O-MESSAGE OF WORK-MSG.
* *053I*
IF MSGCODE EQUAL '053I' THEN
MOVE 'ROLLBACK SUCCESSFUL, ALL UPDATES REMOVED ' TO
O-MESSAGE OF WORK-MSG.
* *056I*
IF MSGCODE EQUAL '056I' THEN
MOVE 'NO MORE DATA TO DISPLAY ' TO
O-MESSAGE OF WORK-MSG.
* * GENERAL ERROR MESSAGES *
* *060E*
IF MSGCODE EQUAL '060E' THEN
MOVE 'SQL ERROR, RETURN CODE IS: ' TO
O-MESSAGE OF WORK-MSG.
* *061E*
IF MSGCODE EQUAL '061E' THEN
MOVE 'ROLLBACK FAILED, RETURN CODE IS: ' TO
O-MESSAGE OF WORK-MSG.
* *062E*
IF MSGCODE EQUAL '062E' THEN
MOVE 'AN OBJECT WAS NOT SELECTED ' TO
O-MESSAGE OF WORK-MSG.
* *064E*
IF MSGCODE EQUAL '064E' THEN
MOVE 'INVALID DL/I STC-CODE ON GU MSG ' TO
O-MESSAGE OF WORK-MSG.
* *065E*
IF MSGCODE EQUAL '065E' THEN
MOVE 'INVALID DL/I STC-CODE ON ISRT MSG ' TO
O-MESSAGE OF WORK-MSG.
* *066E*
IF MSGCODE EQUAL '066E' THEN
MOVE 'UNSUPPORTED PFK OR LOGIC ERROR ' TO
O-MESSAGE OF WORK-MSG.
* *067E*
IF MSGCODE EQUAL '067E' THEN
MOVE 'UNSUPPORTED SEARCH CRITERIA FOR OBJECT ' TO
O-MESSAGE OF WORK-MSG.
* *068E*
IF MSGCODE EQUAL '068E' THEN
MOVE 'INVALID REQUEST, SHOULD BE ''L'' OR ''U'' ' TO
O-MESSAGE OF WORK-MSG.
* *069E*
IF MSGCODE EQUAL '069E' THEN
MOVE 'NO VALID SELECTIONS QUALIFY FOR THIS REQUEST ' TO
O-MESSAGE OF WORK-MSG.
* *070E*
IF MSGCODE EQUAL '070E' THEN
MOVE 'VITAL DATA IS MISSING IN TABLE ''TOPTVAL'' ' TO
O-MESSAGE OF WORK-MSG.
* *072E*
IF MSGCODE EQUAL '072E' THEN
MOVE 'INVALID SELECTION ON SECONDARY SCREEN ' TO
O-MESSAGE OF WORK-MSG.
* *073E*
IF MSGCODE EQUAL '073E' THEN
MOVE 'SPECIFIED LINE-NUMBER NOT FOUND IN PREVIOUS SCREEN' TO
O-MESSAGE OF WORK-MSG.
* *074E*
IF MSGCODE EQUAL '074E' THEN
MOVE 'DATA IS TOO LONG FOR SEARCH CRITERIA ' TO
O-MESSAGE OF WORK-MSG.
* *075E*
IF MSGCODE EQUAL '075E' THEN
MOVE 'MESSAGE FORMAT ROUTINE ERROR, RETURN CODE IS: ' TO
O-MESSAGE OF WORK-MSG.
* *079E*
IF MSGCODE EQUAL '079E' THEN
MOVE 'CONNECTION TO DB2 NOT ESTABLISHED ' TO
O-MESSAGE OF WORK-MSG.
* *200E*
IF MSGCODE EQUAL '200E' THEN
MOVE 'INVALID DEPARTMENT NUMBER, EMPLOYEE NOT ADDED ' TO
O-MESSAGE OF WORK-MSG.
* *202E*
IF MSGCODE EQUAL '202E' THEN
MOVE 'EMPLOYEE NUMBER HAS DEPENDENT ROWS, NOT ERASED ' TO
O-MESSAGE OF WORK-MSG.
* *203E*
IF MSGCODE EQUAL '203E' THEN
MOVE 'INVALID WORK DEPT, EMPLOYEE NOT UPDATED ' TO
O-MESSAGE OF WORK-MSG.
* *210E*
IF MSGCODE EQUAL '210E' THEN
MOVE 'INVALID MGRNO, DEPARTMENT NOT ADDED ' TO
O-MESSAGE OF WORK-MSG.
* *212E*
IF MSGCODE EQUAL '212E' THEN
MOVE 'DEPARTMENT NUMBER HAS DEPENDENT ROWS, NOT ERASED ' TO
O-MESSAGE OF WORK-MSG.
* *213E*
IF MSGCODE EQUAL '213E' THEN
MOVE 'INVALID ADMIN DEPT ID, DEPARTMENT NOT ADDED ' TO
O-MESSAGE OF WORK-MSG.
* *214E*
IF MSGCODE EQUAL '214E' THEN
MOVE 'INVALID MANAGER ID, DEPARTMENT NOT UPDATED ' TO
O-MESSAGE OF WORK-MSG.
* *215E*
IF MSGCODE EQUAL '215E' THEN
MOVE 'INVALID ADMIN DEPT ID, DEPARTMENT NOT UPDATED ' TO
O-MESSAGE OF WORK-MSG.
* *216E*
IF MSGCODE EQUAL '216E' THEN
MOVE 'DEPT NOT AT SPECIFIED LOCATION, EMPLOYEE NOT ADDED' TO
O-MESSAGE OF WORK-MSG.
* *217E*
IF MSGCODE EQUAL '217E' THEN
MOVE 'DEPT NOT AT SPECIFIED LOCATION, EMP NOT UPDATED ' TO
O-MESSAGE OF WORK-MSG.
PROG-END.
* **RETURN TO CALLER
* **END OF PROGRAM
MOVE OMSG TO OUTMSG.
GOBACK.