DSN8IC1

THIS MODULE RETRIEVES THE ROW CONTAINING INFORMATION ON THE CURRENT CONVERSATION, VALIDATES SELECTION CRITERIA, AND ISSUES MESSAGES TO COMPLETE THE ACTION, OBJECT, AND SEARCH CRITERIA.

       IDENTIFICATION DIVISION.
      *------------------------
       PROGRAM-ID. DSN8IC1.

      *********** DSN8IC1 - SQL 1 MAINLINE FOR IMS - COBOL ************
      *                                                               *
      *   MODULE NAME = DSN8IC1                                       *
      *                                                               *
      *   DESCRIPTIVE NAME = DB2 SAMPLE APPLICATION                   *
      *                      SQL 1 MAINLINE                           *
      *                      IMS                                      *
      *                      COBOL                                    *
      *                                                               *
      *COPYRIGHT = 5615-DB2 (C) COPYRIGHT IBM CORP 1982, 2013         *
      *REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083          *
      *                                                               *
      *STATUS = VERSION 11                                            *
      *                                                               *
      *   FUNCTION = THIS MODULE RETRIEVES THE ROW CONTAINING         *
      *              INFORMATION ON THE CURRENT CONVERSATION,         *
      *              VALIDATES SELECTION CRITERIA, AND ISSUES         *
      *              MESSAGES TO COMPLETE THE ACTION, OBJECT,         *
      *              AND SEARCH CRITERIA.                             *
      *                                                               *
      *   NOTES =  NONE                                               *
      *                                                               *
      *   MODULE TYPE =                                               *
      *      PROCESSOR   = DB2  PRECOMPILER, COBOL COMPILER           *
      *      MODULE SIZE = SEE LINKEDIT                               *
      *      ATTRIBUTES  = REUSABLE                                   *
      *                                                               *
      *   ENTRY POINT = DSN8IC1                                       *
      *      PURPOSE = SEE FUNCTION                                   *
      *      LINKAGE = CALLED BY DSN8IC0                              *
      *                                                               *
      *      INPUT = PARAMETERS EXPLICITLY PASSED TO THIS FUNCTION:   *
      *                                                               *
      *              SYMBOLIC LABEL/NAME = COMMPTR                    *
      *              DESCRIPTION         = POINTER TO COMMAREA        *
      *                                                               *
      *              SYMBOLIC LABEL/NAME = INAREA                     *
      *              DESCRIPTION         = USER INPUT                 *
      *                                                               *
      *              SYMBOLIC LABEL/NAME = PFKIN                      *
      *              DESCRIPTION         = 00/01/02/03/07/08/10/11    *
      *                                                               *
      *      OUTPUT = PARAMETERS EXPLICITLY RETURNED:                 *
      *                                                               *
      *              SYMBOLIC LABEL/NAME = OUTAREA                    *
      *              DESCRIPTION         = GENERAL MENU OR SECONDARY  *
      *                                    SELECTION MENU             *
      *                                                               *
      *              SYMBOLIC LABEL/NAME =  LASTSCR                   *
      *              DESCRIPTION = DSN8001/DSN8002                    *
      *                                                               *
      *   EXIT-NORMAL = DSN8IC0                                       *
      *                                                               *
      *   EXIT-ERROR = DSN8IC0                                        *
      *                                                               *
      *      RETURN CODE = NONE                                       *
      *                                                               *
      *      ABEND CODES =   NONE                                     *
      *                                                               *
      *      ERROR-MESSAGES =   NONE                                  *
      *                                                               *
      *   EXTERNAL REFERENCES =                                       *
      *      ROUTINES/SERVICES =                                      *
      *       DSN8IC2                                                 *
      *       DSN8MCG                                                 *
      *       DSNTIAR                                                 *
      *                                                               *
      *      DATA-AREAS =                                             *
      *       DSN8MCCA          - COBOL STRUCTURE FOR COMMAREA        *
      *       DSN8MCC2          - COMMAREA PART 2                     *
      *       DSN8MCCS          - VCONA TABLE DCL & PCONA DCLGEN      *
      *       DSN8MCOV          - VOPTVAL TABLE DCL & POPTVAL DCLGEN  *
      *       DSN8MCVO          - VALIDATION CURSORS                  *
      *       DSN8MCXX          - SQL ERROR HANDLING MODULE           *
      *       DSN8MC1           - SQL1 COMMON MODULE FOR IMS & CICS   *
      *       DSN8MC3 - DSN8MC5 - VALIDATION MODULES CALLED BY DSN8MC1*
      *                                                               *
      *      CONTROL-BLOCKS =                                         *
      *       SQLCA             - SQL COMMUNICATION AREA              *
      *                                                               *
      *   TABLES = NONE                                               *
      *                                                               *
      *   CHANGE-ACTIVITY = NONE                                      *
      *                                                               *
      *                                                               *
      *  *PSEUDOCODE*                                                 *
      *     PROCEDURE                                                 *
      *      INCLUDE DECLARATIONS.                                    *
      *      INCLUDE DSN8MC1.                                         *
      *                                                               *
      *      CC1EXIT:  ( REFERENCED BY DSN8MC1 )                      *
      *          RETURN.                                              *
      *                                                               *
      *      CC1CALL:  ( REFERENCED BY DSN8MC1 )                      *
      *          CALL 'DSN8IC2' USING COMMAREA.                       *
      *          GO TO MC1SAVE.  (LABEL IN DSN8MC1)                   *
      *                                                               *
      *      INCLUDE VALIDATION MODULES.                              *
      *                                                               *
      *     END.                                                      *
      *---------------------------------------------------------------*
      *
       ENVIRONMENT DIVISION.
      *--------------------

       DATA DIVISION.
      *--------------------
       WORKING-STORAGE SECTION.
      *****************************************************************
      *      * DECLARE FIELD SENT TO MESSAGE ROUTINE                  *
      *      * DECLARE CONVERSATION STATUS                            *
      *      * DECLARE MESSAGE TEXT                                   *
      *      * DECLARE OPTION VALIDATION                              *
      *      * DECLARE COMMON AREA AND COMMON AREA PART 2             *
      *****************************************************************

       01  MSGCODE         PIC X(04).

       01  OUTMSG          PIC X(69).

           EXEC SQL INCLUDE DSN8MCCS END-EXEC.
           EXEC SQL INCLUDE DSN8MCOV END-EXEC.
           EXEC SQL INCLUDE SQLCA END-EXEC.
           EXEC SQL INCLUDE DSN8MCC2 END-EXEC.
      *
       LINKAGE SECTION.
       01  COMMAREA.
           EXEC SQL INCLUDE DSN8MCCA END-EXEC.
      *
       PROCEDURE DIVISION USING COMMAREA.
      *------------------

      ********************************************************
      *           **SQL ERROR HANDLING
      ********************************************************
           EXEC SQL WHENEVER SQLERROR GO TO DB-ERROR END-EXEC
           EXEC SQL WHENEVER SQLWARNING GO TO DB-ERROR END-EXEC.

      *
           MOVE 'DSN8IC1 ' TO MAJOR IN DSN8-MODULE-NAME.

      ***********************************************************
      *  FIND VALID OPTIONS FOR ACTION, OBJECT, SEARCH CRITERION*
      *  RETRIEVE CONVERSATION, VALIDATE, CALL SQL2             *
      ***********************************************************

           EXEC SQL INCLUDE DSN8MCVO END-EXEC.
      *                                         **INCLUDE SQL1 MAIN
           EXEC SQL INCLUDE DSN8MC1 END-EXEC.
      *
      *                                         **RETURN
       CC1-EXIT.
           GOBACK.
      ***********************************************************
      *  VALIDATE ACTION, OBJECT, SEARCH CRITERIA               *
      *  HANDLE ERRORS                                          *
      ***********************************************************

       CC1-CALL.
           CALL 'DSN8IC2' USING COMMAREA.
           GO TO MC1-SAVE.

           EXEC SQL INCLUDE DSN8MC3 END-EXEC.
           EXEC SQL INCLUDE DSN8MC4 END-EXEC.
           EXEC SQL INCLUDE DSN8MC5 END-EXEC.

           EXEC SQL INCLUDE DSN8MCXX END-EXEC.
           GOBACK.