When multiple storage locations which are administered by different ROBAR-SV instances exist, the LOCATION
operand should always be specified in the ROBAR-SDF statements with reference to a location. Otherwise each ROBAR-SV instance would attempt to execute the statement. This can lead to incorrect results and an inconsistent archive. Furthermore, MAREN is placed in an inconsistent state.
To prevent this, you must also modify the ROBAR rule files (RRFs) so that the ROBAR-SDF statements can be processed as required. The aim is to ensure that outstanding ROBAR-SDF requests are processed only by the ROBAR-SV instance for which they are intended. The ROBAR-SV instance is identified by means of the LOCATION
operand.
Details on the ROBAR rule files are provided in chapter "ROBAR rule files".
There are a number of appropriate entries in the message_file
and message_xref
ROBAR rule files for all messages received from ROBAR-CL-SDF that originate in a statement containing the LOCATION
operand. The appropriate entry is determined with the aid of the specified value for LOCATION
.
The first entry in the
message_file
ROBAR rule file refers to the storage location name of the current ROBAR-SV instance. The value for the storage location is initiallyllllllll
.The entry is selected when the user explicitly specifies the storage location of this ROBAR-SV instance in the ROBAR-CL-SDF statement.
ExampleThe storage location is
ROBABBA1
. The following statement is entered://SHOW-ROBAR-VOLUME LOCATION=ROBABBA1.
The messageROB1050
is displayed on the console.This leads to the following entry being processed in the RRF file
message_file
::*:MF360: ?ROB1050 *ALL *ALL llllllll hhh
Entry if no storage location was specified for the ROBAR-CL-SDF statement (
LOCATION=*NOT-SPECIFIED
).
ExampleSHOW-ROBAR-VOLUME
This leads to the following entry being processed in the RRF file
message_file
::*:MF361: ?ROB1050 *ALL *ALL *NO hhh
Entry if a further ROBAR instance is connected to the BS2000 system. This ROBAR instance corresponds to another storage location which must be entered in the RRF file
message_file
.The ROBAR rule file
message_xref
contains theWAIT 0
code for that purpose, i.e. the current ROBAR-SV instance does not have to become active, because another instance of ROBAR-SV is handling the message.
ExampleSHOW-ROBAR-VOLUME LOCATION=ROBABBA2
The following entry in the RRF file
message_file
is processed after the valueLOCATION
of the RRF file supplied has been replaced byROBABBA2
before the ROBAR-SV instance starts::*:MF362: ?ROB1050 *ALL *ALL ROBABBA2
If further ROBAR-SV instances are connected to the BS2000 system, further entries must be generated in the RRF file
message_file
with the corresponding entries in the RRF filemessage_xref
, e.g.::*:MF363: ?ROB1050 *ALL *ALL AILLEURS :*:MF364: ?ROB1050 *ALL *ALL PATOUCHE ...
In this case the corresponding entries must be made in the RRF file
message_xref
, e.g.::*:MF363 MR200 (WAIT 0) :*:MF364 MR200 (WAIT 0) ...
Entry if a non-existent location is specified. This entry may be activated only in one of the ROBAR instances involved so that only one ROBAR-SV instance responds to the message (in the negative).
ExampleSHOW-ROBAR-VOLUME LOCATION=WRONGLOC
This leads to the following entry being processed in the RRF file
message_file
::*:MF36Z: ?ROB1050 *ALL *ALL /
By default, the entries are configured in the ROBAR rule file for just one ROBAR-SV instance. I.e. the first, the second and the last entry are activated in message_file
. The entry for a further ROBAR instance exists as a comment.
Example
:*:MF360: ?ROB1050 *ALL *ALL llllllll hhh :*:MF361: ?ROB1050 *ALL *ALL *NO hhh /*:MF362: ?ROB1050 *ALL *ALL LOCATION :*:MF36Z: ?ROB1050 *ALL *ALL /
If you are using several ROBAR instances, observe the following:
The entry for further ROBAR instances (in the example
MF362
) has to be activated by removing the comment characters. The termLOCATION
has to be replaced by the actual name of the storage location of the additional ROBAR instance.The entry for storage locations that are not specified (
*NO
, in the exampleMF361
) has to be deactivated.If further ROBAR-SV instances are connected to the BS2000 system, further entries must be generated in the RRF file
message_file
with the corresponding entries in the RRF filemessage_xref
.The last entry may only be activated in one ROBAR-SV instance. It has to be deactivated in all other instances.
All entries contained in the ROBAR rule file message_file
for ROBAR-CL-SDF statements referring to a storage location have to be adjusted. This applies to the following entries in the standard ROBAR rule file:
MF33x (//EXPORT-ROBAR-VOLUME KEEP-POSITION=*NO) MF34x (//EXPORT-ROBAR-VOLUME KEEP-POSITION=*YES) MF35x (//IMPORT-ROBAR-VOLUME)
This example illustrates on the basis of MF36x
entries which adjustments have to be made in the message_file
ROBAR rule file.
Example for two storage locations
One ROBAR-SV instance exists for each of the storage locations ROBABBA1
and ROBABBA2
. The relevant message_file
looks like this for the SHOW-ROBAR-VOLUME
statement:
First ROBAR-SV instance wtih storage position
ROBABBA1
:*:MF360: ?ROB1050 *ALL *ALL llllllll hhh /*:MF361: ?ROB1050 *ALL *ALL *NO hhh :*:MF362: ?ROB1050 *ALL *ALL ROBABBA2 :*:MF36Z: ?ROB1050 *ALL *ALL /
Since several ROBAR-SV instances exist,
LOCATION=*NOT-SPECIFIED
is not allowed. Consequently, the entryMF361
has been deactivated.The entry
MF362
has been activated by replacing the leading/
by:
and by replacingLOCATION
byROBABBA2
(storage location of the other ROBAR-SV instance).
Second ROBAR-SV instance with storage position
ROBABBA2
:*:MF360: ?ROB1050 *ALL *ALL llllllll hhh /*:MF361: ?ROB1050 *ALL *ALL *NO hhh :*:MF362: ?ROB1050 *ALL *ALL ROBABBA1 /*:MF36Z: ?ROB1050 *ALL *ALL /
Since several ROBAR-SV instances exist,
LOCATION=*NOT-SPECIFIED
is not allowed. Consequently, the entryMF361
has been deactivated.The entry
MF362
has been activated by replacing the leading/
by:
and by replacingLOCATION
byROBABBA1
(storage location of the other ROBAR-SV instance).The entry
MF36Z
has been deactivated by replacing the leading:
by/
.