DRA --> User's guide

Starting DRA

DRA is a Profile tool and is started by means of LE runtime option PROFILE. The messages produced by DRA are written to the LE message file. This file is defined by LE runtime option MSGFILE.

Runtime option PROFILE:
By default, the PROFILE option is "OFF" and therefore LE does not load the Profile tool. However, when this option is explicitely turned "ON" then LE searches for a load module named CEEEVPRF. This is the reserved name of the load module of the Profile tool (DRA).
If CEEEVPRF is not installed in a library that is in the LNKLSTnn concatenate then you need to make it accessible by supplying the name of the library on a JOBLIB or STEPLIB DD statement, otherwise the Profile tool can not be loaded and you will get an appropriate message from Language Environment.
When CEEEVPRF is successfully loaded, LE will call the Profile tool (DRA) at various occasions. The first occasion is immediately after it is loaded. This enables DRA to initialize itself. LE passes the string that was specified on the PROFILE runtime option. The syntax of the PROFILE runtime option is: PROFILE(ON,"string"). The string contains DRA options as explained in section Options.

Runtime option MSGFILE:
Runtime option MSGFILE may be used to specify the name of the DD statement that defines the message file. If you don't specify MSGFILE then LE will use SYSOUT by default, and allocates it if necessary.
DRA writes data to the LE message file. This data is intended to be read by the DRA Data Presentation program. Therefore, it is recommended to direct the messages not to SYSOUT but to a file that can be transferred to the Data Presentation program. It may be a good idea to allocate a library and supply a DD statement to direct the messages to a member of that library.

Runtime option TEST:
Runtime option TEST is incompatible with runtime option PROFILE. Therefore you can not use the Debug tool at the same time as the Profile tool. If both TEST as well as PROFILE is specified then LE will issue a message to indicate that the TEST option takes precedence. I.e LE will load the Debug tool but not the Profile tool.

Example Batch program:


//GO EXEC PGM=ABC,PARM='MSGFILE(DRA),PROFILE(ON,"MAIN(),DLL(),TIME(),TREE()")/'
//STEPLIB DD DISP=SHR,DSN=user.DRA.PGM
//DRA DD DISP=OLD,DSN=user.DRA.MSG(ABC)

In this example, LE runtime options are specified on the PARM keyword of the EXEC statement in the JCL. The slash at the end of the string separates the LE runtime options from the parameter string for the application program (if any). For C, C++, PL/1 and Assembler programs, the LE runtime options come before the slash. For Cobol it is the other way round; the LE runtime options come after the slash

MSGFILE DRA specifies that the messages are directed to the LE message file defined by DD statement DRA.
PROFILE ON specifies that the Profile tool is to be loaded.
The string "MAIN(),DLL(),TIME(),TREE()" are the DRA options.
STEPLIB specifies the library from where the Profile tool is to be loaded.
This library contains load module CEEEVPRF, which is the reserved name of profile tool DRA.
DRA specifies the file where the DRA messages will be written.
In this example, it is member ABC in the DRA message library.

Example DB2 program:

If the program is a DB2 application then the LE runtime options are specified in a data set defined by DD statement SYSTSIN

For instance, SYSTSIN DD DISP=SHR,DSN=user.DRA.DB2RUN(SNTS1)
This is a member in a partitioned data containing the following:
DSN SYSTEM(DSN1)
RUN PROGRAM(LFSNTSV) PLAN(SNTS1) +
PARM('MSGFILE(DRA),PROFILE(ON,"MAIN(),DLL(),TIME(),TREE()")/')
END

With DB2, LE runtime options are specified on the PARM keyword of the RUN statement in SYSTSIN. Apart from this, everything else is the same as with a non-DB2 program.