How can I pass a UA value to DYLPARM in my VISION:Results DLI program?

Document ID : KB000031070
Last Modified Date : 14/02/2018
Show Technical Document Details

Passing parameters to programs is easy with the UA parameter on the EXEC statement unless it is an IMS program. 
A DLI job has strict control of the execution parameter list, so what to do?

Solution:

DYLPARM holds variable data provided by either the PARM parameter in the EXEC statement (z/OS only)
or the DATA phrase in the VISION:Results OPTION statement.

Example:

 JCL

     //S001 EXEC PGM=DYL280,PARM='UA=011596,01,02'
 
in program
     WORKAREA
       PARHOLD 12
     ON ONE
       MOVE DYLPARM TO PARHOLD
     ENDONE

 

UA cannot be used in DLI jobs since the parameters on the EXEC statement are passed directly to IMS and VISION:Results has no access to them.

To accomplish the same thing you can use OPTION DATA.
(See pages 51 and 74/75 of the Reference Guide for details)

This is normally part of the VISION:Results program which is the SYSIN DD.

You may modify the data outside of the program using a concatenated dataset such as:

//SYSIN DD DISP=SHR,DSN=PARMDATA  
//          DD DISP=SHR,DSN=your.results program

 where PARMDATA just has the OPTION DATA statement

or instream as

//SYSIN DD *
OPTION DATA '011596,01,02'
/*
// DD DISP=SHR,DSN=your.results.program