(piggyback)
Harold Grovesteen wrote:
Jim Snellen wrote:
[...]
This is the JCL to assemble the CDMOD. What am I missing
to get it to IJSYSRL?
Note, you do not have to catalogue the relocatable version of
the xxMOD, CD in this case. You can also assemble it with the
DTFxx macro in the same assembly.
Catalog the module only if you plan to use it in other programs.
That saves repeated increase in assembly size.
In the past, I would assemble the xxMOD in the same program.
After I was sure the parameters were correct and the program ran
correctly, I would then catalog the module if that made sense.
Agree 100%. Very wise words.
As far as getting the results of a CDMOD assembly into the system relo library (IJSYSRL), I've personally always used the POWER JECL "DISP=I" (insert) technique:
* $$ JOB JNM=QSORT,USER='FISH',CLASS=0,DISP=D
* $$ LST CLASS=A,DISP=D
(1) * $$ PUN CLASS=A,DISP=I
// JOB ASSEMBLE AND CATALR QSORT
(2) // OPTION NOLOG,DECK,NOLIST
(3) // ASSGN SYSLST,IGN
// EXEC ASSEMBLY
(4) PUNCH '* $$ JOB JNM=QSORT,CLASS=0,DISP=D'
PUNCH '* $$ LST CLASS=A,DISP=D'
PUNCH '// JOB CATALR QSORT'
PUNCH '// EXEC MAINT'
PUNCH ' CATALR QSORT'
END
/*
(5) // RESET SYSLST
(6) // OPTION LOG,DECK,XREF,NORLD,LIST
// EXEC ASSEMBLY
QSORT CSECT ...
...QSORT source code...
END ,
/*
// OPTION NOLOG,DECK,NOLIST
// ASSGN SYSLST,IGN
(7) // EXEC ASSEMBLY
PUNCH '/*'
PUNCH '/&&'
PUNCH '* $$ EOJ'
END
/*
/&
* $$ EOJ
1. The "DISP=I" punch disposition causes the job's punch output to be inserted into the reader queue instead. The job's generated punch output is of course not inserted into the reader until the POWER job ends.
2. In the first and last steps, you use specify the DECK and NOLIST options since you're not interested in the assembly's listing, only its punch output.
3. Again, you're not interested in the first and last step's listing, so you TEMPORARILY ignore syslst.
4. The PUNCH statements in the first/last assembly steps are used to punch the JECL/JCL needed in the subsequently "inserted" POWER job's jobstream to catalog the results of the second step's assembly. In this example case we're cataloging the object code for the QSORT routine, but in your case it would be your CDMOD assembly.
5. "Undo" the temporary ignoring of syslst, thereby restoring the default permanent syslst assignment, since for the next assembly we actually want to see the assembly listing.
6. Here we specify the DECK and LIST options, because we're interested in both the assembly's punch output as well as its listing too.
7. The last assembly step, like the first one, is used to punch the resulting catalog jobstream's ending JCL/JECL.
Submit this job and VOILA! Immediately after it runs, another POWER job will magically run to catalog the result of the previous job's output into the relocatable library.
I used the same technique to assemble and catalog macros into the E. source statement library.
But I would strongly heed Harold's advice beforehand to ensure your CDMOD is absolutely correct and the way you want it before submitting the job to catalog it into the system relo library.
Good luck! Hope that helps!
--
"Fish" (David B. Trout)
Software Development Laboratories
mail: fish@...