Migrating CA Spool C Transformers to Java Transformers


Article ID: 124985


Updated On:


CA Spool


CA Spool V14.0 no longer supports the legacy AFP Transformers that were introduced in 1998.  The CA Spool Java Transformers were added to CA Spool in 2011 and provide support for five different input streams and nine output streams.  CA Spool customers who are still using the AFP Transformers will be required to migrate to the use of the Java Transformers in V14.0. 


Component: CSPOOL


The C version of the AFP Transformers were withdrawn in CA Spool release 14.0. This fact is documented in the CA Spool 14.0 Release Notes:

You must install and configure the Java Transformers. Documentation for installation is in the link below:

You can find documentation about the Java Transformers customization in the link below:

With the Java Transformers there is a separate started task that performs the conversions.
The connection between CA Spool and the Java Transformer started task is defined in the CA Spool parameters (ESFPARM).
When you use the Java Transformers there is an additional statement, X2YYDEF, in the ESFPARM:
X2YYDEF x2yyname,      Transformation FSS name      
        PROC=CAIQD2E,  FSS JCL procedure name       
        MAXTASK=10,    Max concurrent transformations
        DEFAULT=YES    Implicit X2YYDEF             
The name x2yyname can be anything. See that the PROC keyword points to the Java Transformer JCL procedure CAIQD2E (can be any name).
In the NODE statement you point to the FSS name in the keyword X2YY:
NODE    SAMPX2YY,      Sample transform printer      
        defnodename,   DEFNODE name                  
        GROUP=1,       Network group                 
        TRANSFRM=x2yy, Transfomation type and options
        X2YY=x2yyname  Transformation FSS name       
This example above can be found in the member CAIQPARM of the CA Spool 14.0 library CBQ4PARM.
When a file is queued for transformation,  CA Spool determines if the specified Java FSS task is started.  If not, CA Spool starts the task.  It remains active unless the Transformer interface is halted or manually stopped.  Do not start the CAIQD2E task manually, CA Spool must start it.
You can halt the transformer task with the /HT command on the CA Spool menu or
F caspoolstc,HT from a z/OS console. You need to restart the interface using the /ST command on the CA Spool menu or F caspoolstc,ST from a z/OS console to activate the Transformers interface again. The Java task won't be started automatically after the ST command. It will be started when a file is queued for transformation.
You can stop the transformer task with the command /PFSS,x2yyname on the CA Spool menu or
F caspoolstc,PFSS,x2yyname from a z/OS console..  The Java task will be started again when the next file is queued for transformation.
- Most of the parameters used by Java FSS task are in USS files
- The parameters used in the transformations corresponding to the ones in the DDs A2PCPARM and A2PDPARM are in project files in an USS folder named /apps. For example, A2PC.d2eproj, A2PD.d2eproj. You can create any number of project files to accommodate requirements of different reports.
See how the project files are selected for each file in the link below:

- The specific location of the /apps directory is defined in the STDENV DD of the Java Transformers started task
//STDENV   DD  DISP=SHR,DSN=&PARMLIB(&MEMBER)  * Environment Parms
Inside this member you have:
There are multiple environment variables like the APP example above that need to be defined in file allocated by the STDENV DD statement.  Configuration information for these variable can be founf in the link below:

- The AFP resource libraries (fonts, pagedefs, formdefs, etc) are defined in parameters inside project files. They don't need to be allocated by the CA Spool started task anymore.
For example:
            <filedeflist name="FdFormDefs">
                <filedef directives="{afp}" location="DSN:SYS1.FDEFLIB({0})"  cache="job"/>
                <filedef directives="{afp}" location="DSN:user.FDEFLIB({0})"  cache="job"/>
More information about the parameters used in the project files can be found in the link below:

The SAS/C runtime library used by the C Transformers is no longer required by CA Spool V14.0.
Transformer parameter files: 
Some parameters used with the C Transformers have no correspondence in the Java Transformers. We recommend that the default settings are used with the Java Transformers and if the output is not correct you should open a support case to report the problem.
Some common parameters that have correspondence are:
C Transformers: FeedPCL
JavaTransformers: defineFeed
FeedPCL    = (1,1)              
 FeedPCL    = (2,2)               
 FeedPCL    = (3,4)         
<defineFeed inputTray="1"          
<defineFeed inputTray="2"          
<defineFeed inputTray="3"          
Reference to this parameter in the documentation:

C Transformers:  Offset and LogPGBounds.
Java Transformers: marginTuning tuningOption
Offset     = (-20,0)
LogPGBounds= Yes
<marginTuning tuningOption="Manual"
    <shiftBy hShift="-20"
Reference in the documentation:




Additional Information

There are some trainings regarding the migration from C to Java Transformers. Reference to these trainings can be found in the link below: