Macros

This chapter describes the usage and keywords of each macro.

The keywords supported in IMS/DC can be accepted, but those that are not described in this chapter are not used.

1. APPLCTN

Specifies the properties of application programs.

The TRANSACT macros that follow the APPLCTN macro specify the transactions to use in the application.

  • Usage

    >>-APPLCTN--PSB=name-------------------------------------------->
    
    >--+-------------------------------------------------+---------->
       |             .-TP----.           .-,1-----.      |
       '-,PGMTYPE=-(-+-------+-+-------+-+--------+----)-'
                     '-BATCH-' '-,OVLY-' '-,class-'
    
    >--+------------------------+--+------------------+------------><
       |           .-SERIAL---. |
       '-,SCHDTYP=-+----------+-'
                   '-PARALLEL-'
    Keywords Description

    PSB

    PSB name.

    PGMTYPE

    Program type or class.

    • TP: Executed in an MPP region.

    • BATCH: Executed in a BMP region.

    • OVLY: Used to maintain the compatibility with unused parameters or existing syntaxes.

    • class: If a transaction class for the application is not specified, the class used in this macro is specified by default.

    SCHDTYP

    Scheduling type.

    • SERIAL: The programs are not simultaneously implemented in multiple servers (dependent regions). Only one program can run in a single server, at a time.

    • PARALLEL: Can be implemented in multiple servers (dependent regions) at the same time.

2. DATABASE

Defines the database used in OSI.

  • Usage

                       .-,----.
                       V      |
    >>-DATABASE--DBD=(---name-+-)----------------------------------><
    Keywords Description

    DBD

    DBD name of a database to use.

3. NAME

Specifies the name and properties of the logical terminal that will be connected to the physical terminal.

The NAME macro is defined under the TERMINAL macro. Under the TERMINAL macro, one or more NAME macros of the logical terminal that will be connected to the physical terminal should be described.

  • Usage

               .-,-----.
               V       |
    >>-NAME--+---lterm-+-------------------------------------------->
    Keywords Description

    lterm

    Name of LTERM that will be connected to the physical terminal of the TERMINAL macro.

4. TERMINAL

Defines the properties of the physical terminal.

The TERMINAL macro is defined under the TYPE macro. Under the TYPE macro that determines the type of the terminal, one or more TERMINAL macros must be defined.

  • Usage

    >>-TERMINAL--NAME=nodename-------------------------------------->
    
    >--+----------------------------+------------------------------->
       |            .-CONSOLE--.    |
       '-COMPT1=+-(-+----------+-)--'
                    '-PRINTER1-'
    
    >--+----------------------------------------------------+------->
       '-,FEAT=--(--+-----+--)------------------------------'
                    +-F1--+
                    +-F2--+
                    +-F3--+
                    +-F4--+
                    +-F5--+
                    +-F6--+
                    +-F7--+
                    +-F8--+
                    +-F9--+
                    '-F10-'
    
    >--+-----------------------------+-----------------------------><
       |               .-PROT---.    |
       '-,OPTIONS=-+-(-+--------+-)--'
                       '-UNPROT-'
    Keywords Description

    NAME

    Physical terminal name.

    COMPT1

    Component type of the terminal.

    • CONSOLE: Console type

    • PRINTER1: Printer type

    FEAT

    Terminal feature.

    • F1…​F10: Specifies a number of user-defined features and tells MFS what these features are.

    OPTIONS

    Communication options related to the terminal.

    • PROT: The terminal is used in protected mode. Blocks messages sent to the terminal. To receive messages, use the PA1 or PA2 key.

    • UNPROT: The terminal is used in an unprotected mode. Messages are sent to the terminal.

5. TRANSACT

Specifies the name and properties of the transaction.

The TRANSACT macro is defined under the APPLCTN macro. One or more TRANSACT macros can be specified under the APPLCTN macro. The transactions use the applications which are set in the upper level macro, APPCLTN.

  • Usage

                          .-,----------------.
                          V                  |
    >>-TRANSACT--CODE=(-----transaction code-+---)------------------>
    
    >--+------------------------------+----------------------------->
       |         .-UC--.              |
       '-,EDIT=(-+-----+-,-+------+-)-'
                 '-ULC-'   '-name-'
    
    >--+------------------------------------------------------+----->
       |            .-MULTSEG-. .-,NONRESPONSE-. .-,1-----.   |
       '-,MSGTYPE=(-+---------+-+--------------+-+--------+-)-'
                    '-SNGLSEG-' '-,RESPONSE----' '-,class-'
    
    >--+-------------------------------------------+---------------->
       |            .-65535-. .-,65535---------.   |
       '-,PROCLIM=(-+-------+-+----------------+-)-'
                    '-count-' '-,limit seconds-'
    
    >--+--------------------------------------------------+--------->
       |         .-1------. .-,1-----. .-,65535-------.   |
       '-,PRTY=(-+--------+-+--------+-+--------------+-)-'
                 '-normal-' '-,limit-' '-,limit count-'
    
    >--+--------------------+--------------------------------------->
       |           .-0----. |
       '-,SEGSIZE=-+------+-'
                   '-size-'
    
    >--+------------------+------+--------------------------+------->
       |          .-NO--. |      |            .-,STRUNC-.   |
       '-,SERIAL=-+-----+-'      '-,SPA=(size-+---------+-)-'
                  '-YES-'                     '-,RTRUNC-'
    >--+----------+-------------------------------------------------><
       '-,WFI-----'
    Keywords Description

    CODE

    Transaction name.

    Multiple transactions with the same properties can be specified.

    EDIT

    Performs preprocessing of the message that will be sent to the transaction.

    • UC: Converts lower case letters of the input message to upper case letters.

    • ULC: Does not cover the lower case letters of the input message.

    • name: Currently not supported. The option exists for future compatibility.

    MSGTYPE

    Transactions' message processing type and class.

    • MULTSEG: Uses multiple segments.

    • SNGLSEG: Uses a single segment. OSI always uses multi-segment so this can be ignored.

    • NONRESPONSE: Send messages when the terminal has not replied after receiving messages.

    • RESPONSE: Cannot sent messages if the terminal has not replied after receiving messages.

    • class: Specifies the transaction class. When omitted, the class of APPLCTN will be used.

    PROCLIM

    Transaction message processing constraints.

    • count: Specifies the maximum number of messages to be processed without reloading, when application programs are loaded. Currently not used in OSI.

    • limit seconds: Specifies the time allowable for the transaction to process a single message. In the mainframe system, the PROCLIM value is applied as cpu time, while it is processed as transaction time in OpenFrame. Therefore, it is multiplied by three times the original amount of time.

    PRTY

    Transaction scheduling priority.

    • normal: Normal priority.

    • limit, limit count: Changes the priority to limit when the number of the enqueued messages to be processed in the transaction is equal to or greater than the limit count. When the number of messages is 0, the priority becomes normal. Currently this option is not supported.

    SEGSIZE

    Maximum segment size.

    SERIAL

    Option to process transaction in serial.

    • YES: Processes the transactions in serial. The program does not simultaneously process multiple dependent regions but runs only one transaction in a single server at a time.

    • NO: Does not process the transaction in serial. The transaction can be simultaneously executed in multiple dependent regions.

    SPA

    Scratch pad area (SPA) size.

    • size: SPA length.

    • STRUNC, RTRUNC: Unused in OSI.

    WFI

    BMP transaction property. Transactions wait and do not end even though there is no data in MQ.

6. TYPE

Specifies the properties of the collection of terminals.

One or more TERMINAL macros can be defined after the TYPE macro. The TYPE macro can accept the option keywords of the TERMINAL macro (except EDIT, LTERM, COMPT, COMPT1~COMPT4). A specified value provides default values for subsequent TERMINAL macro statements.

  • Usage

    >>-TYPE--------------------------------------------------------><

7. COPY

Registers not only the target file specified when running osisdgen, but also the system definitions of other files in the same directory.

The COPY macro requires a file name as a parameter. If the specified file name does not exist in the same directory, it is ignored.

  • Usage

    >>-COPY--filename---------------------------------------------><
  • Example of running osisdgen

    TThis is an example of the case where the TESTCOPY file and TEST0 exist in the same directory and the following COPY macro exists in TESTCOPY.

    ...
    COPY TEST0
    ...
    $ osisdgen -d TESTCOPY IMSA
    [2020-12-30T10:30:32.438748] [osisdgen(5733)          ] [M] [OSI7203M] Processing result : Success[43], Ignore[0], Error[0]
    =================================
    Copy sd file TEST0
    =================================
    [2020-12-30T10:30:32.474049] [osisdgen(5739)          ] [M] [OSI7203M] Processing result : Success[4], Ignore[0], Error[0]