workspace(1) — Commands
Digital
NAME
WORKSPACE - a private or shared structured area of memory
SYNOPSIS
See the task_argument and task_attribute man pages.
DESCRIPTION
A workspace is used for data storage and for arguments passed in a CALL PRESENTATION, CALL PROCEDURE, CALL TASK, DEQUEUE, ENQUEUE RECORD, or READ QUEUE statement. Use a data type definition to define the record structure of a workspace and initialize its contents. Declare the workspace in the task attributes of the task definition for which the workspace is used.
A system workspace is a special type of private workspace defined by the system:
oA system workspace is supplied by ACMSxp software.
oA system workspace is a nontransactional private workspace resource.
oThe effect of a write to a system workspace by a task is undefined.
The following system workspaces are available to each task:
oEXCEPTION-INFO-WORKSPACE
Contains information about the current exception.
oSYSTEM-INFO-WORKSPACE
Contains information about the task execution.
EXCEPTION-INFO-WORKSPACE
The data type definition for the EXCEPTION-INFO-WORKSPACE is:
TYPE EXCEPTION-INFO-WORKSPACE IS RECORD
EXCEPTION-CLASS INTEGER;
EXCEPTION-CODE INTEGER;
EXCEPTION-CODE-GROUP UUID;
EXCEPTION-LEVEL INTEGER;
EXCEPTION-SOURCE INTEGER;
EXCEPTION-PROCEDURE TEXT CHARACTER SET
SIMPLE-LATIN SIZE 32.
EXCEPTION-PROCEDURE-GROUP TEXT CHARACTER SET
SIMPLE-LATIN SIZE 32.
END RECORD;
The values of the EXCEPTION-INFO-WORKSPACE are initialized before the execution of an exception handler and can be referenced only within an exception handler.
The fields in the data type definition are as follows:
oEXCEPTION-CLASS is the value of the exception class raised. See the exception man page for the list of exception classes and related values.
oEXCEPTION-CODE contains the value of the exception raised. The exception code values are:
If EXCEPTION-SOURCE=1, one of the following:
-0
The application raised an exception using an exception class.
-message number
The application raised an exception using an exception code.
If EXCEPTION-SOURCE=0, the value is a undefined-ACMSxp raised an exception.
oEXCEPTION-CODE-GROUP identifies the message group of the exception raised. The possible values are:
For an application-defined exception (EXCEPTION-SOURCE=1), one of the following:
-UUID
This is the UUID defined in the message definition.
-0
If the message definition does not define a value, this field is all zeroes.
For a system-defined exception (EXCEPTION-SOURCE=0), this is the vendor-defined UUID for the exception code.
oEXCEPTION-LEVEL indicates whether the exception was raised by the current task execution or by a called task or procedure execution. The values of this field can be:
-0
The exception was raised by the current task execution.
-1
The exception was propagated to the current task execution.
oEXCEPTION-SOURCE indicates the source of the exception. The source can be:
-0
The exception was raised by the ACMSxp system.
-1
The exception was raised by the application (in a task definition using RAISE EXCEPTION or RESTART TRANSACTION, in a top-level processing procedure, or in a presentation procedure).
oEXCEPTION-PROCEDURE contains the name of the procedure in which the exception was detected:
-If the TP system raised the exception (EXCEPTION-SOURCE=0), this is the name of the task, the presentation procedure, or the processing procedure in which the exception was raised.
-If the exception was raised in the task (EXCEPTION-SOURCE=0), this is the name of that task.
-If the application raised the exception (EXCEPTION-SOURCE=1) in a processing procedure or presentation procedure, this is the text set by the processing procedure or presentation procedure in the exception procedure field of the einfo external variable.
oEXCEPTION-PROCEDURE-GROUP is a field that contains the name of the procedure group in which the exception was detected:
-If the TP system raised the exception (EXCEPTION-SOURCE=0), this is the name of the task group, the presentation group, or the processing group in which the exception was raised.
-If the exception was raised in the task (EXCEPTION-SOURCE=0), this is the name of the task group for the task in which the exception was raised.
-If a processing procedure or presentation procedure raised the exception (EXCEPTION-SOURCE=1), this is the text string set by the processing procedure or presentation procedure in the exception procedure group field of the einfo external variable.
SYSTEM-INFO-WORKSPACE
The data type definition for a SYSTEM-INFO-WORKSPACE is:
TYPE SYSTEM-INFO-WORKSPACE IS RECORD
TASK-NAME TEXT SIZE 32;
TASK-GROUP-NAME TEXT SIZE 32;
TP-SYSTEM-NAME TEXT SIZE 256;
DISPLAY-NAME TEXT SIZE 256;
DISPLAY-TP-SYSTEM TEXT SIZE 256;
ACTIVATION-TIME TEXT SIZE 14;
END RECORD;
The values of the SYSTEM-INFO-WORKSPACE are initialized by ACMSxp software before the task begins execution. Any data stored in TEXT fields in the SYSTEM-INFO-WORKSPACE are padded to the right with spaces to the length of the TEXT field.
The fields in the data type definition are as follows:
oTASK-NAME contains the name of the task being invoked.
oTASK-GROUP-NAME contains the name of the task group.
oTP-SYSTEM-NAME contains the DCE namespace name (in cell-relative, or local format) of the TP system executing the task.
oDISPLAY-NAME contains the symbolic name for the task’s display.
oDISPLAY-TP-SYSTEM contains the TPsystem entity name for the display.
oACTIVATION-TIME contains the time at which task execution began. The absolute time format is:
yyyymmddhhmmss
where:
yyyy The year from 0000 through 9999
mm The month of the year from 01 through 12
dd Number of days of the month from 00 through 31
hh Number of hours from 00 through 23
mm Number of minutes from 00 through 59
ss Number of seconds from 00 through 59
If a task or a processing procedure writes to the system workspace, the effect is undefined.
RELATED INFORMATION
Syntax: assignment(1), call_presentation(1), call_procedure(1), call_task(1), data_type_definition(1), dequeue_record(1), enqueue_record(1), get_message(1), read_queue(1), statement(1), submit_task(1), task_argument(1), task_attribute(1), task_definition(1) workspace_field(1),