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]