PROCESS

PROCESS statements are used to define source code for CA ADS processes. Optional PROCESS statement clauses:
idmscu19
PROCESS statements are used to define source code for CA ADS processes. Optional PROCESS statement clauses:
  • Relate processes to users, systems, and other processes and modules
  • Establish attribute/entity relationships
  • Maintain documentation entries
If the SET OPTIONS statement specifies SECURITY FOR IDD IS ON, the user must be assigned the proper authority to issue PROCESS statements.
Syntax
PROCESS Statement
  ►►─┬─ ADD ─────┬─ PROCess name is 
process-name
 ───────────────────────────────►    ├─ MODify ──┤    ├─ REPlace ─┤    └─ DELete ──┘  ►─┬────────────────────────────────────────────┬─────────────────────────────►    └─ Version is ─┬─ 
version-number
 ──────────┬─┘                   └─┬─────────┬─┬───────────┬─┘                     └─ NEXt ──┘ ├─ HIGhest ─┤                                 └─ LOWest ──┘  ►─┬────────────────────────────────────────────────┬─────────────────────────►    └─ LANguage is PROCESS ─┬──────────────────────┬─┘                            └─ TEXt is 
user-text
 ──┘    ►─┬────────────────────────────────────────────────────────┬─────────────────►    └┬─ PREpared ─┬─ by 
user-id
 ──┬────────────────────────┬─┘     └─ REVised ──┘               └─ PASsword is 
password
 ─┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ SAMe as ─┬ PROCess 
process-name
 ─┬─┬──────────────────────────────────┬─                └ MODule 
module-name
 ───┘ └ Version is ─┬─ 
version-number
 ─┬─┘                                                        ├─ HIGhest ────────┤                                                        └─ LOWest ─────────┘ ─►────────────────────────────┬───────────────────────────────────────────────►   ─┬────────────────────────┬─┘    └─ LANguage is PROCESS ──┘    ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ COPy ─┬─ ALL COMments TYPes ─┬─ FROm ─┬───────────┬─┬─ 
process-name
 ─┬──             ├─ COMments ───────────┤        ├─ PROCess ─┤ └─ 
module-name
 ──┘             ├─ DEFinition ─────────┤        └─ MODule ──┘             ├─ ATTributes ─────────┤             ├─ SOUrce text ────────┤             ├─ SYStems ────────────┤             ├─ USERS ──────────────┤             ├─ MODULes ────────────┤             ├─ PROcesses ──────────┤             ├─ 
comment-key
 ────────┤             └─ 
relational-key
 ─────┘ ─►─────────────────────────────────────────────────────────────────────┬──────►   ─┬────────────────────────────────────┬─┬─────────────────────────┬──┘    └─ Version is ─┬─ 
version-number
 ──┬─┘ └─ LANguage is PROCESS ───┘                   ├─ HIGhest ─────────┤                   └─ LOWest ──────────┘    ►─┬───────────────────────────────────────────────────────────────────────┬──►    └ NEW NAMe is 
new-process-name
 ─┬─────────────────────────────────────┬─┘                                    └─ Version is ─┬─ 
version-number
 ────┬┘                                                   └─ NEXt ─┬─ HIGhest ─┬┘                                                            └─ LOWest ──┘  ►─┬───────────────────────────────────────────┬──────────────────────────────►    └─ NEW Version is ─┬─ 
new-version-number
 ─┬─┘                       └─ NEXt ─┬─ HIGhest ─┬─┘                                └─ LOWest ──┘  ►─┬────────────────────────────────────────────┬─────────────────────────────►    └─ process DEScription is 
description-text
 ──┘      ┌─────────────────────────────────────────────────────────────────┐  ►─▼─┬─────────────────────────────────────────────────────────────┬─┴────────►      └─┬─ INClude ◄ ─┬─ USEr is 
user-id
 ──┬──────────────────────┬─┘        └─ EXClude ───┘                    └─ 
user-specification
 ─┘ (for complete 
user-specification
 syntax, see USER clause)  ►─┬──────────────────────────────────────────────────────┬───────────────────►    └─ PUBlic access is ─┬───────────┬─ for ─┬─ ALL ◄ ───┬─┘                         └─ ALLOwed ─┘       ├─ NONe ────┤                                             ├─ UPDate ──┤                                             ├─ MODify ──┤                                             ├─ REPlace ─┤                                             ├─ DELete ──┤                                             └─ DISplay ─┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─┬─ INClude ◄ ──┬─ WIThin ─┬─ SYStem ────┬─ 
system-name
 ──────────────────      └─ EXClude ────┘          └─ SUBSYstem ─┘   ─►────────────────────────────────────────────────────────────────┬───────────►   ─┬───────────────────────────────────┬─┬──────────────────────┬─┘    └─ Version is ─┬─ 
version-number
 ─┬─┘ └─ TEXt is 
user-text
 ──┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘    ┌────────────────────────────────────────────────────────────────────────┐  ►─▼┬──────────────────────────────────────────────────────────────────────┬┴─►     └┬ INClude ◄ ┬─┬ MODE ──────┬ is 
attribute-name
 ┬────────────────────┬─┘      └ EXClude -─┘ └ 
class-name
 ┘                   └ TEXt is 
user-text
 ─┘    ┌──────────────────────────────────────────────────────────────────────────  ►─▼─┬────────────────────────────────────────────────────────────────────────►─      └─┬─ INClude ◄ ─┬─ 
relational-key
 is ─┬─ 
process-name
 ─┬─────────────────        └─ EXClude ───┘                     └─ 
module-name
 ──┘   ──────────────────────────────────────────────────────────────────────────── ─►────────────────────────────────────────────────────────────────────────────►─   ─┬────────────────────────────────────┬─┬────────────────────────┬──────────    └─ Version is ─┬─ 
version-number
 ─┬──┘ └─ LANguage is PROCESS ──┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘   ────────────────────────────┐ ─►──────────────────────────┬─┴───────────────────────────────────────────────►   ─┬──────────────────────┬─┘    └─ TEXt is 
user-text
 ──┘    ┌───────────────────────────────────────────────────────────────┐  ►─▼─┬───────────────────────────────────────────────────────────┬─┴──────────►      │                            ┌────────────────────┐         │      └─ EDIt ─┬─ COMments ────┬───▼─ 
edit-instruction
 ─┴─ QUIT ──┘               ├─ DEFinition ──┤               └─ 
comment-key
 ─┘      ┌──────────────────────────────────────────────────┐  ►─▼─┬─────────────────────────────────────────────┬──┴───────────────────────►      └─┬─ COMments ─────┬── is ─┬─ NULl ─────────┬─┘        ├─ DEFinition ───┤       └─ 
comment-text
 ─┘        └─ 
comment-key
 ──┘  ►─┬────────────────────────────────────────────────────────────────┬─────────►    │                                ┌────────────────────┐          │    └─┬─ MODule ──┬─ SOUrce follows ─▼─ 
source-statement
 ─┴─ MSEND ──┘      └─ PROCess ─┘  ►─┬──────────────────────────────────────────────────────────────┬───────────►◄    │                               ┌────────────────────┐         │    └─ EDIt ─┬─ MODule ──┬─ SOUrce ─▼─ 
edit-instruction
 ─┴─ QUIT ──┘             └─ PROCess ─┘
DISPLAY/PUNCH PROCESS Statement (for a single process)
►►─┬─ DISplay ─┬─ PROCess name is 
process-name
 ───────────────────────────────►    └─ PUNch ───┘  ►─┬───────────────────────────────────┬──────────────────────────────────────►    └─ Version is ─┬─ 
version-number
 ─┬─┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘    ►─┬───────────────────────────────────────────────────┬──────────────────────►    └─ PREpared by 
user-id
 ─┬─────────────────────────┬─┘                            └─ PASsword is 
password
 ──┘      ┌────────────────────────────────────────────────────────────┐  ►─▼─┬───────────────────────────────────────────────────────┬──┴─────────────►      │                  ┌──────────────────────────────────┐ │      └─┬─ WITh ──────┬──▼──┬─ ALL ─────────────────────┬───┴─┘        ├─ ALSo WITh ─┤     ├─ ALL COMment TYPes ───────┤        └─ WITHOut ───┘     ├─ ATTributes ──────────────┤                            ├─ COMments ────────────────┤                            ├─ DEFinitions ─────────────┤                            ├─ DETails ─────────────────┤                            ├─ HIStory ─────────────────┤                            ├─ MODules ─┬────────┬──────┤                            │           └─ ONLy ─┘      │                            ├─ MODule SOUrce ───────────┤                            ├─ NONe ────────────────────┤                            ├─ PROCesses ───────────────┤                            ├─ PROgrams ────────────────┤                            ├─ QFIles ──────────────────┤                            ├─ SAMe AS ─────────────────┤                            ├─┬─ SYStems ─────┬─────────┤                            │ └─ SUBSYstems ──┘         │                            ├─ TABles ──────────────────┤                            ├─ USErs ───────────────────┤                            ├─┬─ USEr DEFINED COMments ─┤                            │ └─ UDCs ──────────────────┤                            ├─┬─ USEr DEFINED NESts ─┬──┤                            │ └─ UDNs ───────────────┘  │                            └─ WHEre USED ──────────────┘    ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ TO ─┬─ SYSpch ──────────────────────────────────────────────────────────           └─ MODule 
module-name
 ─┬───────────────────────────────────┬────────                                  └─ Version is ─┬─ 
version-number
 ─┬─┘                                                 ├─ HIGhest ────────┤                                                 └─ LOWest ─────────┘ ─►──────────────────────────────────────────────────────────────────────────┬─►   ─────────────────────────────────────────────────────────────────────────┬┘   ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘    └ LANguage is 
language
 ┘└ PREpared by 
user-id
 ┬───────────────────────┬┘                                                  └ PASsword is 
password
 ─┘    ►─┬──────────────────────┬──┬─────────────────────┬──────────────────────────►◄    └─ VERB ─┬─ DISplay ─┬─┘  └─ AS ─┬─ SYNtax ───┬─┘             ├─ PUNch ───┤           └─ COMments ─┘             ├─ ADD ─────┤             ├─ MODify ──┤             ├─ REPlace ─┤             └─ DELete ──┘
DISPLAY/PUNCH PROCESS statement (for multiple processes)
►►─── DISplay ──┬─ ALL ──────────────────────────┬─ PROCesses ────────────────►                 └─┬─ FIRst ─┬─┬─ 1 ◄ ──────────┬─┘                   ├─ NEXt ──┤ └─ 
entity-count
 ─┘                   ├─ LASt ──┤                   └─ PRIor ─┘  ►─┬──────────────────────────────────────────────────┬───────────────────────►    └─ PREpared by 
user-id
 ─┬────────────────────────┬─┘                            └─ PASsword is 
password
 ─┘  ►─┬─────────────────────────────────┬────────────────────────────────────────►    └─ WHEre 
conditional-expression
 ──┘ (for complete 
conditional-expression
 syntax, see WHERE clause)    ►─┬──────────────────┬───────────────────────────────────────────────────────►    └─ BY ─┬─ SET ◄ ─┬─┘           └─ AREa ──┘  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ TO ─┬─ SYSpch ──────────────────────────────────────────────────────────           └─ MODule 
module-name
 ─┬───────────────────────────────────┬────────                                  └─ Version is ─┬─ 
version-number
 ─┬─┘                                                 ├─ HIGhest ────────┤                                                 └─ LOWest ─────────┘   ─►──────────────────────────────────────────────────────────────────────────┬─►   ─────────────────────────────────────────────────────────────────────────┬┘   ─┬──────────────────────┬┬──────────────────────────────────────────────┬┘    └ LANguage is 
language
 ┘└ PREpared by 
user-id
 ┬───────────────────────┬┘                                                  └ PASsword is 
password
 ─┘  ►─┬──────────────────────┬──┬──────────────────────────────────────┬─────────►◄    └─ VERB ─┬─ DISplay ─┬─┘  └─ AS ─┬─ SYNtax ───┬──┬─────────────┬─┘             ├─ PUNch ───┤           └─ COMments ─┘  └─ RECursive ─┘             ├─ ADD ─────┤             ├─ MODify ──┤             ├─ REPlace ─┤             └─ DELete ──┘ 
Parameters
  • PROCess name is
    process-name
    Identifies a new process to be established in the dictionary or an existing occurrence to be modified, replaced, deleted, displayed, or punched.
    Process-name
    must be a 1- through 32-character alphanumeric value.
  • LANguage is PROCESS
    Documents the named process with a language; if used, the LANGUAGE clause must be coded directly after the name and version number. When the PROCESS statement is specified, the DDDL compiler supplies the appropriate language, PROCESS, automatically.
  • SAMe as PROCess/MODule
    process-name
    /
    module-name
    Copies all entries associated with the named process/module except the name and LANGUAGE specifications. The process/module to be copied must have the language PROCESS.
  • COPy
    entity-option
    FROm
    entity-type-name
    entity-occurrence-name
    Copies selected options from an entity-occurrence definition and merges the copied options into this definition. PROCESSes can copy only from other modules with a language of PROCESS.
  • NEW NAMe is
    new-process-name
    Specifies a new name for the requested process. This clause changes only the name of the process; it does not alter or delete any previously defined relationships in which the process participates. Subsequent references to the process must specify the new name.
    New-process-name
    must be a 1- through 32-character value. The combination of new process name, version number, and language must not duplicate that of an established module or process occurrence.
  • NEW Version is
    new-version-number
    /NEXt HIGhest/ NEXt LOWest
    Specifies a new version number for the named process. The combination of module name, new version number, and language qualification must not duplicate that of an existing module.
  • within SYStem/SUBSYstem
    system-name
    Associates (INCLUDE) the named process with or disassociates (EXCLUDE) it from the specified system or subsystem.
    System-name
    must reference an existing system or subsystem.
  • relational-key
    is
    process-name
    /
    module-name
    Associates (INCLUDE) the process/module with or disassociates (EXCLUDE) it from another process/module by means of the named relational key. If the modules being related have the same name and version but different languages, or if the related module has a version of HIGHEST or LOWEST and is qualified by language, the LANGUAGE parameter must be specified. See Relational Keys for a complete description of defining and using relational keys.
  • PROCess/MODule SOUrce follows
    source statements
    MSEND
    Specifies the source code to be associated with the named process or module. Each source statement must be specified in 80-character format. CA ADS process commands coded as process source are compiled by the CA ADS dialog generator when the process is associated with a dialog. INCLUDE requests are executed when the process/module is compiled. PROCESS/MODULE SOURCE FOLLOWS must be coded by itself on the first line; source statements follow on the second and subsequent lines; the keyword MSEND, required to terminate the source statements, must be the first entry on the last line.
  • WITh/ALSo WITh/WITHOut (DISPLAY/PUNCH only)
    Includes or excludes the specified options when the process is displayed or punched. Detailed information for each DISPLAY/PUNCH option is under SET OPTIONS Syntax. The option that is listed below presents special considerations for this entity type.
  • DETails
    Includes the DESCRIPTION clause.
Usage
PROCESS statement considerations
The following considerations apply to this statement:
  • The reserved words PROCESS and MODULE are interchangeable within PROCESS statement clauses when the MODULE occurrence is qualified with a language of PROCESS, unless otherwise noted.
  • Processes are stored as specially-identified module records in the dictionary and are automatically associated with the LANGUAGE class through the PROCESS attribute.
If you specify REPLACE
If you specify REPLACE, the DDDL compiler initializes to defaults and/or excludes the following options:
  • DESCRIPTION
  • USER REGISTERED FOR
  • PUBLIC ACCESS
  • WITHIN SYSTEM
  • COMMENTS/DEFINITION/
    comment-key
  • Related processes and modules
  • Related attributes
  • PROCESS SOURCE
The following relationships are not affected:
  • Processes to which the named process is a related process
  • Modules to which the named process is a related process
  • Users accessing the named process
  • Programs using the named process
  • LANGUAGE specification
Example
The following statements add the process GET-A-CUSTOMER to the dictionary and modify the process UPDATE-A-CUSTOMER; the language qualification for GET-A-CUSTOMER is automatically supplied.
add process get-a-customer     module source follows      ready.      obtain calc customer.      if db-rec-not-found        then do          display message          text is 'customer does not exist -- will be added'.          end.        else do          display message          text is 'customer exists -- will be updated'.          end.     msend.   modify process update-a-customer     module source follows      ready usage-mode is update.      obtain calc customer.      if db-rec-not-found        then do          store customer.          display message          text 'new customer has been added'.          end.        else do          modify customer.          display message          text is 'customer has been updated'.          end.     msend.
Note that the LANGUAGE class with MANUAL PLURAL qualifiers and the MODE class with AUTOMATIC PLURAL qualifiers are automatically defined during IDD installation. When processing IDMS COPY statements, the DML precompilers inspect entries within entity occurrences that specify the MODE and LANGUAGE classes.