Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ processing_group(1) — ACMSxp 3.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

call_procedure(1)

processing_procedure(1)

acmsxp_introduction(1)

processing group(1)  —  Commands

Digital

NAME

PROCESSING GROUP SPECIFICATION − specifies a set of interfaces to top-level processing procedures

SYNOPSIS

 
PROCESSING GROUP SPECIFICATION <processing-group-name>
 
  UUID <uuid-value> ;
  VERSION <version-value> ;
  SOURCE LANGUAGE IS { <computer-language> } ;
 
  [ INITIALIZATION PROCEDURE IS <initialization-procedure-name> ; ]
  [ TERMINATION PROCEDURE    IS <termination-procedure-name> ; ]
 
  { PROCEDURE <processing-procedure-name>
    [ USING
    { <identifier> [ PASSED AS { INPUT | OUTPUT | INOUT } ] } [...]
    ] ;
  }  [...]
 
 END PROCESSING GROUP SPECIFICATION;

PARAMETERS

       •processing-group-name
 
An unqualified external identifier specifying the processing group in which the interface for a CALL PROCEDURE statement is found.
 
The processing group name has a limit of 17 characters. Characters beyond 17 are truncated. The total number of characters in the processing group name, plus the number of digits in the major version number and the minor version number must not exceed 19 characters in length.
 

       •uuid-value
 
A UUID-string literal that uniquely identifies each processing group specification.
 
Generation of UUIDs is the responsibility of the user. See the  DCE documentation of the uuidgen function or the uuidgen man page. 

       •version-value  (Digital extension)
 
A decimal literal without the sign. Any numeric characters before the decimal point represent the major version number. Any numeric characters after the decimal point represent the minor version number. The major and minor version numbers each must have a value ranging from 0 to 65,535.
 
The version number identifies the version of a processing group specification when multiple versions of the processing group specification exist.

       •computer-language
 
An operating system name giving the source language in which the processing procedures are written. All top-level processing procedures in the same processing group must be written in the same language. The supported languages are:
 
 C
 COBOL
 
The source language must match the programming language used to code the top-level processing procedures within the processing group.

       •initialization-procedure-name (Digital extension)
 
The name of an optional processing procedure used to prepare resources used by the server.

       •termination-procedure-name (Digital extension)
 
The name of an optional  processing procedure used to complete normal server shutdown and release any resources held by the processing server.

       •processing-procedure-name
 
A qualified external identifier naming the entry point in the processing group for the processing procedure. ACMSxp software allows duplicate processing procedure names within an application source directory. The processing procedure name must match the entry point name in the processing procedure itself and the processing procedure name used in the CALL PROCEDURE statement in a task.
 
For each entry point in the processing group to which a CALL PROCEDURE statement in a task definition refers include a PROCEDURE clause to define the top-level routine being called.

       •identifier
 
An unqualified external identifier specifying the data type identifier of an argument for the processing procedure. The identifier in USING must match the identifier in the workspace declaration for the workspace name in USING of the CALL PROCEDURE that refers to this processing procedure.
 
The fields within the data type definition must match in order, type, and size with the workspace fields within the corresponding workspace name in USING of the CALL PROCEDURE statement.
 

DESCRIPTION

 
The STDL processing group specification consists of:

oProcessing group name

oSource language of the set of processing procedures listed in the processing group

oName and arguments for each processing procedure in the processing group

 
SOURCE LANGUAGE must match the programming language used to code the set of processing procedures within the processing group.
 
The processing group specification must include each processing procedure called from a task definition that specifies the processing group name of that processing group specification on a CALL PROCEDURE.
 
If a task definition includes a CALL PROCEDURE statement, the processing group specification that contains the corresponding processing procedure must be available when you compile the task definition.
 
If you omit USING, the default is to pass no arguments. Without PASSED AS, the default is PASSED AS INOUT.
 
The arguments in the processing procedure match in order those in the corresponding CALL PROCEDURE in a task definition. The arguments in the processing procedure must match in number and passing characteristics with the arguments specified on the corresponding CALL PROCEDURE in a task definition.
 
The PASSED AS syntax ensures that ACMSxp software properly restricts access to a workspace passed as an argument. Concurrency control is applied to shared workspaces. The PASSED AS syntax works as follows:

oINPUT
 
The argument is passed to the processing procedure from the calling task.

oOUTPUT
 
The argument is passed from the processing procedure to the calling task.

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

Transaction Model and the Processing Group

 
A processing group can support processing procedures using one of three transaction models. You determine the transaction model that the processing group supports when you compile the processing group specification.
 

DIGITAL Extensions to the Processing Group

 
For a processing group specification, the following optional extensions are available:

oInitialization procedure for the server

oTermination procedure for the server

oTransactional file access for the server

oUUID specification

oVERSION specification
 

Initialization and Termination Procedures

 
Each processing group can contain an optional initialization procedure to open nontransactional files and an optional termination procedure to close nontransactional files that are used by processing procedures in that processing group. The processing group server:

oUses the initialization procedure to prepare resources used by the server, and is called as the server is activated

oUses a termination procedure to complete normal shutdown and release any resources held by the processing group server

 
Observe the following rules when writing initialization or termination procedures:

oDo not pass parameters to the initialization or termination procedures. ACMSxp software passes no input parameters to the initialization or termination procedures. 

oReturn results only through einfo (C) or EINFO (COBOL). 

oEither before or during the termination procedure, release any storage or other resources obtained during the initialization procedure. 

 
Do the following with the initialization and termination procedure source code:

     1.Do the compile operation on the initialization and termination procedures. 
 

     2.Include the object files for initialization and termination procedures when you build the processing server. 

Transactional File Access

 
Declare any transactional files as specified in the GROUP file specification (a DIGITAL extension).
 

UUID and VERSION Support

 
The syntax for the DIGITAL extension UUID and VERSION is the same as in the TASK GROUP SPECIFICATION. You can specify the UUID with the processing group specification syntax, or with the compiler keyboard user interface syntax.
 
You can specify the VERSION with the processing group specification syntax, or with the compiler keyboard user interface syntax.
 
A UUID or VERSION specified in the processing group specification overrides a compiler command specification.
 

RELATED INFORMATION

Syntax: call_procedure(1), processing_procedure(1)

acmsxp_introduction(1)
 

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