Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Input formatting with partial formats (BS2000 systems)

The terminal user can enter data in the partial formats, but is not required to enter data in every one.

Since openUTM passes all variable fields, after the INIT call the KCRMF/kcrfn field contains the name of the first partial format containing variable fields. After the MGET call KCRMF/kcrfn contains the name of the next partial format with variable fields. After the last partial format with variable fields has been read KCMF = KCRMF (kcfn=kcrfn). If you try to read another partial format, although the message has already been entirely read, openUTM responds with the return code 10Z.

Example

In the preceding program unit run there was an MPUT output with the 3 partial formats: PARFOR1, PARFOR2, PARFOR3; variable fields are present only in PARFOR1, PARFOR2

KDCS call:

Returned by openUTM:

INIT


KCRMF = PARFOR1

MGET

KCMF = PARFOR1
KCLA = ...

KCRMF = PARFOR2
KCRCCC = 000
KCRLM = ...
Data in message area

MGET

KCMF = PARFOR3
KCLA = ...

KCRMF = PARFOR2
KCRCCC = 03Z (as KCMF contains a value other than that returned in KCRMF by the preceding MGET
KCRLM = 0

MGET

KCMF = PARFOR2
KCLA = ...

KCRMF = PARFOR2
KCRCCC = 000
KCRLM = ...
Data in message area

MGET

KCMF = ...
KCLA = ...

KCRMF = PARFORF2
KCRCCC = 10Z
KCRLM = 0

Entering a format consisting of multiple partial formats to start a service

If you want to start a service by entering a format consisting of multiple partial formats you can use the first variable field of the first partial format to specify the transaction code (for other options, see "Using partial formats (BS2000 systems)".
openUTM then automatically separates the field with the transaction code from the
message: for *formats the first 8 characters (transaction code) are removed in the first partial format, for +formats the first 10 characters (attribute field and transaction code). The other partial formats remain unchanged.

An asynchronous service can also be started using a format consisting of multiple partial formats which was output at the end of a dialog service. The asynchronous program must be written in the same way as the dialog version: the INIT call provides the name of the first partial formats with variable fields in KCRMF/kcrfn. Using FGET the program can retrieve the input data from this partial format. In the case of an empty input message (transaction code without data), the FGET call returns 10Z to the program unit.