SYNLVL (Synchronization Level) keyword for ICF files

Use this file- and record-level keyword to specify the level of synchronization your program requires.

The SYNLVL keyword is valid only when the EVOKE keyword is in effect.

The format of the keyword is:
SYNLVL[(*NONE | *CONFIRM | *COMMIT)]

Specify *NONE when neither your program nor the remote program will use the CONFIRM keyword. Specify *CONFIRM if either your program or the remote program will use the CONFIRM keyword.

Specify *COMMIT to indicate that the local program may use the local system's commitment control support using the PRPCMT keyword or the commit and rollback operations. The CONFIRM keyword is allowed for the *COMMIT level conversations.

If the SYNLVL(*NONE) keyword is specified when the program is evoked, the CONFIRM keyword cannot be specified.

An EVOKE keyword must apply for any record for which this keyword applies.

You cannot specify SYNLVL with the TIMER keyword.

Option indicators are valid for this keyword and are required if this keyword is specified on more than one record format in the file.

Example

The following example shows how to specify the SYNLVL keyword.

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A          R RCD
00020A                                      EVOKE(LIBRARY1/PROGRAM1)
00030A                                      SYNLVL(*CONFIRM)
     A

The EVOKE keyword will start PROGRAM1 in LIBRARY1 on the remote system. The SYNLVL keyword will set up a synchronization level that will confirm whether the data was received. When you request a confirmation (specify the CONFIRM keyword), the remote program must acknowledge whether it received the data by sending a positive or negative response.