//*PROCESS Statement - IBM-JCL

Use the //*PROCESS statement to control how JES3 processes a job. A job that contains //*PROCESS statements receives only the JES3 processing specified on the //*PROCESS statements plus certain required processing.

Specifically, the //*PROCESS statement calls a dynamic support program (DSP) in the DSP dictionary. JES3 must be able to process the called DSP.

Standard Job Processing

JES3 uses a series of processing functions to process a job. Standard processing consists of only the standard scheduler functions:

  • Converter/interpreter service
  • Main service
  • Output service
  • Purge service

Nonstandard Job Processing

A nonstandard job uses one or more special processing functions in place of or in addition to standard processing or skips one or more of the standard functions. Specify a nonstandard job by following the JOB statement with a JES3 //*PROCESS statement for each processing function.

Use of Nonstandard Job Processing

Nonstandard job processing is useful in testing. For example, a //*PROCESS statement can make JES3 bypass program execution so that the job’s JCL can be checked. Another //*PROCESS statement can make JES3 bypass output processing; then the operator can check by inquiry command whether the job reached execution.

If the job generates spin data sets during main execution, the next scheduler element will not be processed until the spin data sets have been processed. To avoid long waits or system hangs, make sure that the OUTSERV scheduler element is the next scheduler element after main processing.


//*PROCESS dsp [parameter[,parameter]...]

The //*PROCESS statement consists of the characters //* in columns 1 through 3, PROCESS in columns 4 through 10, a blank in column 11, and the DSP name beginning in column 12. The rest of the columns must be blank.

If the requested DSP requires parameters, code them on the following statement. The parameter statement consists of parameters in columns 1 through 72, separated by commas. Columns 73 through 80 must be blank. Only one parameter statement after a //*PROCESS statement is allowed, any others are ignored by JES3.

2.Parameter Definition


Identifies the DSP that JES3 is to use in processing the job. Table lists the valid DSP names and whether parameters can follow.

Table: DSPs for JES3 //*PROCESS Statements

3.Location in the JCL

  • Place all //*PROCESS statements for a job immediately after the JOB statement and before the first EXEC statement. If the job includes a //*NET statement, the //*NET statement must appear between the JOB statement and the first //*PROCESS statement.
  • The //*PROCESS statements can be separated only by their parameter statements.
  • JES3 processes the //*PROCESS statements in the order in which they appear in the input stream.
  • The first //*PROCESS statement must request an interpreter DSP if you want input service error messages, which indicate that a job is to be scheduled for interpreter processing before being purged.

4.Examples of the //*PROCESS Statement


This example shows how to submit a simple job via //*PROCESS statements. It is processed like a standard job. The four standard scheduler functions are used for the job: CI, MAIN, OUTSERV, and PURGE. Note that PURGE is not specified; JES3 automatically creates this DSP.


This example shows how to request a user-written DSP: PLOT. PLOT is to be executed after output service has completed. Note that PURGE is again not specified but is automatically created.


This example uses JES3 output service and the //*DATASET statement. Five copies of data set DS1 are printed on any local printer.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM-JCL Topics