Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

UP call of PERCON

&pagelevel(3)&pagelevel

PERCON files can be stored under any user ID and be assigned different names. As a result, the expansion of the external reference PERCONU may give rise to problems when linking with BINDER or when using the dynamic binder-loader DBL (see manual [12] "BLSSERV").

To enable the DBL to locate the PERCON starter module addressed via PERCONU, the name of the associated library must be made known, taking into consideration the object type of the main program (LLM). The object type must also be noted when calling the program.

For this purpose, it is recommended that you use an S procedure created using SDF-P, containing an S variable OBJTYP which defines the object type of the main program to be linked in.

The following command supplies the LIB-NAME variable with the name of the current PERCON library:

/SET-VARIABLE LIB-NAME = INSTALLATION-PATH - 
/             (LOGICAL-ID        = 'SYSLNK' - 
/             ,INSTALLATION-UNIT = 'PERCON'- 
/             ,VERSION           = '*STD'- 
/             ,DEFAULT-PATH-NAME = '$.SYSLNK.PERCON.030') 

The following command uses the name determined in this way:

/IF " &OBJTYP = 'LLM' "
/ ADD-FILE-LINK FILE-NAME=&VAR,LINK-NAME=BLSLIB00
/ START-EXECUTABLE-PROGRAM ...
/END-IF

The example below shows part of a procedure in which the main program <prog> is started following successful compilation. The object created during the compilation run is stored in the library <lib> in the form of an LLM.

<compile main program>
/SET-VARIABLE OBJTYP = 'LLM'
/SET-VARIABLE LIB-NAME = '$.SYSLNK.PERCON.030' 
/IF (SDF-P-VERSION >= 'V02.0A00') 
/    LIB-NAME  = INSTALLATION-PATH                 - 
/                (LOGICAL-ID        = 'SYSLNK'     - 
/                ,INSTALLATION-UNIT = 'PERCON'     - 
/                ,VERSION           = '*STD'       - 
/                ,DEFAULT-PATH-NAME = '&LIB-NAME') 
/END-IF 
/IF " &OBJTYP = 'LLM' "
/ ADD-FILE-LINK FILE-NAME=&LIB-NAME,LINK-NAME=BLSLIB00
/ START-EXECUTABLE-PROGRAM -
/    FROM-FILE=*LIBRARY-ELEMENT(LIBRARY=<lib>,ELEMENT-OR-SYMBOL=<prog>), -
/    DBL-PARAMETERS=*PAR(RESOLUTION=*PAR(ALTERNATE-LIBRARIES=BLSLIB##))
/END-IF

S procedures that perform static linking using BINDER or TSOSLNK have to be created with a similar structure. This also applies where the prelinked PERCON module is to be linked to the main program via entry point PCNSR9.

If PERCONU is used, the PERCON starter module, the linking loader module PCROOT (LLM), is linked to the main program. The UP call does not necessarily cause this starter module to branch to the prelinked module of the PERCON version it belongs to. It has been designed to invoke the PERCON version which the user determines via entries in the parameter area at execution time (see “Format of the address list”),

For operating systems still running applications with starter modules PERCON V2.5A or lower, see "Installation ".