# DataPrep JCL for OS/390Z/OS LE

Introduction [G--1](#introduction)

Step 1: JCL for Installation [G--1](#step-1-jcl-for-installation)

Step 2: JCL for the Unload Tape [G--2](#step-2-jcl-for-the-unload-tape)

Step 3: JCL for DataPrep Extract Validation
[G--7](#step-3-jcl-for-dataprep-extract-validation)

Step 4: JCL for DataPrep Delta Processing
[G--15](#step-4-jcl-for-dataprep-delta-processing)

Step 5: JCL for Current File Backup
[G--20](#step-5-jcl-for-current-file-backup)

Step 6: JCL for Previous File Backup
[G--22](#step-6-jcl-for-previous-file-backup)

Step 7: JCL for NSLDS DataPrep Reporting
[G--25](#step-7-jcl-for-nslds-dataprep-reporting)

Step 8: JCL for Renaming the Submittal File
[G--31](#step-8-jcl-for-renaming-the-submittal-file)

## Introduction

The DataPrep JCL for Z/OS LE installation process creates dataset names
on your system. The Unload JCL provided contains a specific naming
convention. In particular, the second and last node in the dataset names
contain identifying information (Version Release Date) to assist in
tracking and identifying software in use*. **We strongly recommend that
you retain this naming convention.***

## Step 1: JCL for Installation

The following JCL will be used once to unload additional JCL. JCL for
the Unload Tape, step 2, will then unload the rest of the tape. Your
site will probably have a JCL file similar to this that executes
IEBCOPY. You should modify the file to have the file names indicated
below.

**The Install JCL**

// CLASS=A,MSGCLASS=A,REGION=4M,NOTIFY=&SYSUID

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- DSY20012
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* SYSTEM SOFTWARE - GA DATA PROVIDER TAPE UNLOAD - PART1

//\*

//\* PSTEP010 - IEBCOPY

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

// SET ENV=P

// SET LVLSET=LS990923

// SET SPACE01=TRK

// SET UNITPERM=SYSDA

// SET UNITTAPE=CART

// SET VR=PROD

//\*

//\*

//\* JOBLIB DD DISP=SHR,DSN=??????????????????????

//\*

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP010 EXEC PGM=IEBCOPY

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..CUTTAPE.&LVLSET,

// DISP=SHR,

// UNIT=&UNITTAPE,

// LABEL=(2,SL)

//\*\*\* VOLSER=??????

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..CUTTAPE.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(2,1,2)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

## Step 2: JCL for the Unload Tape

The following JCL was unloaded to your system in step 1. This JCL sets
up the actual libraries and software to allow you to execute the
DataPrep software. This Unload Tape JCL will normally run only once.
However, if you need to run this JCL again to reinstall DataPrep, be
aware that step PSTEP005 will delete all datasets previously created.

This JCL may be referenced from the library created with CUTTAPE as part
of the name (created in step 1). The library member name is UNLOAD.

**The Unload JCL**

//PSY20013 JOB (P75333AA-5100AAAA,066),\'GA TAPE UNLD2\',

// CLASS=A,MSGCLASS=A,REGION=4M,NOTIFY=&SYSUID

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- DSY20013
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* SYSTEM SOFTWARE - GA DATA PROVIDER TAPE UNLOAD - PART2

//\*

//\* PSTEP010 - IEBGENER

//\* PSTEP020 - IEBGENER

//\* PSTEP030 - IEBCOPY

//\* PSTEP040 - IEBCOPY

//\* PSTEP050 - IEBCOPY

//\* PSTEP060 - IEBCOPY

//\* PSTEP070 - IEBCOPY

//\* PSTEP080 - IEBGENER

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

// SET ENV=P

// SET LVLSET=LS990923

// SET SPACE01=TRK

// SET UNITPERM=SYSDA

// SET UNITTAPE=CART

// SET VR=PROD

// SET SC=GA

//\*

//\* JOBLIB DD DISP=SHR,DSN=??????????????????????????????

//\*

//\*

//PSTEP005 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&VR..&SC..DOC.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD2 DD DSN=NSLDS&ENV..&VR..&SC..DBEXT.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD3 DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD4 DD DSN=NSLDS&ENV..&VR..&SC..JCLLIB.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD5 DD DSN=NSLDS&ENV..&VR..&SC..LOAD.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD6 DD DSN=NSLDS&ENV..&VR..&SC..DBEXTERR.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD7 DD DSN=NSLDS&ENV..&VR..&SC..LOADERR.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//TD8 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM,,DEFER)

//\*

//\*

//\*

//PSTEP010 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..DOC.&LVLSET,

// DISP=SHR,

// LABEL=(3,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN)

//\*\*\* VOL=(,RETAIN,,SER=&VOLSER)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..DOC.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(2,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP020 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..DBEXT.&LVLSET,

// DISP=SHR,

// LABEL=(4,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP010.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..DBEXT.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(1,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP020.RC NE 0 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP030 EXEC PGM=IEBCOPY

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..CNTL.&LVLSET,

// DISP=SHR,

// LABEL=(5,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP020.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(2,1,2)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP030.RC NE 0 THEN

//PSTEP031 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP040 EXEC PGM=IEBCOPY

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..JCLLIB.&LVLSET,

// DISP=SHR,

// LABEL=(6,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP030.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..JCLLIB.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(10,2,2)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP040.RC NE 0 THEN

//PSTEP041 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP050 EXEC PGM=IEBCOPY

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..LOAD.&LVLSET,

// DISP=SHR,

// LABEL=(7,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP040.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..LOAD.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(10,1,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP050.RC NE 0 THEN

//PSTEP051 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP060 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..DBEXTERR.&LVLSET,

// DISP=SHR,

// LABEL=(8,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP050.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..DBEXTERR.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(1,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP060.RC NE 0 THEN

//PSTEP061 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP070 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..LOADERR.&LVLSET,

// DISP=SHR,

// LABEL=(9,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP060.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..LOADERR.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(1,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP070.RC NE 0 THEN

//PSTEP071 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBCOPY
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP080 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS.&VR..PREVEXT.&LVLSET,

// DISP=SHR,

// LABEL=(10,SL),

// UNIT=&UNITTAPE,

// VOL=(,RETAIN,,REF=\*.PSTEP070.SYSUT1)

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// DISP=(NEW,CATLG,DELETE),

// SPACE=(&SPACE01,(1,1)),

// UNIT=&UNITPERM

//\*

//\*

// IF PSTEP080.RC NE 0 THEN

//PSTEP081 EXEC CKRCODE

// ENDIF

//\*

//\*

## Step 3: JCL for DataPrep Extract Validation

The following JCL executes the DataPrep programs that perform Extract
Validation and error reporting, and creates the Validated Extract file
that will be the input to the Delta process. It can be referenced from
the library created with JCLLIB as part of the name. The library member
name is PRBD1000.

The summary error report can be sorted three different ways (by Error
Count, Field Code, or Error Code) by changing the SET statement. See the
SET statements in the in-stream JCL documentation below. The detail
error report is only sorted by SSN.

The JCL includes a sample Database Extract file containing 50
student/loan records of which 2 are in error. This should be reported in
the Extract Validation Log File Report, the Detail Extract Error Report,
and the Summary Extract Error Report, which are outputs from the Extract
Validation process.

A second sample extract is included for your use that contains 50
student/loan records and which error thresholds are exceeded. If you use
this sample, an empty Validated Extract file will be created. You can
use this second sample to test that you have installed DataPrep
correctly. To use the second sample, you must change the JCL to
reference the sample Database Extract containing DBEXTERR as part of the
name. Be sure to comment out or delete the sample files once you have
completed testing.

**Previous Datasets**

The first step in the JCL will delete any datasets previously created.
If you want to save your previous Validated Extract file, you must copy
it to another file name or run the backup JCL.

**Extract Validation JCL**

//PRBD1000 JOB (P75333AA-5100AAAA,066),\'GA 1ST LEV VER\',

// CLASS=A,MSGCLASS=A,REGION=6M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD100PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA EXTRACT VALIDATION AND ERROR REPORTING

//\*

//\* PSTEP010 - IEFBR14 DELETE FILES FROM PREVIOUS RUN

//\* PSTEP020 - TIRIOVFI SPECIAL FOR COOL:GEN

//\* PSTEP030 - RBD100PB VALIDATION

//\* PSTEP040 - SORT SORT OF EXTRACT ERROR FILE

//\* FOR DETAIL ERROR REPORT

//\* PSTEP050 - TIRIOVFI SPECIAL FOR COOL:GEN

//\* PSTEP060 - RBD200DB DETAIL ERROR REPORTING

//\* PSTEP070 - IEBGENER PRINT DETAIL ERROR REPORT

//\* PSTEP080 - UTD300PB SUMMARY ERROR REPORT COUNTER

//\* PSTEP090 - SORT SORT SUMMARY ERROR REPORT FILE

//\* PSTEP100 - UTD400PB SUMMARY ERROR REPORT PROGRAM

//\* PSTEP110 - IEBGENER PRINT SUMMARY ERROR REPORT

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* THIS IS SAMPLE JCL THAT WILL GO TO THE DATA PROVIDER\'S SITE.

//\* IT IS NOT TO BE RUN IN PRODUCTION AT NSLDS AND DOES NOT

//\* REFLECT NSLDS PROGRAMMING STANDARDS. THIS JCL IS SENT TO THE

//\* DATA PROVIDER AS A SUGGESTED SAMPLE AND ITS USE IS OPTIONAL.

//\*

// SET ENV=P

// SET JOBNME=PRBD1000

// SET LVLSET=LS990923

// SET SPACE01=CYL

// SET SRCNME01=PRBD1000

// SET UNITPERM=SYSDA

// SET UNITTEMP=SYSDA

// SET VR=PROD

// SET SC=GA

//\* ERROR COUNT ORDER

//\* SET SORTPARM=PUTD4001

//\* FIELD CODE ORDER

//\* SET SORTPARM=PUTD4002

//\* ERROR CODE ORDER

// SET SORTPARM=PUTD4003

//\*

//\*

//\*

//\*JOBLIB DD DSN=NSLDS&ENV..&VR..&SC..LOAD.&LVLSET,DISP=SHR

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.VALEXT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD2 DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD3 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTERR,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD4 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.LOGFILE,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD5 DD DSN=NSLDS&ENV..&JOBNME..PSTEP060.ERRORRPT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD6 DD DSN=NSLDS&ENV..&JOBNME..PSTEP050.IOVFILE,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD7 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.ERRSORT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD8 DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORCNT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD9 DD DSN=NSLDS&ENV..&JOBNME..PSTEP090.ERRORCNT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD10 DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORSUM,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//PSTEP020 EXEC PGM=TIRIOVFI

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=4096,

// RECFM=FB,

// SPACE=(TRK,(1,1),RLSE),

// UNIT=&UNITTEMP

//\*

//TIRMSGF DD SYSOUT=\*

//\*

// IF PSTEP020.RC NE 110 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD100PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP030 EXEC PGM=RBD100PB

//\*

//\*

//GA001 DD DSN=NSLDS&ENV..&VR..&SC..DBEXT.&LVLSET,

// DISP=SHR

//\*

//TEFFILE DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PUTD3000),

// DISP=SHR

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.VALEXT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(50,50),RLSE),

// UNIT=(&UNITPERM)

//\*

//ER001 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTERR,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(50,50),RLSE),

// UNIT=(&UNITPERM)

//\*

//LG001 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.LOGFILE,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=80,

// RECFM=FB,

// SPACE=(&SPACE01,(100,50),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// DISP=(OLD,DELETE,KEEP)

//\*

//TIRMSGF DD SYSOUT=\*

//\*

//\*

// IF PSTEP030.RC NE 1000 THEN

//PSTEP031 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--SORT\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP040 EXEC PGM=SORT

//\*

//SORTIN DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTERR,

// DISP=SHR

//\*

//SORTOUT DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.ERRSORT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(5,5),RLSE),

// UNIT=(&UNITPERM)

//\*

//SORTWK01 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK02 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK03 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SYSIN DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PRBD4000),

// DISP=SHR

//\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//\*

//\*

// IF PSTEP040.RC NE 0 THEN

//PSTEP041 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--TIRIOVFI\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP050 EXEC PGM=TIRIOVFI

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP050.IOVFILE,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=4096,

// RECFM=FB,

// SPACE=(CYL,(1,1),RLSE),

// UNIT=&UNITTEMP

//\*

//TIRMSGF DD SYSOUT=\*

//\*

//\*

// IF PSTEP050.RC NE 110 THEN

//PSTEP051 EXEC PGM=CMPABEND

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--RBD200PB\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP060 EXEC PGM=RBD200PB

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.ERRSORT,

// DISP=SHR

//\*

//TEFFILE DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PUTD3000),

// DISP=SHR

//\*

//GA006 DD DSN=NSLDS&ENV..&JOBNME..PSTEP060.ERRORRPT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=133,

// RECFM=FBA,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=&UNITTEMP

//\*

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP050.IOVFILE,

// DISP=(OLD,DELETE,KEEP)

//\*

//TIRMSGF DD SYSOUT=\*

//\*

//\*

// IF PSTEP060.RC NE 1000 THEN

//PSTEP061 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--IEBGENER\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP070 EXEC PGM=IEBGENER

//\*

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP060.ERRORRPT,

// DISP=SHR

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\* FOLLOWING WILL SEND REPORT DIRECTLY TO HP828 PRINTER

//\*

//\* SYSUT2 DD SYSOUT=(Q,,3E01),

//\* DCB=(\*.SYSUT1)

//\*

//\*

// IF PSTEP070.RC NE 0 THEN

//PSTEP071 EXEC PGM=CMPABEND

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--UTD300PB\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP080 EXEC PGM=UTD300PB

//\*

//GA001 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTERR,

// DISP=SHR

//\*

//TEFFILE DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PUTD3000),

// DISP=SHR

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORCNT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=117,

// RECFM=FB,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=&UNITTEMP

//\*

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

// IF PSTEP080.RC NE 0 THEN

//PSTEP081 EXEC CKRCODE

// ENDIF

//\*

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--SORT\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP090 EXEC PGM=SORT

//\*

//SORTIN DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORCNT,

// DISP=SHR

//\*

//SORTOUT DD DSN=NSLDS&ENV..&JOBNME..PSTEP090.ERRORCNT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=117,

// RECFM=FB,

// SPACE=(&SPACE01,(5,5),RLSE),

// UNIT=(&UNITPERM)

//\*

//SORTWK01 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK02 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK03 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SYSIN DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(&SORTPARM),

// DISP=SHR

//\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//\*

//\*

// IF PSTEP090.RC NE 0 THEN

//PSTEP091 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--UTD400PB\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP100 EXEC PGM=UTD400PB

//\*

//GA001 DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(&SORTPARM),

// DISP=SHR

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP090.ERRORCNT,

// DISP=SHR

//\*

//GA003 DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORSUM,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=133,

// RECFM=FBA,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

// IF PSTEP090.RC NE 0 THEN

//PSTEP101 EXEC CKRCODE

// ENDIF

//\*

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--IEBGENER\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP110 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORSUM,

// DISP=SHR

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP110.RC NE 0 THEN

//PSTEP111 EXEC CKRCODE

// ENDIF

//\*

## Step 4: JCL for DataPrep Delta Processing

The following JCL executes Delta Processing. The output from this job
will be the Delta Processing Log file and the final Submittal file. It
can be referenced from the library created with JCLLIB as part of the
name. The library member name is PRBD6000.

The Validated Extract file from PRBD1000 is the input to this job. It is
sorted by the 61-byte identifier. The sorted Validated Extract file is
the input to Delta Processing. The JCL references a sample prior
Validated Extract file containing 'PREVEXT' as part of the name. The
current Validated Extract file should come from the Extract Validation
(PRBD1000) procedure. When using the sample prior Validated Extract file
provided, the current Validated Extract file should be the output from
PRBD1000 with the sample input file with 'DBEXT' as part of the file
name. Using a different file could produce unexpected results. The
output Submittal file will be sent to NSLDS. The sample Validated
Extract file contains 50 records. Twenty records should be written to
the final Submittal file.

Once the Delta process runs, steps 50 to 70 will create a backup of the
previous Validated Extract file. Step 60 will delete the previous
Validated Extract file, and step 70 will replace it with the sorted
Validated Extract file.

**Previous Datasets**

The first step in the JCL will delete any datasets previously created.
If you want to save your previous Submittal file, you must copy it to
another file name or run the backup JCL.

**Delta Processing JCL**

//PRBD6000 JOB (P75333AA-5100AAAA,066),\'GA DELTA PROCE\',

// CLASS=A,MSGCLASS=A,REGION=6M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD600PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA DELTA PROCEDURE

//\*

//\* PSTEP010 - IEFBR14 DELETE FILES FROM PREVIOUS RUN

//\* PSTEP020 - TIRIOVFI SPECIAL FOR COOL:GEN

//\* PSTEP030 - SORT SORT VALIDATED EXTRACT FILE

//\* BY IDENTIFIER

//\* PSTEP040 - RBD600PB DELTA PROCESSING

//\* PSTEP050 - IEBGENER COPY PREVIOUS EXT FILE TO BKUP

//\* PSTEP060 - IEFBR14 DELETE PREVIOUS EXT FILE

//\* PSTEP070 - IEBGENER COPY CURRENT VALIDATED EXT FILE

//\* TO THE PREVIOUS EXTRACT FILE

//\* FOR NEXT PERIOD PROCESSING

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* THIS IS SAMPLE JCL THAT WILL GO TO THE DATA PROVIDER\'S SITE.

//\* IT IS NOT TO BE RUN IN PRODUCTION AT NSLDS AND DOES NOT

//\* REFLECT NSLDS PROGRAMMING STANDARDS. THIS JCL IS SENT TO THE

//\* DATA PROVIDER AS A SUGGESTED SAMPLE AND ITS USE IS OPTIONAL.

//\*

// SET JOBNME=PRBD6000

// SET LVLSET=LS990923

// SET SPACE01=CYL

// SET SRCNME01=PRBD1000

// SET UNITPERM=SYSDA

// SET UNITTEMP=SYSDA

// SET VR=PROD

// SET SC=GA

// SET ENV=P

// SET SORTPARM=PRB01000

//\*

//\*

//\*

//JOBLIB DD DSN=NSLDS&ENV..&VR..&SC..LOAD.&LVLSET,DISP=SHR

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.LOG,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD2 DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD3 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.SUBMITTL,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD4 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTSORT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD5 DD DSN=NSLDS&ENV..&VR..&SC..PREVBKUP.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//PSTEP020 EXEC PGM=TIRIOVFI

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=4096,

// RECFM=FB,

// SPACE=(TRK,(1,1),RLSE),

// UNIT=&UNITTEMP

//\*

//TIRMSGF DD SYSOUT=\*

//\*

// IF PSTEP020.RC NE 110 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--SORT\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP030 EXEC PGM=SORT

//\*

//SORTIN DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.VALEXT,

// DISP=SHR

//\*

//SORTOUT DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTSORT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(5,5),RLSE),

// UNIT=(&UNITPERM)

//\*

//SORTWK01 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK02 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK03 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SYSIN DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(&SORTPARM),

// DISP=SHR

//\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//\*

//\*

// IF PSTEP030.RC NE 0 THEN

//PSTEP031 EXEC CKRCODE

// ENDIF

//\*

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD600PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP040 EXEC PGM=RBD600PB

//\*

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTSORT,

// DISP=SHR

//\*

//GA004 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// DISP=SHR

//\*

//GA003 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.SUBMITTL,

// BLKSIZE=0,

// DISP=(NEW,CATLG,KEEP),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(50,50),RLSE),

// UNIT=(&UNITPERM)

//\*

//LG001 DD DSN=NSLDS&ENV..&JOBNME..PSTEP040.LOG,

// BLKSIZE=0,

// DISP=(NEW,CATLG,KEEP),

// LRECL=80,

// RECFM=FB,

// SPACE=(&SPACE01,(100,50),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.IOVFILE,

// DISP=(OLD,DELETE,KEEP)

//\*

//TIRMSGF DD SYSOUT=\*

//\*

//\*

// IF PSTEP040.RC NE 1000 THEN

//PSTEP041 EXEC CKRCODE

// ENDIF

//\*

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--IEBGENER\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* MAKE A BACKUP COPY OF THE PREVIOUS EXTRACT FILE

//\*

//PSTEP050 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..PREVBKUP.&LVLSET,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP050.RC NE 0 THEN

//PSTEP051 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--IEFBR14\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* DELETE THE CURRENT PREVIOUS EXTRACT FILE

//\*

//PSTEP060 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

// IF PSTEP060.RC NE 0 THEN

//PSTEP061 EXEC CKRCODE

// ENDIF

//\*

//\*\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--IEBGENER\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* MOVE THE CURRENT SORTED VALIDATED EXTRACT FILE TO

//\* THE PREVIOUS EXTRACT FILE FOR NEXT PERIOD PROCESSING

//\*

//PSTEP070 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP030.EXTSORT,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LVLSET,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP070.RC NE 0 THEN

//PSTEP071 EXEC CKRCODE

// ENDIF

//\*

## Step 5: JCL for Current File Backup

The following JCL is the software to perform current file backup. This
JCL copies the Validated Extract file, Submittal file, and Prior
Validated Extract file to files with 'BKUP01' appended to the name. This
JCL can be run after the Delta processing step or independently. This
step is optional. We do not require you use this JCL if you have a
preferred method to back up files.

This JCL may be referenced from the library created with JCLLIB as part
of the name. The library member name is PRD01004.

**DataPrep Current Backup JCL**

//PRD01004 JOB (P75333AA-5100AAAA,066),\'GA DELTA BKUP\',

// CLASS=N,MSGCLASS=A,REGION=4M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- PRB01004
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA DELTA PROCESSING

//\* CURRENT FILE BACKUP

//\*

//\* PSTEP010 - IEFBR14

//\* PSTEP020 - IEBGENER

//\* PSTEP030 - IEBGENER

//\* PSTEP040 - IEBGENER

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

// SET DB2=NSLP

// SET ENV=P

// SET LEVSET=LS990923

// SET SPACE01=CYL

// SET SRCNME00=PRBD1000

// SET SRCNME01=PRBD6000

// SET UNITPERM=SYSDA

// SET UNITTEMP=SYSDA

// SET VR=PROD

// SET SC=GA

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//\*

//JOBLIB DD DSN=DB2.&DB2..DSNLOAD,DISP=SHR

// DD DSN=DB2.&DB2..DSNEXIT,DISP=SHR

// DD DSN=DB2.BMCUTIL.&DB2..LOAD,DISP=SHR

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP020.VALEXT.BKUP01,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.SUBMITTL.BKUP01,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD3 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP040.PREVEXT.BKUP01,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP020 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP030.VALEXT,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP020.VALEXT.BKUP01,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP020.RC NE 0 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP030 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP040.SUBMITTL,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.SUBMITTL.BKUP01,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP030.RC NE 0 THEN

//PSTEP031 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP040 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LEVSET,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP040.PREVEXT.BKUP01,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP040.RC NE 0 THEN

//PSTEP041 EXEC CKRCODE

// ENDIF

## Step 6: JCL for Previous File Backup

The following JCL is the software to perform previous file backup. This
JCL copies the current backup copies of the Validated Extract file,
Submittal file, and Prior Validated Extract file to files with 'BKUP02'
appended to the name. This JCL can be run after the current backup job.
This step is optional. We do not require you use this JCL if you have a
preferred method to back up files.

This JCL may be referenced from the library created with JCLLIB as part
of the name. The library member name is PRD01003.

**DataPrep Previous Backup JCL**

//PRD01003 JOB (P75333AA-5100AAAA,066),\'GA DELTA BKUP\',

// CLASS=N,MSGCLASS=A,REGION=4M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- DRD01003
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA DELTA PROCESSING

//\* PREVIOUS FILE BACKUP

//\*

//\* PSTEP010 - IEFBR14

//\* PSTEP020 - IEBGENER

//\* PSTEP030 - IEBGENER

//\* PSTEP040 - IEBGENER

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

// SET DB2=NSLP

// SET ENV=P

// SET LEVSET=LS990923

// SET SPACE01=CYL

// SET SRCNME00=PRBD1000

// SET SRCNME01=PRBD6000

// SET UNITPERM=SYSDA

// SET UNITTEMP=SYSDA

// SET VR=PROD

// SET SC=GA

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//\*

//JOBLIB DD DSN=DB2.&DB2..DSNLOAD,DISP=SHR

// DD DSN=DB2.&DB2..DSNEXIT,DISP=SHR

// DD DSN=DB2.BMCUTIL.&DB2..LOAD,DISP=SHR

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP020.VALEXT.BKUP02,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.SUBMITTL.BKUP02,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD3 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP040.PREVEXT.BKUP02,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP020 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP020.VALEXT.BKUP01,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME00..PSTEP020.VALEXT.BKUP02,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP020.RC NE 0 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP030 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.SUBMITTL.BKUP01,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP030.SUBMITTL.BKUP02,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP030.RC NE 0 THEN

//PSTEP031 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP040 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&VR..&SC..PREVEXT.&LEVSET,

// DISP=SHR

//\*

//SYSUT2 DD DSN=NSLDS&ENV..&SRCNME01..PSTEP040.PREVEXT.BKUP02,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP040.RC NE 0 THEN

//PSTEP041 EXEC CKRCODE

// ENDIF

## Step 7: JCL for NSLDS DataPrep Reporting

The following JCL executes the software to perform error reporting. This
JCL will be used primarily to report any errors you receive from the
Load Process Error file that you will receive from NSLDS after each
submittal. It can also be used to report errors from the Extract
Validation process.

This JCL may be referenced from the library created with JCLLIB as part
of the name. The library member name is PRBD2000.

As with the Validation and Error Reporting JCL above, the option to sort
the summary error report three different ways (by Error Count, Field
Code, or Error Code) is available by changing the SET statement. See the
SET statements in the in-stream JCL documentation below. The Detail
Error Report is only sorted by SSN.

*Remember that the first step in the JCL will delete any datasets
previously created. If you want to save your previous error files, you
may want to copy them to another file name or run the backup JCL.*

The JCL includes a sample Load Process Error file containing 11
student/loan records. This should be reported in the Detail Error Report
and the Summary Error Report, which are outputs from this process.

**DataPrep Reporting JCL**

//PRBD2000 JOB (P75333AA-5100AAAA,066),\'GA ERROR RPT\',

// CLASS=A,MSGCLASS=A,REGION=6M,NOTIFY=L#B

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD221DB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//PRBD2000 JOB (P75333AA-5100AAAA,066),\'GA ERROR RPT\',

// CLASS=A,MSGCLASS=A,REGION=6M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD200PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA EXTRACT OR LOAD ERROR REPORTING

//\*

//\* PSTEP010 - IEFBR14 DELETE FILES FROM PREVIOUS RUN

//\* PSTEP020 - SORT SORT EXTRACT/LOAD FILE BY SSN

//\* PSTEP070 - TIRIOVFI SPECIAL FOR COOL:GEN

//\* PSTEP080 - RBD200PB DETAIL ERROR REPORT

//\* PSTEP090 - IEBGENER PRINT DETAIL ERROR REPORT

//\* PSTEP100 - UTD300PB SUMMARY ERROR REPORT COUNTER

//\* PSTEP110 - SORT SORT SUMMARY ERROR REPORT FILE

//\* PSTEP120 - UTD400PB SUMMARY ERROR REPORT PROGRAM

//\* PSTEP130 - IEBGENER PRINT SUMMARY ERROR REPORT

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* THIS IS SAMPLE JCL THAT WILL GO TO THE DATA PROVIDER\'S SITE.

//\* IT IS NOT TO BE RUN IN PRODUCTION AT NSLDS AND DOES NOT

//\* REFLECT NSLDS PROGRAMMING STANDARDS. THIS JCL IS SENT TO THE

//\* DATA PROVIDER AS A SUGGESTED SAMPLE AND ITS USE IS OPTIONAL.

//\*

// SET JOBNME=PRBD2000

// SET LVLSET=LS990923

// SET SPACE01=CYL

// SET SRCNME01=PRBD1000

// SET UNITPERM=SYSDA

// SET UNITTEMP=SYSDA

// SET VR=PROD

// SET ENV=P

// SET SC=GA

//\*

//\* ERROR COUNT ORDER

// SET SORTPARM=PUTD4001

//\*

//\* FIELD CODE ORDER

//\* SET SORTPARM=PUTD4002

//\*

//\* ERROR CODE ORDER

//\* SET SORTPARM=PUTD4003

//\*

//\*

//JOBLIB DD DISP=SHR,DSN=NSLDS&ENV..&VR..&SC..LOAD.&LVLSET

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD5 DD DSN=NSLDS&ENV..&JOBNME..PSTEP070.IOVFILE,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD6 DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORRPT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD7 DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORCNT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD8 DD DSN=NSLDS&ENV..&JOBNME..PSTEP110.ERRORCNT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD9 DD DSN=NSLDS&ENV..&JOBNME..PSTEP120.ERRORSUM,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//TD10 DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.EXTSORT,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- SORT
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP020 EXEC PGM=SORT

//\*

//\*

//SORTIN DD DSN=NSLDS&ENV..&VR..&SC..LOADERR.&LVLSET,

// DISP=SHR

//\*

//SORTOUT DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.EXTSORT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(1,1),RLSE),

// UNIT=(&UNITPERM)

//\*

//SORTWK01 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK02 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK03 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SYSIN DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PRBD4000),

// DISP=SHR

//\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//\*

//\*

// IF PSTEP020.RC NE 0 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF

//\*

//PSTEP070 EXEC PGM=TIRIOVFI

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP070.IOVFILE,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=4096,

// RECFM=FB,

// SPACE=(CYL,(1,1),RLSE),

// UNIT=&UNITTEMP

//\*

//TIRMSGF DD SYSOUT=\*

//\*

// IF PSTEP070.RC NE 110 THEN

//PSTEP071 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- RBD200PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP080 EXEC PGM=RBD200PB

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP020.EXTSORT,

// DISP=SHR

//\*

//TEFFILE DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PUTD3000),

// DISP=SHR

//\*

//GA006 DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORRPT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=133,

// RECFM=FBA,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=&UNITTEMP

//\*

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

//\*

//TIRERRF DD SYSOUT=\*

//\*

//TIRIOVF DD DSN=NSLDS&ENV..&JOBNME..PSTEP070.IOVFILE,

// DISP=(OLD,DELETE,KEEP)

//\*

//TIRMSGF DD SYSOUT=\*

//\*

//\*

// IF PSTEP080.RC NE 1000 THEN

//PSTEP081 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP090 EXEC PGM=IEBGENER

//\*

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP080.ERRORRPT,

// DISP=SHR

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP090.RC NE 0 THEN

//PSTEP091 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- UTD300PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP100 EXEC PGM=UTD300PB

//\*

//GA001 DD DSN=NSLDS&ENV..&VR..&SC..LOADERR.&LVLSET,

// DISP=SHR

//\*

//TEFFILE DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(PUTD3000),

// DISP=SHR

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORCNT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=117,

// RECFM=FB,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=&UNITTEMP

//\*

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

// IF PSTEP100.RC NE 0 THEN

//PSTEP100 EXEC CKRCODE

// ENDIF

//\*

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- SORT
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP110 EXEC PGM=SORT

//\*

//SORTIN DD DSN=NSLDS&ENV..&JOBNME..PSTEP100.ERRORCNT,

// DISP=SHR

//\*

//SORTOUT DD DSN=NSLDS&ENV..&JOBNME..PSTEP110.ERRORCNT,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=117,

// RECFM=FB,

// SPACE=(&SPACE01,(5,5),RLSE),

// UNIT=(&UNITPERM)

//\*

//SORTWK01 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK02 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SORTWK03 DD SPACE=(&SPACE01,(100,100)),

// UNIT=&UNITTEMP

//\*

//SYSIN DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(&SORTPARM),

// DISP=SHR

//\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//\*

//\*

// IF PSTEP110.RC NE 0 THEN

//PSTEP111 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- UTD400PB
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP120 EXEC PGM=UTD400PB

//\*

//GA001 DD DSN=NSLDS&ENV..&VR..&SC..CNTL.&LVLSET(&SORTPARM),

// DISP=SHR

//\*

//GA002 DD DSN=NSLDS&ENV..&JOBNME..PSTEP110.ERRORCNT,

// DISP=SHR

//\*

//GA003 DD DSN=NSLDS&ENV..&JOBNME..PSTEP120.ERRORSUM,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=133,

// RECFM=FBA,

// SPACE=(&SPACE01,(10,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//SYSABOUT DD SYSOUT=\*

//SYSDBOUT DD SYSOUT=\*

//SYSOUT DD SYSOUT=\*

//SYSPRINT DD SYSOUT=\*

//SYSUDUMP DD SYSOUT=\*

//\*

// IF PSTEP120.RC NE 0 THEN

//PSTEP121 EXEC CKRCODE

// ENDIF

//\*

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP130 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=NSLDS&ENV..&JOBNME..PSTEP120.ERRORSUM,

// DISP=SHR

//\*

//SYSUT2 DD SYSOUT=\*

//\*

//\*

// IF PSTEP120.RC NE 0 THEN

//PSTEP121 EXEC CKRCODE

// ENDIF

//\*

## Step 8: JCL for Renaming the Submittal File

The following JCL will be used to rename the final Submittal file for
transmission to NSLDS. The Data Provider Instructions specify naming
standards for final Submittal file by tape. Modify the set statements as
directed in the JCL.

//PRBD1001 JOB (P75333AA-5100AAAA,066),\'RB01 RNME SUB FILE\',

// CLASS=N,MSGCLASS=A,REGION=4M

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- PRBD1001
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* JOB DESCRIPTION

//\*

//\* REPOSITORY BUILD - GA RENAME SUBMITTAL FILE

//\*

//\* PSTEP010 - IEFBR14

//\* PSTEP020 - IEBGENER

//\*

//\*
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

// SET DB2=NSLP

// SET HLQDSN=NSLDSP

// SET HLQTGT=NSLINPTP

// SET LEVSET=LS990923

// SET SPACE01=CYL

// SET SRCNME01=PRBD6000

// SET UNITPERM=SYSDA

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- NOTE
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\* REPLACE XXX WITH GA CODE

//\* REPLACE 9999 WITH SUBMITTAL MONTH (MM) AND DAY (DD)

//\*

// SET GACODE=XXX

// SET DATEMMDD=9999

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- NOTE
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEFBR14
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//\*

//JOBLIB DD DSN=DB2.&DB2..DSNLOAD,DISP=SHR

// DD DSN=DB2.&DB2..DSNEXIT,DISP=SHR

// DD DSN=DB2.BMCUTIL.&DB2..LOAD,DISP=SHR

//\*

//PSTEP010 EXEC PGM=IEFBR14

//\*

//TD1 DD DSN=&HLQTGT..GA&GACODE..D&DATEMMDD,

// DISP=(MOD,DELETE,DELETE),

// SPACE=(TRK,(1,1)),

// UNIT=(&UNITPERM)

//\*

//\*

// IF PSTEP010.RC NE 0 THEN

//PSTEP011 EXEC CKRCODE

// ENDIF

//\*

//\* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- IEBGENER
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--

//\*

//PSTEP020 EXEC PGM=IEBGENER

//\*

//SYSIN DD DUMMY

//\*

//SYSPRINT DD SYSOUT=\*

//\*

//SYSUT1 DD DSN=&HLQDSN..&SRCNME01..PSTEP040.SUBMITTL,

// DISP=SHR

//\*

//SYSUT2 DD DSN=&HLQTGT..GA&GACODE..D&DATEMMDD,

// BLKSIZE=0,

// DISP=(NEW,CATLG,DELETE),

// LRECL=640,

// RECFM=FB,

// SPACE=(&SPACE01,(100,10),RLSE),

// UNIT=(&UNITPERM)

//\*

//\*

// IF PSTEP020.RC NE 0 THEN

//PSTEP021 EXEC CKRCODE

// ENDIF