All:
I am a re-newbie to COBOL (learned it years ago but it's very rusty). I am
teaching it to my students because it's a great job skill now. Below is job
that contains the source code inline and runs great. It compiles, links and
runs error free. What I want is the syntax to place the LOAD module into a
data set. I tried what I thought would work, but it didn't. Many thanks!
//KC02177B JOB (12345678),'V HAMPTON',MSGLEVEL=(1,1),REGION=0M,
// NOTIFY=&SYSUID,MSGCLASS=A,CLASS=A
//****
//COBOL1 EXEC IGYWCLG,
// PARM.COBOL='TEST,RENT,APOST,OBJECT,NODYNAM,LIB,SIZE(5048376)'
//COBOL.SYSPRINT DD SYSOUT=*
//COBOL.SYSIN DD *
IDENTIFICATION DIVISION. 00000004
PROGRAM-ID. PROG1. 00000006
AUTHOR. VICKI HAMPTON.
* LAB EXERCISE 1. 00000007
ENVIRONMENT DIVISION. 00000009
CONFIGURATION SECTION. 00000011
INPUT-OUTPUT SECTION. 00000017
FILE-CONTROL. 00000019
SELECT INPUT-FILE ASSIGN TO DA-S-INPUT. 00000021
SELECT PRNT-FILE ASSIGN TO UR-S-PRNT. 00000024
* INPUT-FILE IS THE NAME THE PROGRAM WILL USE
* DA-S-INPUT TELLS JCL TO ASSIGN THE INPUT DATA
* TO THE FILE NAME INPUT-FILE, SAME FOR PRNT-FILE
* AND UR-S-PRNT
EJECT 00000025
* EJECT DIRECTS THE PRINTER TO START THE NEXT
* OUTPUT TO BEGIN AT THE TOP OF THE PAGE
DATA DIVISION. 00000026
SKIP3 00000027
* SKIP 3 INSERTS 3 BLANK LINES
FILE SECTION. 00000028
SKIP2 00000029
* SKIP TO INSERTS 2 BLANK LINES
FD INPUT-FILE 00000030
BLOCK CONTAINS 0 RECORDS 00000031
* THIS INFORMS THE SYSTEM THAT NO RECORDS ARE PRESENT
* WHEN WE START (WE ARE READING OUR DATA FROM
* AN INLINE STREAM
LABEL RECORDS ARE STANDARD. 00000032
01 INPUT-REC PIC X(80). 0000033
SKIP2 00000034
FD PRNT-FILE 00000045
LABEL RECORDS ARE OMITTED. 00000046
01 PRNT-REC. 00000047
03 PIC X(60).
03 PIC X(65).
* THIS IS FORMATTING FOR OUR REPORT
SKIP2 00000048
EJECT 00000049
WORKING-STORAGE SECTION. 00000050
SKIP2 00000051
************************************************************** 00000052
* LAYOUT FOR THE INPUT FILE * 00000053
************************************************************** 00000054
01 INPUT-DATA. 00000055
03 I-NAME PIC X(20). 00000057
03 DEPT PIC X(10).
03 FILLER PIC X(50). 00000058
* FILLER IS USED FOR PADDING
SKIP2 00000062
EJECT 00000096
************************************************************** 00000097
* LAYOUT FOR THE 1ST DATA LINE OF REPORT PRNTING * 00000098
************************************************************** 00000099
01 PRNT-DATA1. 00000100
03 FILLER PIC X(10) VALUE SPACES. 00000101
03 L-NAME1 PIC X(20). 00000104
03 FILLER PIC X(10) VALUE SPACES.
03 DEPT1 PIC X(10).
03 EXTRA PIC X(50).
03 EXTRA2 PIC X(40)
VALUE 'QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ'.
03 EXTRA3 PIC X(5) VALUE 'EEEEE'.
SKIP2 00000105
************************************************************** 00000129
* LAYOUT FOR THE 1ST HEADING LINE OF REPORT PRNTING * 00000130
************************************************************** 00000131
01 PRNT-HEADING1. 00000132
03 FILLER PIC X(10) VALUE SPACES. 00000133
03 FILLER PIC X(20) VALUE 'NAME'. 00000136
03 FILLER PIC X(10) VALUE SPACES.
03 FILLER PIC X(10) VALUE 'DEPT'.
SKIP2 00000137
************************************************************** 00000155
* MISCELLANEOUS DATA NAMES * 00000156
************************************************************** 00000157
01 MISC. 00000158
SKIP2 00000159
************************************************************** 00000160
* END OF FILE (EOF) SWITCHES * 00000161
* 0 = NOT AT EOF 1 = AT EOF * 00000162
************************************************************** 00000163
03 EOF-I PIC 9 VALUE 0. 00000164
************************************************************** 00000201
* START OF PROCEDURE DIVISION * 00000202
************************************************************** 00000203
PROCEDURE DIVISION. 00000204
000-MAINLINE. 00000206
OPEN INPUT INPUT-FILE 00000207
OUTPUT PRNT-FILE. 00000210
PERFORM 2000-READ-INPUT. 00000211
PERFORM 1400-PRINT-HEAD.
PERFORM 1500-LOOP 00000217
UNTIL EOF-I = 1. 00000218
CLOSE INPUT-FILE 0000219
PRNT-FILE. 00000221
STOP RUN. 00000223
1400-PRINT-HEAD.
WRITE PRNT-REC FROM PRNT-HEADING1 00000265
AFTER ADVANCING PAGE. 00000266
MOVE SPACES TO PRNT-REC. 00000267
WRITE PRNT-REC 00000268
AFTER ADVANCING 1 LINE. 00000269
1500-LOOP. 00000248
PERFORM 1600-PRINT-NAMES. 00000255
PERFORM 2000-READ-INPUT. 0000249
************************************************************** 00000261
* PRINTS THE SCHEDULE INFORMATION * 00000262
************************************************************** 00000263
1600-PRINT-NAMES. 00000264
MOVE I-NAME TO L-NAME1. 00000271
MOVE DEPT TO DEPT1.
WRITE PRNT-REC FROM PRNT-DATA1 00000272
AFTER ADVANCING 1 LINE. 00000273
************************************************************** 00000324
* READS THE INPUT FILE * 0000325
************************************************************** 00000326
2000-READ-INPUT. 0000327
READ INPUT-FILE INTO INPUT-DATA 000328
AT END MOVE 1 TO EOF-I. 00000329
//GO.SYSOUT DD SYSOUT=*
//GO.SYSPRINT DD SYSOUT=*
//GO.INPUT DD *
VICKI HAMPTON CIS
GEORGE WASHINGTON ENG
IVAN ISGREAT PHY
IGOR ISBETTER
IVANA GOHOME
COB OL
HUGH LESS
GARY MORE
PAULA PANTHER
//GO.PRNT DD SYSOUT=*
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN