/******************************************************************/
/*         EXEC TO LKED THE PACKAGE FOR VSE                      **/
/*                                                               **/
/* PLEASE CHANGE THE FOLLOWING:                                  **/
/* 1.    VSE_MACHINE      SET TO YOUR VSE VSE MACHINE ID         **/
/* 2.    TEMP_FILE        CHANGE IF YOU DO NOT LIKE VALUE.       **/
/* 3.    TOPJCL.1         CHANGE AS YOU LIKE.                    **/
/* 4.    TOPJCL.2         CHANGE AS YOU LIKE.                    **/
/* 5.    TOPJCL.5         CHANGE TO YOUR TARGET PHASE SUBLIB.    **/
/******************************************************************/

ARG PARM
PARSE VAR PARM FN FT FM .
VSE_MACHINE =  TSTVSE        /* <<=== CHANGE TO YOUR VSE MACHINE ID */
TEMP_FILE   = 'VSEJOB JOB A' /* <<=== CHANGE IF YOU WISH            */
TOPJCL.0 = 6
TOPJCL.1 = "* $$ JOB JNM=LNKFYA,CLASS=7,DISP=D,USER=FAYED"
TOPJCL.2 = "* $$ LST CLASS=V,JSEP=0,DEST=(,ITTE2)"
TOPJCL.3 = "// JOB LNKFYA"
TOPJCL.4 = "// OPTION CATAL"
TOPJCL.5 = "// LIBDEF PHASE,CATALOG=TEST.TEMP23"   /* <=== CHANGE */
TOPJCL.6 = "/*"


BOTJCL.0 = 4
BOTJCL.1 = "/*"
BOTJCL.2 = "// EXEC LNKEDT"    /* WE FIX THIS CARD IN DO_LKEDIT */
BOTJCL.3 = "/&"
BOTJCL.4 = "* $$ EOJ"

 MODULE.0   = 19
 MODULE.1   = "FYALOG   FYALOG AMODE=31,RMODE=24"
 MODULE.2   = "FYAINITA FYAINITA AMODE=31,RMODE=24"
 MODULE.3   = "FYAINITB FYAINITB AMODE=31,RMODE=24"
 MODULE.4   = "FYAINITC FYAINITC AMODE=31,RMODE=24"
 MODULE.5   = "FYAVTM   FYAVTM   AMODE=31,RMODE=24"
 MODULE.6   = "FYAALLOC FYAALLOC AMODE=31,RMODE=24"
 MODULE.7   = "FYAUTIL  FYAUTIL  AMODE=31,RMODE=ANY"
 MODULE.8   = "FYAUTILN FYAUTILN AMODE=31,RMODE=ANY"
 MODULE.9   = "FYAVSAM  FYAVSAM  AMODE=31,RMODE=ANY"
 MODULE.10  = "FYAMAIN  FYAMAIN  AMODE=31,RMODE=24"
 MODULE.11  = "FYACOMM  FYACOMM  AMODE=31,RMODE=24"
 MODULE.12  = "FYAPRCSR FYAPRCSR AMODE=31,RMODE=ANY"
 MODULE.13  = "FYASIO   FYASIO   AMODE=31,RMODE=24"
 MODULE.14  = "FYAOC    FYAOC    AMODE=31,RMODE=24"
 MODULE.15  = "FYACMPRS FYACMPRS AMODE=31,RMODE=ANY"
 MODULE.16  = "FYASEC   FYASEC   AMODE=31,RMODE=ANY"
 MODULE.17  = "FYAFTPST FYAFTPST AMODE=31,RMODE=ANY"
 MODULE.18  = "FYASNAST FYASNAST AMODE=31,RMODE=24"
 MODULE.19  = "FYTCPVSE FYATCPST AMODE=31,RMODE=ANY"
/*******************************************/

 IF FN  = 'ALL'    FN = '' THEN
     DO X = 1 TO 19
        FN = WORD(MODULE.X,1)
        CALL DO_LKEDIT
     END
 ELSE
     DO X = 1 TO MODULE.0
       IF FN  = WORD(MODULE.X,1) THEN CALL DO_LKEDIT
     END
 EXIT

DO_LKEDIT:
   /*********************************************************/
   TIK      =  '7D'X                    /**                **/
   BOTJCL.2 = "// EXEC LNKEDT,PARM=",   /** BUILD THE      **/
                TIK ,                 /** CORRECT LNKEDT **/
                WORD(MODULE.X,3),     /** CARD.          **/
                TIK                   /**                **/
   /*********************************************************/

   IF FT = '' THEN FT = 'OBJ'
   IF FM = '' THEN FM = 'A'

   MODNM   = WORD(MODULE.X,1)
   PHASENM = WORD(MODULE.X,2)
  'EXECIO * DISKR 'MODNM FT FM '(FINIS STE ILINE.'

   DO I = 1 TO TOPJCL.0                   /* CREATE THE JOB JCL */
      OLINE.I = TOPJCL.I                  /*                    */
   END

   OLINE.I = ' INCLUDE'; I = I + 1        /* LINK-EDIT CONTROL  */
   OLINE.I = ' PHASE '  PHASENM  ',*' /* STATEMENTS.        */

   DO J = 1 TO ILINE.0                    /* NOW THE OBJECT     */
      I = I + 1                           /* MODULE ITSELF.     */
      OLINE.I = ILINE.J
   END

   DO J = 1 TO BOTJCL.0                   /* TRAILING JOB JCL  */
      I = I + 1
      OLINE.I = BOTJCL.J
   END

   OLINE.0 = I       /* TOTAL NUM OF LINES TO WRITE */

   "ERASE "TEMP_FILE
   "EXECIO " OLINE.0 "DISKW "TEMP_FILE" 0 F (FINIS STEM OLINE. )"

   "SPOOL PUN " VSE_MACHINE
   "PUNCH "TEMP_FILE" (NOH"
RETURN
