User Manual

Preparing Programs
HP NonStop AutoTMF Software User’s Guide429952-014
3-7
Preparing Programs that Have a User Library
AutoTMF runtime DLL (ESCRUNDL) as a DLL of the program. The example below
shows the preparation of program $data.testobj.egetemp:
Preparing Programs that Have a User Library
If you attempt to prepare a program that references a user library, the following error
message may be issued:
This error occurs because a program cannot be successfully prepared if it references a
user library that does not contain the NonStop AutoTMF runtime library.
If any of your programs refer to a user library, the user library should be prepared.
TNS and TNS/R Programs
Once the user library has been prepared, the NonStop AutoTMF runtime library must
be bound with the user library object file. This step must be completed before you
prepare the programs that reference the user library. The preparation of such programs
verifies that the user library contains the NonStop AutoTMF runtime library and if the
NonStop AutoTMF runtime library is not present, the prepare operation fails.
The PREPARE command does not alter an existing reference to a user library, so you
must replace each existing user library with a user library that contains the NonStop
AutoTMF runtime library. You should not add your user library routines to the standard
$SYSTEM.ESCORT.ESCRUNTM object file.
TNS/E Programs
A TNS/E program can have a user library and multiple DLLs. A user library can have
its own DLLs. Similarly, a DLL can have its own DLLs. This feature of DLLs eliminates
the need to bind or link the AutoTMF runtime into the user library. Instead, when the
user library is prepared, the NonStop AutoTMF software runtime DLL is set as a DLL to
the user library.
AutoTMF 3? prepare egetemp;
--- $DATA.TESTOBJ.EGETEMP preparation complete
--- AutoTMF DLL $TOOL.AUTOTMF.ESCRUNDL
AutoTMF 4? info program egetemp,detail;
$DATA5.JOJOTEST.EGETEMP May 6 2005 , 10:09
Executable TNS/E Program
Not Preset; Nonempty Liblist
DLLs: escrundl
Pre-public DLL path: $TOOL.AUTOTMF
Intercept proc calls prepared: 9
Attributes: Highpin, Highrequesters, Visual Inspect
ELD Create timestamp : 6May05 10:06
ELD/Escort Update timestamp: 6May05 10:06
AutoTMF 1? prepare srvobj.applobj;
* Error * The user library $DATA.LIB.TINFO does not
* 456 * contain the AutoTMF runtime library.
* * Object file $DATA.SRVOBJ.APPLOBJ will not be prepared.