Title: A Simple Cobol Example
1A Simple Cobol Example ISPF vs RDz
2Traditional ISPF ISPF document
- Job stream would include Cobol Program wrapped
with JCL - Likely in PDS named accountid.work.compiles as
extension was not critical - Job would be submitted
- Would look for output in JES
- TSO SDSF ST
- Owner accountID to reduce list to your jobs
- Put ? by appropriate entry
- Put s by file(s) to review for errors
- If error, then back to file, correct and repeat
process(see ISPF Document)
3Cobol Example
- Program reads a record from a file, selects
specific fields from the record and writes the
line. - JCL matches system setup at the University of
Arkansas - Good example to illustrate application JCL
references to system resources like the Cobol
compiler and to data files
4Cobol Example (single job stream)
5Cobol Example (single job stream)
6Cobol Example (single job stream)
- ALL JCL statements must be in Upper Case
- Three JCL statements
- JOB information related to the job to be run
- EXEC executes a program or a procedure
- DD data definition? points to data and files
- Example
- //COBJOB JOB (COBOLPROG),'ACCTID',NOTIFYACCTID,
- // CLASSA,MSGLEVEL(1,1),TIME1,MSGCLASSA
- //STEP1 EXEC PROCIGYWCLG
- //COBOL.SYSIN DD
-
- Cobol Program with references to input (READER)
and output (DISKFL1) -
- //GO.DISKFL1 DD DSNACCTID.WORK.OUT(COBOUT),DISP
SHR - //GO.READER DD
- . Data
- //
-
-
7Cobol Example (single job stream)
- EXEC statement
- //STEP1 EXEC PROCIGYWCLG
- Executes a procedure name IGYWCLG
- This procedure has all the programs needed to
compile, link needed files to create an object
module and gorun the program. The CLG ending is
CompileLinkGo
8Cobol Example (single job stream)
- DD statements
- //STEP1 EXEC PROCIGYWCLG
- //COBOL.SYSIN DD
- IDENTIFICATION DIVISION.
- ..Rest of Cobol program
-
-
9Cobol Example (single job stream)
- DD statements
- The DD statement below allows the Cobol program
to abstract the name used in the program. The
READER points to a DD statement to be used for
input - SELECT CARD-IN ASSIGN TO UT-S-READER.
-
- Â
- //
- //GO.READER DD
- ANDERSON ESSABIA ANNIECE XXXXXXXXX ISYS4283
002 . - ...
- ...
- /
- //
-
-
10Cobol Example (single job stream)
- DD statements
- The DD statement below allows the Cobol program
to abstract the name used in the program. The
DISKFL1 points to a DD statement to be used for
output - SELECT DISK-FILE1 ASSIGN TO UT-S-DISKFL1
- ...
- ...
-
- //GO.DISKFL1 DD DSNACCTID.WORK.OUT(COBOUT),DISP
SHR, - // VOLSERDB1469,SPACE(CYL,(1,1,1)),UNITSYSDA,
- // DCB(RECFMFB,LRECL80,BLKSIZE6400,DSORGPO)
-
-
11Cobol Example (single job stream)
- DD statements
- The DD statement below allows the Cobol program
to abstract the name used in the program. The
DISKFL1 points to a DD statement to be used for
output - SELECT DISK-FILE1 ASSIGN TO UT-S-DISKFL1
- ...
- ...
-
- //GO.DISKFL1 DD DSNACCTID.WORK.OUT(COBOUT),DISP
SHR, - // VOLSERDB1469,SPACE(CYL,(1,1,1)),UNITSYSDA,
- // DCB(RECFMFB,LRECL80,BLKSIZE6400,DSORGPO)
-
-
12Cobol Example (single job stream)
The DD Parameter
DD Parameter Meaning
DISP(MOD,KEEP) DISP ? Disposition. Relates what is to be done with the PDS. In this case, it is modify and keep. There are many possibilities but can you guess what NEW, CATLG and OLD, DELETE do?
VOLSERDB1469 VOL ? Volume, SER ? SERIAL. This is analogous to a letter for a disk drive on your PC. TEMP91 is The name of the disk.
SPACE(CYL,(1,1,1)) Defines space for the file in terms of cylindersyou could also use tracks
UNITSYSDA SYSDA ? Systems Direct Access and means a disk
DCB(RECFMFB.. DCB ? Data Control Block, LRECL ? Logical Record Length BLKSIZE?Block Size and should be multiple of the record length DSORG?Dataset Organization Partitioned Organization
13Cobol Example (single job stream)
- Submit Job
- TSO SDSF ST
- OWNER acctid
-
-
14Cobol Example (single job stream)
- Review JESYSMS
- Place letter s to left of JESYSMS
-
-
15Cobol Example (single job stream)
- Find COND CODEshopefully, all zero
-
-
16Cobol Example (single job stream)
- Locate error
- If error is in compile, then review Cobol
- Correction requires moving around to the correct
file to make the corrections and then resubmittig -
-
-
17(No Transcript)
18RDz
- This same job stream can be submitted within
RDz in tack if placed in a PDS with x.x.JCL - However, take advantage of RDz color coded syntax
checking by putting Cobol, JCL, etc. into
appropriate PDS,s recognized by the RDz editors - Suggested PDSs
- ACCTID.WORK.COBOL
- ACCTID.WORK.JCL
- ACCTID.WORK.Data
- Submitted job and JES output in same area
- If error, can correct with RDz editorrerun
- No navigation to other interfaces required
19Rational Developer for System z (covered later)
- Programmer can simultaneously
- Debug a COBOL Program
- Create a data table in DB2
- Browse local files and PDS
- Run SQL against DB2
- Check their JES output
Rational Developer uses Views and Perspectives
to Organize Development Work
20Cobol Example (JES)
21Cobol Example (JES)(Error)
- MOE instead of MOVE open SYSPRINT file
- Find error in editor
- 000055 MOE CRD-PWD TO CRD-OUT-PWD.
-
- 000055gt IGYPS2072-S "MOE" was invalid.
Skipped to the next verb
22Cobol Example (Using PDSs to Advantage)
- JCL goes into ACCTID.WORK.JCL
- COBOL goes into ACCTID.WORK.COBOL
- Input data goes into ACCTID.WORK.DATA
- RDz editors sense type of file and provides
color-coded syntax checking - Right-click, select submit on the JCL to execute
job - Job will be in JES for viewing
23Cobol Example (JCL)
//COBJOB JOB (COBOLPROG),'DOUGLAS',NOTIFYDOUGLAS,
//
CLASSA,MSGLEVEL(1,1),TIME1,MSGCLASSA
//STEP1 EXEC
PROCIGYWCLG
//COBOL.SYSIN DD
DSNDOUGLAS.WORK.COBOL(SIMPLEC),DISPSHR
//GO.DISKFL1 DD DSNDOUGLAS.WORK.OU
T(COBOUT),DISPSHR
//GO.READER DD DSNDOUGLAS.WORK.DATA(SMPLDATA),D
ISP(OLD,KEEP)
24Cobol Example (Data)
25Cobol Example (Output)
26Rational Developer for z
- Integrated Development Environment (IDE)
- GUI based
- Multiple views and perspectives for multitasking
- Immediate feedback on syntax
- Helps students understand inter-relationships in
the z environment -
27Cobol Example (single job stream)
- ALL JCL statements must be in Upper Case
- Three JCL statements
- JOB information related to the job to be run
- EXEC executes a program or a procedure
- DD data definition? points to data and files
- Example
- //COBJOB JOB (COBOLPROG),'ACCTID',NOTIFYACCTID,
- // CLASSA,MSGLEVEL(1,1),TIME1,MSGCLASSA
- //STEP1 EXEC PROCIGYWCLG
- //COBOL.SYSIN DD
-
- Cobol Program with references to input (READER)
and output (DISKFL1) -
- //GO.DISKFL1 DD DSNACCTID.WORK.OUT(COBOUT),DISP
SHR - //GO.READER DD
- . Data
- //
-
-