receive_jcl_jobtype.cfg

The sample receive_jcl_jobtype.cfg file sets the workflow and job properties for jobs received from Download for z/OS and AFP Download Plus.

RICOH ProcessDirector can use this control file to interpret a JCL file that accompanies a PRD dataset that RICOH ProcessDirector receives from a Download input device. For example, the JCL file might contain this information:

"-odatat=af -oburst=no -occ=yes -occtype=m -ocop=1 -odatac=unblock 
-ofileformat=stream -of=F1HPSTP1 -ojobn=HPUNCH05 -ono=BLDPDEV9 
-opr=HPUNCH -ous=WAITE 
-opa=class=B,dest=LOCAL,forms=STD,jobid=JOB00105"

To use a control file, set the value of the Child workflow initialization step property for the input device to SetJobTypeFromRules or SetJobTypeFromFileName, and then set the value of the Child workflow parsing rules property to the path and file name of the control file. The SetJobTypeFromRules step uses the control file to set the workflow for the job, convert an optional overrides file submitted with a job to a file in RICOH ProcessDirectorproperty name=value format for setting job properties, or both; the SetJobTypeFromFileName step uses the control file for setting job properties. All the information in the control file is case-sensitive.

Note: You cannot use a control file to set job properties that are read-only in the Job Properties notebook.

The control file contains these sections:

CONFIGURATION section
This is a global settings section consisting of keywords that define how RICOH ProcessDirector interprets the JCL file.
FILE_MODE
This keyword controls how RICOH ProcessDirector processes the JCL file. A value of "FILE" instructs RICOH ProcessDirector to treat all the information in the file as a single record. In this mode, RICOH ProcessDirector can do search and replace actions. Always use the "FILE" value for control files that process JCL files. The double quotation marks in the value are required.
ATTRIBUTE_PATTERN
This keyword specifies a regular expression that defines how RICOH ProcessDirector recognizes the names of properties. As supplied by RICOH ProcessDirector, the value is "\$\{Job.*\}". The double quotation marks delimit the expression and the backslash characters are escape characters that precede the special characters in the expression.

The "\$\{Job.*\}" value instructs RICOH ProcessDirector to recognize property names as strings that begin with Job. and that are followed by zero or more characters. RICOH ProcessDirector job property names match this convention, such as Job.Duplex and Job.Print.CumulativeSheetsStacked.

KEYWORD_CASE
This keyword defines the case of the characters in the JCL file parameter names. Depending on settings on the sending system, parameters might be passed as all uppercase or all lowercase characters. Use a value of "UPPER" or "LOWER" based on the requirements of the installation.
NORMALIZER_PROGRAM
This keyword specifies the name of a program that modifies the JCL file so all the properties it defines are in the form "keyword=value". RICOH ProcessDirector supplies the normalize_jcl.pl program to modify the various styles of JCL parameters into the "keyword=value" form.

For example, consider this JCL string:

"-odatat=af -oburst=no -opa=class=B,dest=LOCAL,forms=STD,jobid=JOB00105"
When RICOH ProcessDirector uses the normalize_jcl.pl program specified in the control file, it replaces the JCL string with this value:
datat=af,burst=no,class=B,dest=LOCAL,forms=STD,jobid=JOB00105,

Delimit the beginning and ending of the CONFIGURATION section with CONFIGURATION and ENDCONFIGURATION.

REPLACE section
This section uses sed commands to replace strings in the JCL file. It is commented out in the sample file because the program defined by the NORMALIZER_PROGRAM keyword converts the JCL file.

For example, this statement replaces all occurrences of -opa= (note the initial space) with commas:

#s! -opa=!,!

Delimit the beginning and ending of the REPLACE section with REPLACE and ENDREPLACE.

PATTERN KEY_VALUE section
This section describes how RICOH ProcessDirector finds keywords and values, and converts them into tokens by using regular expression groups. As supplied by RICOH ProcessDirector, the section looks like this:
PATTERN KEY_VALUE
"(.*?)=(.*?),"
ENDPATTERN
The pattern is delimited by double quotation marks and the pattern to the left of the equals sign represents the keyword. The pattern to the right represents the value. This pattern creates a comma-delimited list of keyword and value pairs.
DEFINE statements section
This section uses symbol formulas to set the RICOH ProcessDirector workflow and job properties from the values for parameters that are passed in the JCL file with the job. Some examples of the types of DEFINE statements that the section can contain are:
DEFINE ${Job.JobType} AS "BILLS" WHEN (${DEST} == "LOCAL")
DEFINE ${Job.Class} AS "${CLASS}"
DEFINE ${Job.InputDatastream} AS "AFP" WHEN (${DATAT} == "af")
DEFINE ${Job.Destination} AS "${DEST}"
DEFINE ${Job.RequestedPrinter} AS "${DEST}"
DEFINE ${Job.Customer} AS "XYZ" WHEN (${CLASS} == "Z") FINALLY QUIT

The first DEFINE statement is a conditional statement. In the example, RICOH ProcessDirector sets the value of the Job.JobType property to BILLS when the value of the DEST parameter from the JCL file is LOCAL. If the DEST parameter has any other value, RICOH ProcessDirector does not set the workflow from the control file. It sets it using another method, such as by using the workflow that is assigned to the Download input device.

The second DEFINE statement is a non-conditional statement. In the example, RICOH ProcessDirector sets the value of the Job.Class job property to the value of the CLASS parameter that is passed with the job. Therefore, if the original JCL string that RICOH ProcessDirector receives contains -opa=class=B, RICOH ProcessDirector sets the value of the Job.Class property to B.

The third DEFINE statement is a conditional statement. In the example, RICOH ProcessDirector sets the value of the Job.InputDataStream job property to AFP when the value of the DATAT parameter from the JCL is af. If the DATAT parameter has any other value, RICOH ProcessDirector does not set the value of the Job.InputDataStream property.

The fourth and fifth DEFINE statements are non-conditional statements that set the values of two different job properties to the value of the same parameter.

The last DEFINE statement is a conditional statement that can cause RICOH ProcessDirector to stop reading any more DEFINE statements in the control file. If the condition that the statement defines is true, RICOH ProcessDirector stops reading the control file. If the condition is false, RICOH ProcessDirector continues to evaluate any other DEFINE statements that follow the FINALLY QUIT statement.