Mass Processing in ISPF Tools

The Workflow Manager is able to pass the properties of multiple selected elements to the ISPF tool.

Provided that an ISPFCOMMAND tool descriptor is used within a mass processing action descriptor, you can define mass parameters which are sent to the ISPF tool for each selected element. Mass input parameters must have the attribute Mass Processing set to true in order to be passed properly to the tool.

Below is an example of how to model the mass delete of z/OS data set members.

Model:


AWMTEST MassDeletion
Note: The input parameters have the attribute "Mass Processing" set to true. The Resource Operation Values are used for tool-defined resource operations. This tool returns a REMOVE-ELEMENT: resource operation for every deleted member.

The mass input parameters are passed as the standard input parameters by the sequential parameter file from the AWM client, named <userid>.TAURUS.PARMFILE by default.

If the ISPF interface delivered with the product is used, the PARMFILE is read by this interface and the mass input parameters for each selected element are passed to the invoked tool by the ISPF table TAUTOTIP. This table is not sorted and contains no key columns.

The table contains the two columns TAUTOIPN and TAUTOIPC. TAUTOIPN contains an ID for each table entry in the format INPARMnnnn (nnnn is a four-digit sequential number). TAUTOIPC contains the values of the modeled parameter for the corresponding selected element. The parameter values are passed as one string separated by an input parameter separator specified in the model for each selected element. It is the mass tool’s task to parse the parameter values in the correct way according to the sequence and separator defined in the model.

It is possible to pass both string or file input parameters and MassProcessing parameters to an ISPF tool in one call. The string or file input parameters are passed to the ISPF tool as tool arguments, as described in Input parameters. The MassProcessing parameters are passed to the ISPF tool via the ISPF table TAUTOTIP.

The REXX code snippet below shows how the mass delete tool gets and parses the element parameters from the ISPF table TAUTOTIP.

REXX Example:

/* mass delete of PO members */
ADDRESS ISPEXEC 
"TBTOP TAUTOTIP” 
If rc = 0 Then Do Forever 
   “TBSKIP TAUTOTIP” 
   If rc <> 0 Then 
      Leave  
   delentry = tautoipc 
   Parse Var delentry deldsn","delmem 
   del_rc = DELETE_MEMBER(deldsn delmem) 
   If del_rc = 0 Then Do 
      /* add a message to the ISPF message table */ 
      tautoser = 'I'  
      tautomsg = deldsn"("delmem") deleted." 
      /* maintain TAUTOTBI for resource processing */  
      tautoprm = deldsn","delmem 
      tautofnc = 'REMOVE-ELEMENT' 
      “TBADD TAUTOTBI" 
      End 
   Else Do 
      /* add an error message to the ISPF message table */ 
      tautoser = 'E' 
      tautomsg = "Deletion of "deldsn"("delmem") failed." 
      End 
   “TBADD TAUTOTBM" 
   End

An ISPFCOMMAND tool which is configured within a mass processing action descriptor can also return mass output parameters. These are treated as mass input parameters of a subsequent tool. The output parameters of the ISPFCOMMND tool must be configured, in this case, as type MassProcessing. If the ISPF interface delivered with the product is used, the mass output parameters can be passed by the ISPF table TAUTOTOP. This table is not sorted and contains no key columns. The table is open when the tool is called and should not be closed by the tool. The only name column of the table is TAUTOOPC. In this column the parameter values must be passed as configured in the AWM model as tool output parameters of type MassProcessing separated by the separator modeled under "Out Parm Separator" of the tool descriptor.

The MassProcessing output parameters can be used by a subsequent tool, as MassProcessing input parameters. The input parameters must be defined as "Parameter From" of type Previous_Tool.