Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ task_argument(1) — ACMSxp 3.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

data_type_definition(1)

task_attribute(1)

task_definition(1)

task_group(1)

acmsxp_introduction(1)

task argument(1)  —  Commands

Digital

NAME

TASK ARGUMENT − specify the arguments passed into and out of a task
 

SYNOPSIS

 
 USING
    [ <workspace-name> IS ] <data-type-identifier>
       [ PASSED AS { INPUT | OUTPUT |  INOUT } ]
       [ [ NOT ] TRANSACTIONAL ]
    [ ,... ] ;
 

PARAMETERS

 

       •workspace-name
 
An unqualified internal identifier defining the workspace name to be associated with the data type identifier. If you specify a workspace name, the ACMSxp system creates a workspace with the record layout defined by the data type identifier. Specifying the workspace name in USING allows you to define as arguments multiple workspaces with unique names but with the same record layout specified by the data type identifier and possibly different storage characteristics.
 
All workspace names defined in the task arguments must specify private workspaces.

       •data-type-identifier
 
An unqualified external identifier that defines the data type identifier as a workspace name. If the workspace is private, the workspace name must be unique in the task definition. If the workspace is shared, the workspace name must be unique in the task group specification.
 
Use a data type definition to map an identifier to a record layout.
 

DESCRIPTION

 
You need to declare a task argument list if the task is called and workspaces are passed between the caller and the task. A task can be called by:

oA user-written client program

oAnother task

oA processing procedure

 
Workspaces that are used only within the task, or are passed only when the task calls a processing procedure, presentation procedure, or another task, do not need to be declared in the task’s argument list (see the task_attribute man page. 
 
Task argument syntax provides information about the passing semantics and indicates whether the arguments are transactional. Each task argument defines either the data type identifier of an argument or the workspace name that is associated with a data type identifier to be used as an argument. Task arguments are passed by reference.
 
Task arguments specify the passing characteristics of the workspaces as:

oINPUT
 
The caller passes the argument to the called task.

oOUTPUT
 
The called task passes the argument to the caller.

oINOUT
 
The argument obeys the semantics of both INPUT and OUTPUT.

 
The default is no arguments. The default for argument passing is PASSED AS INOUT. The default for a TRANSACTIONAL argument depends on whether the task is restartable.
 
Arguments passed as OUTPUT are initialized using the values in the data type definition for the task. Arguments passed as INPUT or INOUT are initialized using the data passed from the caller.
 
The task interface arguments in the task group specification must match in order with the task arguments in the task definition. Each task interface argument and task argument must match in the following ways:

oNumber
 
The number of task interface arguments in the task group specification must equal the number of task arguments in the task definition.

oStructure of the data type

-The data type definition associated with the task interface argument must match the data type definition associated with the task argument. 

-The fields in the data type definition specified in the task interface arguments must match in order, data type, and size with the fields in the corresponding workspace specified in the task arguments. 

oPassing characteristics
 
For example, if the task interface argument is specified with PASSED AS INPUT, the corresponding task argument must be specified with PASSED AS INPUT.

 
If a called task modifies any arguments passed to it as INPUT, the results are no longer valid.
 

RELATED INFORMATION

Syntax: data_type_definition(1), task_attribute(1), task_definition(1), task_group(1)

acmsxp_introduction(1)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026