LOAD MODULE

The LOAD MODULE statement is used to submit a relocatable deck to be stored as a load module in the dictionary load area (DDLDCLOD). Load modules are particularly useful in the CA IDMS DDS environment because they can be moved among the dictionaries used by the multiple central versions that participate in the DDS system. CA IDMS subschemas, DC/UCF maps and map editing tables, database name tables, and CA ADS processes can be stored in the dictionary as load modules.
idmscu19
The LOAD MODULE statement is used to submit a relocatable deck to be stored as a load module in the dictionary load area (DDLDCLOD). Load modules are particularly useful in the CA IDMS DDS environment because they can be moved among the dictionaries used by the multiple central versions that participate in the DDS system. CA IDMS subschemas, DC/UCF maps and map editing tables, database name tables, and CA ADS processes can be stored in the dictionary as load modules.
If the SET OPTIONS statement specifies SECURITY FOR LOAD MODULE IS ON, the user must be assigned the proper authority to issue LOAD MODULE statements.
This article describes the following information:
2
2
Syntax
LOAD MODULE Statement
  ►►─┬─ ADD ─────┬─ LOAd MODule name is 
load-module-name
 ───────────────────────►    ├─ MODify ──┤    └─ DELete ──┘  ►─┬───────────────────────────────────────────┬──────────────────────────────►    └─ Version is ─┬─ 
version-number
 ─────────┬─┘                   └─┬────────┬─┬─ HIGhest ─┬─┘                     └─ NEXt ─┘ └─ LOWest ──┘  ►─┬────────────────────────────────────────────┬─────────────────────────────►    └─ module TYPe is ─┬─ SUBSChema ◄ ─────────┬─┘                       ├─ MAP ─────────────────┤                       ├─ map HELp ────────────┤                       ├─ TABle ───────────────┤                       ├─ ads DIAlog ──────────┤                       ├─ MAInline ADS DIAlog ─┤                       └─ RCM ─────────────────┘  ►─┬────────────────────────────────────────────────────────┬─────────────────►    └┬─ PREpared ─┬─ by 
user-id
 ──┬────────────────────────┬─┘     └─ REVised ──┘               └─ PASsword is 
password
 ─┘  ►─┬────────────────────────┬─────────────────────────────────────────────────►    └─ AMOde is ─┬─ ANY ◄ ─┬─┘                 └─ 24 ────┘  ►─┬────────────────────────┬─────────────────────────────────────────────────►    └─ RMOde is ─┬─ ANY ◄ ─┬─┘                 └─ 24 ────┘  ►─┬───────────────────────────────────────────────────────┬──────────────────►◄    │                       ┌────────────────────┐          │    └─ OBJect DECk FOLlows ─▼─ 
object-deck-item
 ─┴─ ODEND ──┘  
DISPLAY LOAD MODULE Statement (for a single load module)
►►─┬─ DISplay ─┬─ LOAd MODule name is 
load-module-name
 ───────────────────────►    └─ PUNch ───┘  ►─┬───────────────────────────────────┬──────────────────────────────────────►    └─ Version is ─┬─ 
version-number
 ─┬─┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘  ►─┬───────────────────────────────────────────────────┬──────────────────────►    └─ PREpared by 
user-id
 ─┬─────────────────────────┬─┘                            └─ PASsword is 
password
 ──┘    ┌──────────────────────────────────────────┐  ►─▼─┬──────────────────────────────────────┬─┴───────────────────────────────►◄      │                  ┌─────────────────┐ │      └─┬─ WITh ──────┬──▼──┬─ ALL ─────┬──┴─┘        ├─ ALSo WITh ─┤     ├─ DETails ─┤        └─ WITHOut ───┘     ├─ HIStory ─┤                            └─ NONe ────┘  
DISPLAY LOAD MODULE Statement (for multiple load modules)
►►─── DISplay ──┬─ ALL ──────────────────────────┬─ LOAd MODules ─────────────►                 └─┬─ 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)  ►─┬──────────────────────────────────────────────────────────────────────────►─    └─ 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 ──┘  
PUNCH LOAD MODULE Statement
►►─── PUNch LOAd MODule name is 
load-module-name
 ─────────────────────────────►  ►─┬───────────────────────────────────┬──────────────────────────────────────►    └─ Version is ─┬─ 
version-number
 ─┬─┘                   ├─ HIGhest ────────┤                   └─ LOWest ─────────┘  ►─┬────────────────────────────────────────────┬─────────────────────────────►    └─ module TYPe is ─┬─ SUBSChema ◄ ─────────┬─┘                       ├─ MAP ─────────────────┤                       ├─ map HELp ────────────┤                       ├─ TABle ───────────────┤                       ├─ ads DIAlog ──────────┤                       ├─ MAInline ADS DIAlog ─┤                       └─ RCM ─────────────────┘  ►─┬───────────────────────────────────────────────────┬──────────────────────►    └─ PREpared by 
user-id
 ─┬─────────────────────────┬─┘                            └─ PASsword is 
password
 ──┘  ►─┬────────────────┬─────────────────────────────────────────────────────────►◄    └─ WITh SYNtax ──┘  
Parameters
  • LOAd MODule name is
    load-module-name
    Identifies a new load module to be established in the dictionary, or an existing load module to be modified, deleted, punched, or displayed. If MODIFY is specified, the only valid parameters are AMODE and RMODE. If PUNCH is specified, the DDDL compiler produces a relocatable deck from the named load module; that deck can subsequently be link edited and placed in a load (core-image) library.
    Load-module-name
    must be a 1- through 8-character alphanumeric value.
  • module TYPe is SUBSChema/MAP/map HELp/TABle/ads DIAlog/MAInline ADS DIAlog/RCM
    Identifies the load module as a subschema, map, map help, table, CA ADS dialog, mainline dialog, or relational command module (RCM). With all verbs, you can use the MODULE TYPE clause as an additional qualifier immediately after the version clause. If you specify MODULE TYPE as an additional qualifier, the compiler makes sure that the load module named in a MODIFY/ALTER or DELETE/DROP statement is of the same type. The default for this clause is SUBSCHEMA.
  • AMOde is
    Specifies the named module's addressing mode (for ADD and MODIFY only)
  • ANY
    Indicates that the module is invoked in 31-bit addressing mode. ANY is the default.
  • 24
    Indicates that the module is invoked in 24-bit addressing mode.
    If RMODE IS ANY is specified, AMODE must be ANY.
  • RMODe is
    Specifies the named module's residency mode (for ADD and MODIFY only)
  • ANY
    Indicates that the module can be loaded above or below the 16-megabyte line. For DC/UCF systems running in 24-bit mode, modules are loaded below the 16-megabyte lines, regardless of the RMODE specification. ANY is the default.
  • 24
    Indicates that the module must be loaded below the 16-megabyte line.
    For DC/UCF systems running in 31-bit mode, modules with an RMODE of ANY are loaded into XA program pools (above the 16-megabyte line); modules with an RMODE of 24 are loaded into non-XA pools (below the 16-megabyte line).
  • OBJect DECk FOLlows
    object-deck-item
    ODEND
    Specifies the object (relocatable) deck to be stored as the load module in the dictionary (for ADD only). OBJECT DECK FOLLOWS must be coded on the first line by itself;
    object-deck-item
    s follow on the second and subsequent lines; ODEND terminates the object deck and is coded on the last line.
  • WITh/ALSo WITh/WITHOut
    For DISPLAY only, includes the specified options when the named load module is displayed. For detailed information on each DISPLAY/PUNCH option, see SET OPTIONS Syntax. The options that are listed below present special considerations for this entity type.
    DISPLAY output always appears as comments, regardless of the default option in effect.
  • HIStory
    Includes the date and time the load module was created.
  • DETails
    Includes module length, entry point address, number of RLD (relocation directory) entries, security class, logical deletion flag, and module type (subschema, map, table, dialog, or mainline dialog).
  • WITh SYNtax
    Punches an object deck accompanied by the ADD LOAD MODULE syntax (
    load-module-name
    , VERSION, PREPARED BY, OBJECT DECK FOLLOWS,
    object-deck-item
    s, and ODEND). This option is useful for producing an object deck that is to be placed in a load area other than the system load library. (Option is for PUNCH only.)
Usage
Load module considerations
The following considerations apply to load modules:
  • Only load modules produced by CA IDMS compilers can be placed in the dictionary load area; COBOL and PL/I programs are not eligible.
  • It is recommended that all ADD LOAD MODULE statements be submitted together in a separate run of the DDDL compiler.
  • The MODIFY LOAD MODULE statement can be used only with the RMODE and AMODE clauses; other clauses are not valid when using the MODIFY verb.
Deleting load modules
When you
delete
a load module, PROG-051 records associated with the load module are also deleted, providing the PROG-051 records are:
  • The same type as the load module (subschema, map, table, dialog, RCM, or map help)
    and
  • Not related to any other entity type in the dictionary
Punching a load module
When you punch a load module from the dictionary load area (DDLDCLOD area) into an object module, the DDDL compiler omits the RMODE/AMODE attributes because the RMODE/AMODE clause is not acceptable to the linkage editor. If you are punching the load module to add it to a different dictionary, then you must edit the punched syntax to include the RMODE/AMODE clause.
Example
The following example illustrates the statements required to define the load module STATETBL.
      add load module statetbl       rmode is any       amode is any       module type is table       object deck follows esd information txt information ... rld information end       odend.