The FORMS parameter specifies the name of the form on which the system should print the SYSOUT dataset. This parameter is essential for jobs that require special forms such as pre-printed invoices, multi-part forms, special letterhead, or colored paper.
When a job specifies a non-standard form, its output is typically held in the JES output queue until an operator releases it to an appropriate printer that has been set up with the correct forms.
1//outname OUTPUT FORMS=form-name
1//ddname DD SYSOUT=class,FORMS=form-name
Parameter | Description |
---|---|
form-name | Specifies the name of the form to use.
|
Specifying FORMS directly on a DD statement:
1234567//PAYROLL JOB (ACCT),'JOHN DOE',CLASS=A //STEP1 EXEC PGM=PAYROLL //PAYCHK DD SYSOUT=A,FORMS=CHCK //REPORT DD SYSOUT=A //SYSIN DD * ... input data ... /*
In this example, the PAYCHK output will print on the special form "CHCK" (check form), while the REPORT output will print on the default form.
Using an OUTPUT statement to define form requirements:
123456//INVOICE JOB (ACCT),'JOHN DOE',CLASS=A //INVOUT OUTPUT FORMS=INVCE,COPIES=2,DEST=RM256 //STDOUT OUTPUT FORMS=STD //STEP1 EXEC PGM=BILLING //INVPRT DD SYSOUT=A,OUTPUT=*.INVOUT //RPTPRT DD SYSOUT=A,OUTPUT=*.STDOUT
Here, the invoice output (INVPRT) will print on the special form "INVCE" with 2 copies delivered to room 256, while the report output (RPTPRT) will print on the standard form.
Creating multiple outputs with different form requirements:
123456789//REPORTS JOB (ACCT),'JOHN DOE',CLASS=A //STEP1 EXEC PGM=RPTGEN //SUMMOUT OUTPUT FORMS=GREEN,DEST=LOCAL //DETLOUT OUTPUT FORMS=STD,DEST=LOCAL //SUMMARY DD SYSOUT=A,OUTPUT=*.SUMMOUT //DETAIL DD SYSOUT=A,OUTPUT=*.DETLOUT //SYSIN DD * ... input data ... /*
This job produces a summary report on green paper and a detailed report on standard paper, both sent to the local printer.
Form Type | Common Name | Typical Use |
---|---|---|
Standard Paper | STD | General reports, listings |
Check Forms | CHCK or CKFM | Payroll checks, accounts payable |
Invoice Forms | INVCE or INVF | Customer invoices, billing |
Colored Paper | GREEN, BLUE, PINK | Highlighting important reports |
Wide Format | WIDE | Reports requiring 132+ columns |
Parameter | Relation to FORMS |
---|---|
SYSOUT | Required on DD statements when specifying FORMS directly. Defines the output class. |
DEST | Often used with FORMS to route output to specific printers that have the required forms loaded. |
COPIES | Specifies the number of copies to print. Important for pre-printed forms inventory management. |
FCB | Forms Control Buffer - controls vertical spacing, often used with special forms to ensure proper alignment. |
OUTDISP | Defines the initial and final disposition of the output. Special forms often use OUTDISP=HOLD. |
Write JCL to create a job with two output datasets: one for a payroll check that should print on form "CHCK" and another for a standard report that should print on the default form.
Create JCL that uses OUTPUT statements to define three different form requirements (STD, BLUE, and INVCE) and references these OUTPUT statements from various DD statements.
Write JCL that combines FORMS with COPIES, DEST, and FCB parameters to create a complete output specification for an invoice printing job that requires special handling.
1. What does the FORMS parameter specify in JCL?
2. Where can the FORMS parameter be specified?
3. What is the maximum length of a form name in JES2?
4. Which of the following is a valid syntax for specifying forms?
5. What happens when a job with a special form requirement is ready to print?