z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Capabilities and restrictions

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

There are two basic equivalencies that you will use to convert JCL cards to SCLM macro statements:
  • Every JCL EXEC card with PGM=abc will correspond to an FLMTRNSL macro with COMPILE=abc in your language definition. Conditional execution of BUILD translators may be addressed through use of the FLMTCOND macro.
  • Every JCL DD card will correspond to an FLMALLOC macro or an FLMSYSLB macro associated with an FLMALLOC macro in your language definition.

    In the case of STEPLIB, the JCL DD card will correspond to the DSNAME parameter in the FLMTRNSL macro. A STEPLIB concatenation of more than one data set would use the TASKLIB parameter. The TASKLIB parameter is set to the ddname associated with the data set concatenation. FLMCPYLBs are used to specify the data sets on an FLMALLOC macro with DDNAME set to the TASKLIB ddname. When both DSNAME and TASKLIB are specified, the DSNAME data set is searched first, followed by the TASKLIB data sets, followed by the system concatenation.

    In the case of SYSLIB-type ddnames for a compiler, the data sets must be specified FLMSYSLBs. Then either ALCSYSLB=Y must be specified on the FLMLANGL macro and/or FLMCPYLBs must be specified for the appropriate FLMALLOC macros. For an example of this, refer to the COBOL (FLM@COB2) or C/370™ (FLM@C370) language definitions supplied with SCLM.

Three areas of restrictions can prevent a simple, one-to-one translation of JCL cards to SCLM macro statements:
  • Backward referencing of data definition names (DDs)

    If a JCL DD card uses the "refer back" technique to reference a previous DD card (other than the card in the preceding step), or if a DD card refers to a data set using a ddname that differs from the data set's ddname in a prior step, conversion to an SCLM language definition can involve the use of an intermediate translator or a ddname substitution list in order to allocate the correct data set name for the program. (An intermediate translator is not needed if the succeeding translator supports DDNAME substitution lists; in this case, the succeeding translator can "hard code" the DDNAME and use IOTYPE=U on the FLMALLOC macro.)

  • Complex conditional execution

    A JCL deck that specifies skipping all steps after a specified condition code from one or more previous steps is directly converted to appropriate FLMTRNSL macros with appropriate GOODRC values. Other conditional executions of BUILD translators can be addressed by using the FLMTCOND macro. For example, if the JCL is set up to run BUILD translator X if any previous return code is 4, but run Build translator Y if any previous return code is 8, you can use the FLMTCOND macro. FLMTCOND is only valid for use with BUILD translators. Conditional execution of non-BUILD translators can require modification of the translators or interface programs to handle the control of execution.

  • TSO Address Space compatibility

    Some programs that run from JCL will not run in the TSO Address Space in which SCLM resides without a special interface translator. IBM® has provided interface programs for several common IBM programs with this characteristic. For example, the FLMTMSI (SCRIPT), FLMTMJI (JOVIAL), and FLMTMMI (DFSUNUB0) translators all use the TSO Service Facility IKJEFTSR.

    If you have JCL that runs program XYZ without any errors, but fails when you try to run program XYZ from an FLMTRNSL macro, this may be the problem. You must write a translator to call the program using IKJEFTSR.

The following sections describe how to convert JCL cards and decks into functionally equivalent SCLM language definitions and provide suggested strategies for working around restrictions and conflicts.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014