TACL Reference Manual

Statements and Programs
HP NonStop TACL Reference Manual429513-018
5-17
Creating Program Files
:_COMPLETION^PROCDEATH supports D-series process handles
TACL defines both variables when you log on, and the variables remain unless you
pop (delete) them. The default values are zeros for numeric items and spaces for text
items.
TACL sets specific items within these STRUCT variables whenever you try to start a
process, whenever you successfully start a process, and whenever a process you
started terminates (successfully or otherwise). Whenever TACL sets these variables,
their previous contents are lost. For information about the contents of these variables,
see:
C-Series :_COMPLETION Variable on page 5-17
D-Series :_COMPLETION^PROCDEATH Variable on page 5-18
If you define your own variable named :_COMPLETION or
:_COMPLETION^PROCDEATH, it should be a STRUCT variable. Each time TACL
stores data in :_COMPLETION or :_COMPLETION^PROCDEATH, TACL sets the
STRUCT to default values. If the STRUCT is shorter than the data that needs to be
stored in it, TACL discards the extra data. If the STRUCT is longer than the data to be
stored in it, the extra space remains set to default values.
C-Series :_COMPLETION Variable
TACL updates completion code information in the variable :_COMPLETION, if it exists.
The standard TACL software file TACLSEGF defines :_COMPLETION as follows:
[#DEF :_completion STRUCT
BEGIN
INT messagecode;
CRTPID process;
INT headersize VALUE 14;
INT4 cputime;
INT jobid;
INT completioncode;
STRUCT internal;
BEGIN
INT terminationinfo;
SSID subsystem;
END;
STRUCT external REDEFINES internal;
BEGIN
BYTE group;
BYTE user;
CRTPID process;
END;
INT textlength;
CHAR text(0:79);
END;
]
If you incur a syntax error while trying to start a process, TACL sets MESSAGECODE to
0, COMPLETIONCODE to 4, and TERMINATIONINFO to 0.