|© 1998-2017 GSF Software LLC|
CCSS is a sub-system for MVS/ESA, OS/390 and z/OS. When CCSS is installed, users can specify in-line control cards in their JCL procedures and INCLUDE members. Furthermore, the control cards may contain symbolic parameters, like those that can be specified on DD statements. Here is a sample procedure which contains in-line control cards, as well as symbolic parameters:
//DEFMAST2 PROC TDSN='PROD.MASTER',TVOL=PROD22,RCD=999999999999 //* //STEP010 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD SUBSYS=(CCSS, // ' DEFINE CLUSTER(NAME(&TDSN) VOL(&TVOL) -', // ' RECSZ(500,500) KEYS(12,0) TRACKS(5000)) ', // ' REPRO IFILE(SYSIN) ODS(&TDSN) ', // '&RCD ')
A CCSS DD statement must contain the SUBSYS operand. It may also contain other operands, such as RECFM, LRECL or DSNAME. The SUBSYS operand must contain a list of sub-parameters enclosed within parentheses and separated with commas. The first parameter is the sub-system name (by default, CCSS). Each subparameter beyond the first one must be a character string that correspond to a control card. Control cards which contain special characters must be enclosed in apostrophes. When control cards contain apostrophe or ampersand characters, these characters must be doubled according to standard JCL coding rules.
The maximum length of a control card that can fit on a single JCL statement is 67 characters. When the control card contains special characters, the text must be enclosed in apostrophes and the maximum length is 65 characters. When the control card contains apostrophe or ampersand characters (which must be doubled) or symbolic parameters, the actual number of characters that fit on a single JCL statement is further reduced. Two different methods can be used to specify long control cards which do not fit in a single JCL statement:
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 // SET A='this long control card requires two JCL statements; ' // SET B='the maximum length after substitution is 127 characters' //SYSUT2 DD SUBSYS=(CCSS,'&A&B', // '<----- this 65-char control card fits in one JCL statement ----->')
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 //SYSIN DD SUBSYS=(CCSS,'this control card is so long that it ','+', // 'requires four different JCL statements; note that CCSS puts ','+', // 'no limit to the size of individual control cards which can ','+', // 'be as long as the application needs', // ' ', <- blank line // ' FIN') <- last control card
When a control card consists of a single plus sign in pos 1, it must be specified as a 2-char string (a plus sign and a space enclosed in apostrophes) to prevent confusion with the CCSS continuation indicator.
CCSS does not allow null strings; consequently, a blank control card must be specified as a 1-char string (a space enclosed in apostrophes).
CCSS pads the control cards with spaces to match the record length (LRECL) expected by the application. If the specified control card is longer than the LRECL, extraneous characters are automatically truncated and no message is issued.
The syntax on a single DD statement is limited to 8KB and 254 records. Specifying concatenated DD statements can be used to extend the limitation, as shown in this example.
CCSS consists of a single module (CCSSINIT) which contains both the initialisation code and the functional routines. CCSSINIT must be copied to an APF-authorised library before it can be successfully executed. CCSSINIT may be loaded into LPA at installation time, but this is not a requirement. Activation of the CCSS sub-system can occur in several ways:
Note: Although the name of the sub-system itself may be any valid name, the name of the CCSSINIT module can not be changed.
For more information about CCSS, please contact us.
| If your installation does not wish to install CCSS,
we also offer inexpensive utility programs that allow programmers to
specify symbolic parameters in in-line control cards, as shown in the
//DEFMAST2 SET TDSN='PROD.MASTER',TVOL=PROD22 //* //* Execute IDCAMS with variables in SYSIN control-cards //* //STEP010 EXEC PGM=TSIDCAMS,PARM='TDSN=&TDSN,TVOL=&TVOL' //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER(NAME(&TDSN) VOL(&TVOL) - RECSZ(500,500) KEYS(12,0) TRACKS(5000)) REPRO IFILE(SYSIN) ODS(&TDSN) 999999999999 /*
For more information, please contact us
Search key-words: SSI os390 zOS substitute symbol use using usage present presence symbolic variable symbols substitution substituting replacing replacement defining definition data file member IPL NIP SYSIN OVERRIDE ERROR SubSystem runtime run-time pass value values cards parms mainframe mainframes