DSN8IP2

ROUTER FOR SECONDARY SELECTION AND/OR DETAIL PROCESSIN CALLS SECONDARY SELECTION MODULES DSN8MPA CALLS DETAIL MODULES DSN8MPD DSN8MPE DSN8MPF CALLED BY DSN8IP1 (SQL1) .

    DSN8IP2: PROC(COMMPTR) ;  /* SQL 2 FOR IMS AND PLI */               00010000
                                                               %PAGE;   00020000
 /********************************************************************* 00030000
 *                                                                    * 00040000
 *   MODULE NAME = DSN8IP2                                            * 00050000
 *                                                                    * 00060000
 *   DESCRIPTIVE NAME = DB2  SAMPLE APPLICATION                       * 00070000
 *                      SQL 2 COMMON MODULE                           * 00080000
 *                      IMS                                           * 00090000
 *                      PL/I                                          * 00100000
 *                      ORGANIZATION APPLICATION                      * 00110000
 *                                                                    * 00120000
 *     LICENSED MATERIALS - PROPERTY OF IBM                           * 00130000
 *     5695-DB2                                                       * 00136000
 *     (C) COPYRIGHT 1982, 1995 IBM CORP.  ALL RIGHTS RESERVED.       * 00143000
 *                                                                    * 00150000
 *     STATUS = VERSION 4                                             * 00160000
 *                                                                    * 00170000
 *   FUNCTION = ROUTER FOR SECONDARY SELECTION AND/OR DETAIL PROCESSIN* 00180000
 *              CALLS SECONDARY SELECTION MODULES                     * 00190000
 *                    DSN8MPA                                         * 00200000
 *              CALLS DETAIL MODULES                                  * 00210000
 *                    DSN8MPD DSN8MPE DSN8MPF                         * 00220000
 *              CALLED BY DSN8IP1 (SQL1)                              * 00230000
 *                                                                    * 00240000
 *   NOTES =   NONE                                                   * 00250000
 *                                                                    * 00260000
 *                                                                    * 00270000
 *   MODULE TYPE = BLOCK OF PL/I CODE                                 * 00280000
 *      PROCESSOR   = DB2  PRECOMPILER, PL/I OPTIMIZER                * 00290000
 *      MODULE SIZE = SEE LINKEDIT                                    * 00300000
 *      ATTRIBUTES  = REUSABLE                                        * 00310000
 *                                                                    * 00320000
 *   ENTRY POINT = DSN8IP2                                            * 00330000
 *      PURPOSE = SEE FUNCTION                                        * 00340000
 *      LINKAGE = CALL DSN8IP2(COMMPTR)                               * 00350000
 *      INPUT   =                                                     * 00360000
 *                                                                    * 00370000
 *                SYMBOLIC LABEL/NAME = COMMPTR                       * 00380000
 *                DESCRIPTION         = POINTER TO COMMUNICATION AREA * 00390000
 *                                                                    * 00400000
 *      OUTPUT  =                                                     * 00410000
 *                                                                    * 00420000
 *                SYMBOLIC LABEL/NAME = COMMPTR                       * 00430000
 *                DESCRIPTION         = POINTER TO COMMUNICATION AREA * 00440000
 *                                                                    * 00450000
 *   EXIT-NORMAL =                                                    * 00460000
 *                                                                    * 00470000
 *   EXIT-ERROR = IF SQLERROR OR SQLWARNING, SQL WHENEVER CONDITION   * 00480000
 *                SPECIFIED IN DSN8IP2 WILL BE RAISED AND PROGRAM     * 00490000
 *                WILL GO TO THE LABEL DB_ERROR.                      * 00500000
 *                                                                    * 00510000
 *                                                                    * 00520000
 *      RETURN CODE = NONE                                            * 00530000
 *                                                                    * 00540000
 *      ABEND CODES = NONE                                            * 00550000
 *                                                                    * 00560000
 *      ERROR-MESSAGES =                                              * 00570000
 *              DSN8062E-AN OBJECT WAS NOT SELECTED                   * 00580000
 *              DSN8066E-UNSUPPORTED PFK OR LOGIC ERROR               * 00600000
 *              DSN8072E-INVALID SELECTION ON SECONDARY SCREEN        * 00610000
 *                                                                    * 00620000
 *   EXTERNAL REFERENCES =                                            * 00630000
 *                                                                    * 00640000
 *      ROUTINES/SERVICES =   MODULES LISTED ABOVE                    * 00650000
 *         DSN8MPG             - ERROR MESSAGE ROUTINE                * 00660000
 *                                                                    * 00670000
 *      DATA-AREAS =                                                  * 00680000
 *         DSN8MPA             - SECONDARY SELECTION FOR ORGANIZATION * 00690000
 *         DSN8MPAD            - DECLARE ADMINISTRATIVE DETAIL        * 00700000
 *         DSN8MPAE            - CURSOR EMPLOYEE LIST                 * 00710000
 *         DSN8MPAL            - CURSOR ADMINISTRATION LIST           * 00720000
 *         DSN8MPA2            - DECLARE ADMINISTRATIVE DETAIL        * 00730000
 *         DSN8MPCA            - DECLARE SQL COMMON AREA              * 00740000
 *         DSN8MPD             - DEPARTMENT STRUCTURE DETAIL          * 00750000
 *         DSN8MPDA            - CURSOR ADMINISTRATION DETAIL         * 00760000
 *         DSN8MPDH            - CURSOR FOR DISPLAY TEXT FROM         * 00770000
 *                               TDSPTXT TABLE                        * 00780000
 *         DSN8MPDM            - DECLARE DEPARTMENT MANAGER           * 00790000
 *         DSN8MPDP            - DELCLARE DEPARTMENT                  * 00800000
 *         DSN8MPDT            - DECLARE DISPLAY TEXT                 * 00810000
 *         DSN8MPE             - DEPARTMENT DETAIL                    * 00820000
 *         DSN8MPEM            - DECLARE EMPLOYEE                     * 00830000
 *         DSN8MPED            - DECLARE EMPLOYEE-DEPARTMENT          * 00835000
 *         DSN8MPF             - EMPLOYEE DETAIL                      * 00840000
 *         DSN8MPOV            - DECLARE OPTION VALIDATION            * 00850000
 *                                                                    * 00860000
 *      CONTROL-BLOCKS =                                              * 00870000
 *         SQLCA               - SQL COMMUNICATION AREA               * 00880000
 *                                                                    * 00890000
 *   TABLES = NONE                                                    * 00900000
 *                                                                    * 00910000
 *   CHANGE-ACTIVITY = NONE                                           * 00920000
 *                                                                    * 00930000
 *                                                                    * 00940000
 *  *PSEUDOCODE*                                                      * 00950000
 *                                                                    * 00960000
 *      THIS MODULE DETERMINES WHICH SECONDARY SELECTION AND/OR       * 00970000
 *      DETAIL MODULE(S) ARE TO BE CALLED FOR THE IMS/PL1 ENVIRONMENT.* 00980000
 *                                                                    * 00990000
 *      WHAT HAS HAPPENED SO FAR?.............. THE SUBSYSTEM         * 01000000
 *      DEPENDENT MODULE (IMS,CICS) (SQL 0) HAS READ THE              * 01010000
 *      INPUT SCREEN, FORMATTED THE INPUT, AND PASSED CONTROL         * 01020000
 *      TO SQL 1. SQL 1 PERFORMS VALIDATION ON THE SYSTEM DEPENDENT   * 01030000
 *      FIELDS (MAJOR SYSTEM, ACTION, OBJECT, SEARCH CRITERIA). IF    * 01040000
 *      ALL SYSTEM FIELDS ARE VALID, SQL 1 PASSED CONTROL TO THIS     * 01050000
 *      MODULE. PASSED PARAMETERS CONSIST ONLY OF A POINTER WHICH     * 01060000
 *      POINTS TO A COMMUNICATION CONTROL AREA USED TO COMMUNICATE    * 01070000
 *      BETWEEN SQL 0 , SQL 1, SQL 2, AND THE SECONDARY SELECTION     * 01080000
 *      AND DETAIL MODULES.                                           * 01090000
 *                                                                    * 01100000
 *      WHAT IS INCLUDED IN THIS MODULE?............                  * 01110000
 *      ALL SECONDARY SELECTION AND DETAIL MODULES ARE 'INCLUDED'.    * 01120000
 *      ALL VARIABLES KNOWN IN THIS PROCEDURE ARE KNOWN IN THE        * 01130000
 *      SUB PROCEDURES. ALL SQL CURSOR DEFINITIONS AND                * 01140000
 *      SQL 'INCLUDES' ARE DONE IN THIS PROCEDURE. ALL CURSOR HOST    * 01150000
 *      VARIABLES ARE DECLARED IN THIS PROCEDURE BECAUSE OF THE       * 01160000
 *      RESTRICTION THAT CURSOR HOST VARIABLES MUST BE DECLARED BEFORE* 01170000
 *      THE CURSOR DEFINITION.                                        * 01180000
 *                                                                    * 01190000
 *      PROCEDURE                                                     * 01200000
 *         IF ANSWER TO DETAIL SCREEN & DETAIL PROCESSOR              * 01210000
 *           IS NOT WILLING TO ACCEPT AN ANSWER THEN                  * 01220000
 *                          NEW REQUEST*                              * 01230000
 *                                                                    * 01240000
 *          ELSE                                                      * 01250000
 *                 IF ANSWER TO A SECONDARY SELECTION THEN            * 01260000
 *                          DETERMINE IF NEW REQUEST.                 * 01270000
 *                                                                    * 01280000
 *          CASE (NEW REQUEST)                                        * 01290000
 *                 SUBCASE ('ACTION')                                 * 01300000
 *                         DETAIL PROCESSOR                           * 01310000
 *                         RETURN TO SQL 1                            * 01320000
 *                 ENDSUB                                             * 01330000
 *                                                                    * 01340000
 *                 SUBCASE ('DISPLAY','ERASE','UPDATE')               * 01350000
 *                         CALL SECONDARY SELECTION                   * 01360000
 *                         IF # OF POSSIBLE CHOICES IS ^= 1 THEN      * 01370000
 *                                RETURN TO SQL 1                     * 01380000
 *                         ELSE                                       * 01390000
 *                                CALL THE DETAIL PROCESSOR           * 01400000
 *                                RETURN TO SQL 1.                    * 01410000
 *                 ENDSUB                                             * 01420000
 *                                                                    * 01430000
 *          ENDCASE                                                   * 01440000
 *                                                                    * 01450000
 *          IF ANSWER TO SECONDARY SELECTION AND A SELECTION HAS      * 01460000
 *          ACTUALLY BEEN MADE THEN                                   * 01470000
 *                      VALID SELECTION #?                            * 01480000
 *                      IF IT IS VALID THEN                           * 01490000
 *                            CALL DETAIL PROCESSOR                   * 01500000
 *                            RETURN TO SQL 1                         * 01510000
 *                      ELSE                                          * 01520000
 *                            PRINT ERROR MSG                         * 01530000
 *                            RETURN TO SQL 1.                        * 01540000
 *                                                                    * 01550000
 *          IF ANSWER TO SECONDARY SELECTION THEN                     * 01560000
 *               CALL SECONDARY SELECTION                             * 01570000
 *               RETURN TO SQL 1.                                     * 01580000
 *                                                                    * 01590000
 *      IF ANSWER TO DETAIL THEN                                      * 01600000
 *               CALL DETAIL PROCESSOR                                * 01610000
 *               RETURN TO SQL 1.                                     * 01620000
 *                                                                    * 01630000
 *    END.                                                            * 01640000
 *                                                                    * 01650000
 *     *EXAMPLE- A ROW IS SUCCESSFULLY ADDED, THE OPERATOR RECEIVES   * 01660000
 *      THE SUCCESSFULLY ADDED MESSAGE AND JUST HITS ENTER.           * 01670000
 *-------------------------------------------------------------------*/ 01680000
                                                                        01690000
  DCL DSN8MPG EXTERNAL ENTRY;                                           01700000
  DCL LENGTH BUILTIN;                                                   01710000
                                                                        01720000
   /* INCLUDE DECLARES */                                               01730000
   EXEC SQL INCLUDE DSN8MPCA;   /*COMMUNICATION AREA BETWEEN MODULES */ 01740000
   EXEC SQL INCLUDE SQLCA;      /*SQL COMMUNICATION AREA             */ 01750000
                               /* ORGANIZATION                       */ 01760000
   EXEC SQL INCLUDE DSN8MPDP;   /* DCLGEN FOR DEPARTMENT             */ 01770000
   EXEC SQL INCLUDE DSN8MPEM;   /* DCLGEN FOR EMPLOYEE               */ 01780000
   EXEC SQL INCLUDE DSN8MPED;   /* DCLGEN FOR EMPLOYEE-DEPARTMENT    */ 01785000
   EXEC SQL INCLUDE DSN8MPDM;   /* DCLGEN FOR DEPARTMENT/MANAGER     */ 01790000
   EXEC SQL INCLUDE DSN8MPAD;   /* DCLGEN FOR ADMINISTRATION DETAIL  */ 01800000
   EXEC SQL INCLUDE DSN8MPA2;   /* DCLGEN FOR ADMINISTRATION DETAIL  */ 01810000
                               /* PROGRAMMING TABLES                 */ 01820000
   EXEC SQL INCLUDE DSN8MPOV;   /* DCLGEN FOR OPTION VALIDATION      */ 01830000
   EXEC SQL INCLUDE DSN8MPDT;   /* DCLGEN FOR DISPLAY TEXT TABLE     */ 01840000
                                                                        01850000
    /* CURSORS */                                                       01860000
   EXEC SQL INCLUDE DSN8MPAL;    /* MAJSYS O - SEC SEL FOR DS AND DE */ 01870000
   EXEC SQL INCLUDE DSN8MPAE;    /* MAJSYS O - SEC SEL FOR EM        */ 01880000
   EXEC SQL INCLUDE DSN8MPDA;    /* MAJSYS O - DETAIL  FOR DS        */ 01890000
   EXEC SQL INCLUDE DSN8MPDH;    /* PROG TABLES - DISPLAY HEADINGS   */ 01900000
                                                                        01910000
     /********************************************************/         01920000
     /*          **  FIELDS SENT TO MESSAGE ROUTINE          */         01930000
     /********************************************************/         01940000
                                                                        01950000
 DCL  MODULE            CHAR (07) INIT ('DSN8IP2');                     01960000
 DCL  OUTMSG            CHAR (69);                                      01970000
                                                                        01980000
  /*********************************************************/           01990000
  /* SQL RETURN CODE HANDLING                              */           02000000
  /*********************************************************/           02010000
                                                                        02020000
   EXEC SQL WHENEVER SQLERROR   GO TO DB_ERROR;                         02030000
   EXEC SQL WHENEVER SQLWARNING GO TO DB_ERROR;                         02040000
                                                                        02050000
0  DCL UNSPEC BUILTIN;                                                  02060000
   DCL VERIFY BUILTIN;                                                  02070000
                                                                        02080000
  /*********************************************************/           02090000
  /*   INITIALIZATIONS                                     */           02100000
  /*********************************************************/           02110000
                                                                        02120000
   DSN8_MODULE_NAME.MAJOR='DSN8IP2';                                    02130000
   DSN8_MODULE_NAME.MINOR=' ';                                          02140000
                                                                        02150000
     /***********************************************************/      02160000
     /*  DETERMINES WHETHER NEW REQUEST OR NOT                  */      02170000
     /***********************************************************/      02180000
                                                                        02190000
  /* IF 'NO ANSWER POSSIBLE' SET BY DETAIL PROCESSOR THEN FORCE A */    02200000
  /* NEW REQUEST.                                                 */    02210000
                                                                        02220000
   IF PCONVSTA.PREV = ' ' THEN                                          02230000
     COMPARM.NEWREQ = 'Y';                                              02240000
                                                                        02250000
  /* IF ANSWER TO SECONDARY SELECTION THEN DETERMINE IF REALLY A  */    02260000
  /* NEW REQUEST. IT WILL BE CONSIDERED A NEW REQUEST IF POSITIONS*/    02270000
  /* 3 TO 60 ARE NOT ALL BLANK AND THE ENTERED DATA IF NOT 'NEXT' */    02280000
                                                                        02290000
   IF COMPARM.NEWREQ = 'N' & PCONVSTA.PREV = 'S' &                      02300000
      SUBSTR(COMPARM.DATA,3,58) ^= ' ' &                                02310000
      COMPARM.DATA ^= 'NEXT'                                            02320000
      THEN COMPARM.NEWREQ = 'Y';                                        02330000
                                                                        02340000
     /***********************************************************/      02350000
     /*  IF NEW REQUEST AND ACTION IS 'ADD' THEN                */      02360000
     /*       CALL DETAIL PROCESSOR                             */      02370000
     /*  ELSE CALL SECONDARY SELECTION                          */      02380000
     /***********************************************************/      02390000
                                                                        02400000
   IF COMPARM.NEWREQ='Y' THEN                                           02410000
     DO;                                                                02420000
       IF COMPARM.ACTION = 'A' THEN                                     02430000
         DO;                                                            02440000
           CALL DETAIL;                /* CALL DETAIL PROCESSOR    */   02450000
           GO TO EXIT;                 /* RETURN                   */   02460000
         END;                                                           02470000
                                                                        02480000
       CALL SECSEL;                    /* CALL SECONDARY SELECTION */   02490000
                                                                        02500000
       IF MAXSEL = 1 THEN              /* IF NO. OF CHOICES = 1    */   02510000
         CALL DETAIL;                  /* CALL DETAIL PROCESSOR    */   02520000
       GO TO EXIT;                     /* RETURN                   */   02530000
     END;                                                               02540000
                                                                        02550000
  /* IF ANSWER TO SECONDARY SELECTION AND NOT A SCROLLING REQUEST */    02560000
  /* (INPUT NOT EQUAL TO 'NEXT') AND THE POSITIONS                */    02570000
  /* 1 TO 2 IN INPUT DATA FIELD NOT EQUAL TO POSITIONS 1 TO 2     */    02580000
  /* IN OUTPUT DATA FIELD THEN SEE IF VALID SELECTION.            */    02590000
                                                                        02600000
     /***********************************************************/      02610000
     /*  DETERMINES IF VALID SELECTION NUMBER                   */      02620000
     /***********************************************************/      02630000
                                                                        02640000
   IF PCONVSTA.PREV ^= 'S' THEN GO TO IP201; /* TO SECONDARY SEL */     02650000
                                                                        02660000
   IF PCONVSTA.MAXSEL < 1  THEN GO TO IP201; /* NO VALID CHOICES */     02670000
                                                                        02680000
   IF COMPARM.DATA = 'NEXT' THEN GO TO IP201; /* SCROOL REQUEST*/       02690000
                                                                        02700000
   IF SUBSTR(COMPARM.DATA,1,2) = SUBSTR(PCONVSTA.DATA,1,2)              02710000
                  THEN GO TO IP201;  /* NO CHANGE ON INPUT SCREEN */    02720000
                                                                        02730000
   IF SUBSTR(COMPARM.DATA,2,1) = ' ' THEN     /* SECOND CHAR BLANK */   02740000
      IF VERIFY(SUBSTR(COMPARM.DATA,1,1),'123456789') = 0 THEN DO;      02750000
          SUBSTR(COMPARM.DATA,2,1) = SUBSTR(COMPARM.DATA,1,1);          02760000
          SUBSTR(COMPARM.DATA,1,1) = '0';                               02770000
          END;                                                          02780000
                                                                        02790000
   IF VERIFY(SUBSTR(COMPARM.DATA,1,2),'0123456789') = 0 &               02800000
             SUBSTR(COMPARM.DATA,1,2) > '00' THEN                       02810000
         IF DATAP <= PCONVSTA.MAXSEL THEN DO;                           02820000
            COMPARM.NEWREQ = 'Y'; /* TELL DETAIL PROCESSOR NEW REQ */   02830000
            CALL DETAIL;          /* CALL DETAIL PROCESSOR         */   02840000
            GO TO EXIT;           /* RETURN                        */   02850000
            END;                                                        02860000
                                                                        02870000
                                    /* INVALID SELECTION NO.       */   02880000
                                    /* PRINT ERROR MESSAGE         */   02890000
          CALL DSN8MPG (MODULE, '072E', OUTMSG);                        02900000
          PCONVSTA.MSG = OUTMSG;                                        02910000
                                                                        02920000
   GO TO EXIT;                      /* RETURN                      */   02930000
                                                                        02940000
     /***********************************************************/      02950000
     /*  DETERMINES WHETHER SECONDARY SELECTION OR DETAIL       */      02960000
     /***********************************************************/      02970000
                                                                        02980000
  /* MUST BE ANY ANSWER TO EITHER SEC SEL OR DETAIL */                  02990000
  IP201:                                                                03000000
   IF PCONVSTA.PREV = 'S' THEN                                          03010000
     DO;                                                                03020000
       CALL SECSEL;                 /* CALL SECONDARY SELECTION   */    03030000
       GO TO EXIT;                  /* RETURN                     */    03040000
     END;                                                               03050000
   IF PCONVSTA.PREV = 'D' THEN                                          03060000
     DO;                                                                03070000
       CALL DETAIL;                 /* CALL DETAIL PROCESSOR      */    03080000
       GO TO EXIT;                  /* RETURN                     */    03090000
     END;                                                               03100000
                                                                        03110000
                                            /* LOGIC ERROR        */    03120000
   CALL DSN8MPG (MODULE, '066E', OUTMSG);  /* PRINT ERROR MESSAGE*/     03130000
   PCONVSTA.MSG = OUTMSG;                                               03140000
   GO TO EXIT;                                                          03150000
                                                                        03160000
    EXEC SQL INCLUDE DSN8MPXX;      /* HANDLES SQL ERRORS         */    03170000
    GO TO EXIT;                     /* RETURN                     */    03180000
                                                                        03190000
     /************************************************************/     03200000
     /*  CALLS SECONDARY SELECTION AND RETURNS TO SQL 1          */     03210000
     /* NOTE - SAME SECONDARY SELECTION MODULE FOR DS, DE AND EM */     03220000
     /************************************************************/     03230000
                                                                        03240000
 SECSEL: PROC; /* CALL APPROPRIATE SECONDARY SELECTION MODULE */        03250000
       PCONVSTA.LASTSCR = 'DSN8001';      /* NOTE GENERAL SCREEN */     03260000
       IF COMPARM.OBJFLD='DS' |           /* DEPARTMENT STRUCTURE*/     03270002
                                                                        03280000
          COMPARM.OBJFLD='DE' |           /* INDIVIDUAL DEPARTMENT*/    03290002
                                                                        03300000
          COMPARM.OBJFLD='EM' THEN        /* INDIVIDUAL EMPLOYEE  */    03310002
         DO;                                                            03320000
           CALL DSN8MPA;                                                03330000
           RETURN;                                                      03340000
         END;                                                           03350000
                                              /*MISSING SECONDARY SEL*/ 03360000
   CALL DSN8MPG (MODULE, '062E', OUTMSG);  /* PRINT ERROR MESSAGE*/     03370000
   PCONVSTA.MSG = OUTMSG;                                               03380000
   GO TO EXIT;                                                          03390000
   END SECSEL;                                                          03400000
                                                                        03410000
      /**********************************************************/      03420000
      /* CALLS DETAIL PROCESSOR AND RETURNS TO SQL 1            */      03430000
      /**********************************************************/      03440000
                                                                        03450000
 DETAIL: PROC; /* CALL APPROPRIATE DETAIL MODULE */                     03460000
       PCONVSTA.LASTSCR = 'DSN8002';      /* NOTE DETAIL  SCREEN   */   03470000
                                                                        03480000
       IF COMPARM.OBJFLD='DS' THEN        /* ADMINISTRATIVE        */   03490002
         DO;                              /* DEPARTMENT STRUCTURE  */   03500000
           CALL DSN8MPD;                                                03510000
           RETURN;                                                      03520000
         END;                                                           03530000
                                                                        03540000
       IF COMPARM.OBJFLD='DE' THEN        /* INDIVIDUAL DEPARTMENT */   03550002
         DO;                              /* PROCESSING            */   03560000
           CALL DSN8MPE;                                                03570000
           RETURN;                                                      03580000
         END;                                                           03590000
                                                                        03600000
       IF COMPARM.OBJFLD='EM' THEN        /* INDIVIDUAL EMPLOYEE    */  03610002
         DO;                              /* PROCESSING             */  03620000
           CALL DSN8MPF;                                                03630000
           RETURN;                                                      03640000
         END;                                                           03650000
                                                                        03660000
                                          /*MISSING DETAIL MODULE*/     03670000
   CALL DSN8MPG (MODULE, '062E', OUTMSG);  /* PRINT ERROR MESSAGE*/     03680000
   PCONVSTA.MSG = OUTMSG;                                               03690000
   GO TO EXIT;                            /* RETURN              */     03700000
   END DETAIL;                                                          03710000
                                                                        03720000
  EXIT: RETURN;                                                         03730000
                           /* ORGANIZATION */                           03740000
        EXEC SQL INCLUDE DSN8MPA;       /* SEC SEL - ADMIN STRUCTURE */ 03750000
        EXEC SQL INCLUDE DSN8MPD;       /* DETAIL  - ADMIN STRUCTURE */ 03760000
        EXEC SQL INCLUDE DSN8MPE;       /* DETAIL  - DEPARTMENTS */     03770000
        EXEC SQL INCLUDE DSN8MPF;       /* DETAIL  - EMPLOYEES   */     03780000
   END;                                 /*       DSN8IP2         */     03790000