IBM Support

How do I change parameters to a translator in SCLM?

Question & Answer


Question

What is the procedure to change the parameters to compilers, preprocessors, or other translators defined in SCLM?

Answer

There are several ways to change a parameter to a translator.

  • Update the options in the language definition. This would change the parameters for everyone that uses that translator. Find the FLMTRNSL statement in the language definition, and update the OPTIONS= keyword.

    •       --COBOL 5  INTERFACE--                                        
       *                                                                       
                 FLMTRNSL   CALLNAM='COBOL 5  COMPILER',                      C
                      FUNCTN=BUILD,                                           C
                      COMPILE=IGYCRCTL,                                       C
                      GOODRC=4,                                               C
                      PORDER=3,                                               C
                      VERSION=5.2,                                            C
                      DSNAME=COBOL.V5R2M0.SIGYCOMP,                           C
                      OPTIONS=(XREF(FULL),APOST,NODYNAM,LIST,NONUMBER,NOSEQ,REC
                      GION=200M)                                               
      
      
  • Add parameters to an archdef. You can use the PARM keyword to add parameters to all the build translators in a language. For example, if you have a language that does a compile and a link edit, you could have a PARM statement like this:


    INCLD COB91994 SOURCE
    PARM RMODE(24),AMODE(31)
    LOAD COB91994 LOAD
    LMAP COB91994 LMAP


Since the RMODE and AMODE parameters can be used by both the compiler and the binder, PARM is a good choice.

  • Add specific parameters to a translator using PARMx keywords. If you have parameters that you want to use for only one of the translators, you can add a PARMx keyword to the FLMTRNSL statement in the language definition, like this:

         FLMTRNSL   CALLNAM='C/C++ COMPILE',                          C
              FUNCTN=BUILD,                                           C
              COMPILE=CCNDRVR,                                        C
              GOODRC=4,                                               C
              PORDER=3,                                               C
              PARMKWD=PARM1,                                          C
              OPTIONS=(SOURCE,LIST,MARGINS(1,80),NOSEQ,LO,RENT,       C
              LOC(EN_US.IBM-037))                                
    

Then the archdef for the build would need a matching PARM1, like this:

 SINC   PMR80359 C         * INPUT TO THE COMPILER 
 OBJ    PMR80359 OBJ       * OBJECT                
 OUT1   PMR80359 DBRMLIB   * SQL OUTPUT            
 PARM1  CRUN='MSGF(CEEOUT),RPTO(ON)'               

Using the PARMx keywords allows flexibility for the developers to change the compile parameters in the archdefs as needed.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCVRUA","label":"SCLM for z\/OS"},"Platform":[{"code":"PF035","label":"z\/OS"}],"Component":"","Version":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
28 June 2017

UID

dwa1383767