HP XP P9000 for Business Continuity Manager Software Reference Guide Abstract This manual is a reference guide to the following program products, known collectively as Business Continuity Manager: HP XP P9000 for Business Continuity Manager Basic and HP XP P9000 for Business Continuity Manager Continuous Access Journal 4x4 Extended CTG.
© Copyright 2007, 2013 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents 1 ISPF panels................................................................................................9 Overview of ISPF panels............................................................................................................9 ISPF panel system.................................................................................................................9 Operating procedures........................................................................................................
Edit Attribute panel...................................................................................................51 Add Route Entry panel..............................................................................................51 Storage System Selection List panel.............................................................................53 Edit Route Entry panel...............................................................................................53 Path Set Selection List Panel........
Volume Query Information (CAA) panel..............................................................................137 Volume Query Information (CAJ) Panel...............................................................................142 Executing YKMAKE..........................................................................................................149 Executing YKSUSPND.......................................................................................................151 Executing YKRESYNC......
YKQEXCTG command......................................................................................................224 YKQHPATH Command.....................................................................................................226 YKQRYDEV Command......................................................................................................227 YKQRYPTH Command......................................................................................................229 YKQUERY Command..........
Specification Format for CSV Files......................................................................................357 Coding Rules..............................................................................................................357 Specification Format for a Pair Information CSV File.........................................................358 Specification format for an EXCTG Information CSV File...................................................
7 Documentation feedback.........................................................................386 A Example of the Scan Results of PPRC Copy Pairs.........................................387 Example of the scan results of PPRC copy pairs.........................................................................387 B Symbols Used in Syntax Explanations........................................................389 Glossary ........................................................................................
1 ISPF panels This chapter explains how to move between ISPF panels and perform operations on them, and the nature and function of displayed items. Unless otherwise specified, the term storage system in this guide refers to the following disk arrays: • HP XP P9500 Disk Array • HP XP24000 Disk Array • HP XP20000 Disk Array The GUI illustrations in this guide were created using a Windows computer with the Internet Explorer browser.
Figure 1 ISPF panel system (1 of 2) Figure 2 ISPF panel system (2 of 2) Operating procedures There is no restriction on the case and type of characters entered.
The maximum length of the entered characters is determined by the length of the input fields. A validation check takes place after input. After entering the data, confirm the entry by pressing Enter. NOTE: During execution of Business Continuity Manager, you must not perform ISPF operations that involve execution of the following: • YKSTART command • Scripts that execute Business Continuity Manager Function keys Function keys, which are common among panels, are described in the following list.
SELECT command Function Actions are set to AC in a panel that displays list items in accordance with the conditions specified by the SELECT command. The SELECT command selects the rows that match the condition and performs the action on them. The command selects these rows not only from the part of the list that is displayed, but from the entire list.
• To select the device for which VSN111 is set to Volser, in the Pair Selection List (Primary) panel, enter the following command: SΔVOLSERΔVSN111ΔS • To select the device for which F310 is set to Devn (the default field name, DEVN, can be omitted), in the Pair Selection List (Primary) panel, enter the following command: SΔDEVNΔF310ΔS • To select the devices for which F310 through F320 are set to Devn (the default field name, DEVN, can be omitted), in the Pair Selection List (Primary) panel, enter the
Note that, on the Exception Message Panel, if you place the cursor on an error code that is within the displayed message, and then execute the ERRCODE command, the details for that error code will be displayed in the Error Code Help Panel. For details on the Exception Message Panel, see “Exception Message Panel” (page 16). Format ERRCODE Commands that can be used on the command line Table 2 (page 14) lists, in alphabetical order by panel name, which commands can be used on the command line.
ISPF settings Setting the position of the command line You can specify whether to position the command line at the top or at the bottom of each panel. To set the position of the command line: 1. Start Business Continuity Manager. Type SETTINGS on the command line, and then press the Enter key. The ISPF Settings panel appears. 2. To display the command line at the top of panels, clear the Command line at bottom check box.
Setting Information panel A Setting Information panel is displayed when F17=DispConf is pressed in the panels where F17=DispConf appears. The following figure shows the Setting Information panel. Setting Information Command ===> HP P9000 for Business Continuity Manager Software Configuration File Prefix . . Local Device Address Domain ID ISPF Log Max . . . . . . . . . Remote DKC Function . . . . . Preset RouteListID . . . . . . Preset Route Label . . . . . . . . . . . .
YKZ257E DASD device 733F(FF21) management error. (Message type: 0F Reason code: E3 Error code: 6A13 BF42, cmd=3, pos=HCIOE022) 32 1,2 YKZ257E DASD device 733F(FF21) management error. (Message type: 0F Reason code: E3 Error code: 6A13 BF42, cmd=3, pos=HCIOE022) 32 1,1 ***************************** Bottom of data ****************************** F1=Help F5=ErrCode F7=Backward F8=Forward F12=Cancel Table 4 (page 17) describes the items in the Exception Message panel.
Cancellation Warning panel If an error occurs during a creation or update of the configuration file, and you attempt to cancel the creation or update, the Cancellation Warning panel is displayed and asks if you want to cancel the creation or update. Note, however, that an unusable configuration file might be created. If an update fails, the configuration file before the update might be damaged.
F1=Help F10=PrvsErr F7=Backward F8=Forward F11=NextErr F12=Cancel Table 5 (page 19) lists and describes the items in the Error Code Help panel. Table 5 Items in the Error Code Help panel Item Description Error code For specifying or displaying an error code and the details. Error details Displays the error code details.
F1=Help F12=Cancel Pressing the Enter key overwrites the configuration file. Pressing the F12=Cancel key stops the configuration file from being updated. Capacity Warning panel When refreshing a copy group definition file, if the file contains a copy pair whose P-VOL and S-VOL are different capacities, or the file contains a copy pair for which the capacity of the P-VOL, S-VOL, or both cannot be acquired, then a Capacity Warning panel is displayed, asking you whether you want to refresh the file.
Figure 3 Panel transitions from the Main Menu #: You can sort the items on this panel from the pop-up panel displayed by pressing the F6=Sort key. To display the Main Menu panel: 1. Select 6 Command from the ISPF menu. 2. Enter YKSTART.
Set Defaults panel If any of the following conditions are met, the Set Defaults panel for entering the prefix and Device Address Domain ID is displayed: • No values are set for Configuration File Prefix and Local Device Address Domain ID in the Set Defaults panel. • The prefix that was used the last time Business Continuity Manager was running is specified for an instance of Business Continuity Manager agent with LOCK(PREFIX).
Table 6 Main Menu contents (continued) Item Description 7 Exit Terminates the panel Version Version of Business Continuity Manager When the PF keys are not displayed in the Main Menu panel or the Set Defaults panel, you can display the PF keys by entering the PFSHOW ON command. For information about the Set Defaults panel, see “Set Defaults panel (prefix and DAD ID settings)” (page 27).
Security Setting Information panel When you select 1 Security Setting from the Installation Verification Summary panel, the Security Setting Information panel is displayed. The Security Setting Information panel displays the current RACF profile setting information. The following figure shows the Security Setting Information panel. Security Setting Information Row 1 to 26 of 26 Scroll ===> PAGE Command ===> Facility Class Profiles Query . .
User SVC numbers and versions that have not been acquired are listed as N/A. If a Dynamic registered User SVC exists, the Dynamic registered User SVC will become the Current User SVC. If a Dynamic registered User SVC does not exist and a Static installed User SVC exists, the Static installed User SVC will become the Current User SVC. If the Current User SVC is smaller than the Version of User SVC for this program, then the program will not run properly.
Table 9 Items in the User SVC Information panel (continued) Item Description If no user SVC that was registered dynamically is found, N/A is displayed. Static installed User SVC SVC Number SVC number of the user SVC that was registered statically based on the IEASYMxx parmlib member definition If no user SVC that was registered statically is found, N/A is displayed.
F1=Help F3=Exit F7=Backward F8=Forward F12=Cancel If you press the F8=Forward key again, the remainder of the Host ID Settings Information panel is displayed as follows: Host ID Settings Information Command ===> Scroll ===> PAGE 2013/01/21 19:43:48 Current Host ID . . . . . . . . . : 00 Dynamically Defined Host ID . . . : N/A Statically Defined Host ID . . .
The following figure shows the Set Defaults panel (values in the figure are samples only). Set Defaults Command ===> 2008/03/19 21:21:24 Specify Default Settings More: Configuration File Prefix . . Local Device Address Domain ID ISPF Log Max . . . . . . . . . Remote DKC Function . . . . . Preset RouteListID . . . . . . Preset Route Label . . . . . . . . . . . . . . . . . . + BC DADP 0 N Defaults and Options for Background Jobs SEND Options . . . . . . SER(*) Timeout Hours . . . . . 0 Timeout Minutes .
Table 11 Contents of the Set Defaults panel (continued) Item Description SEND Options Specify options for the YKWATCH command and for the job that outputs the SMS list. Timeout Hours Timeout Minutes Job Name Prefix JCL JOB Statement Specify the JCL of the background job.
NOTE: When entering a DAD ID, remember the following: • Specify the same DAD ID for volumes that can be directly accessed. Business Continuity Manager assumes that volumes with the same DAD ID as the one specified for the Set Defaults panel can be directly accessed. • For BC, the same DAD ID must be specified for P-VOL and S-VOL.
If you enter the dataset name of the license key file that has been transferred to MVS in the License Key Dataset Name field, or enter the key code in the Key Code field, and then press Enter, the license key will be installed. If you entered the value in the License Key Dataset Name field, the license key is then installed from the dataset of the license key file into the license information dataset.
Table 13 Contents of the Discover/Define Configuration panel (continued) Item Description 3 Path Set Definitions Defines the path set 4 Copy Group Definitions Defines the copy group/copy pair For instructions on how to create a configuration file, see the HP XP P9000 for Business Continuity Manager Software User Guide. The configuration file needed to use Business Continuity Manager can be created in the Discover/Define Configuration panel.
2008/01/28 13:54:26 Supported actions: s(Select), d(Delete), r(Remote), e(Edit devn) AC S/N--Device Address Domain ------ Description -------------------14001 * R5L DISCOVERED-REMOTE-STORAGE 14002 % R5NG DISCOVERED-NONGEN-STORAGE 14002 R5P 64050 * R5L DISCOVERED-REMOTE-STORAGE 64051 % R5NG DISCOVERED-NONGEN-STORAGE 64051 R5P ******************************* Bottom of data ******************************** F1=Help F3=Exit F4=Discover F7=Backward F8=Forward F12=Cancel Table 14 (page 33) lists and describ
Scan Device Address Extent panel When you press the F4=Discover key in the Discover HP Storage System panel, the Scan Device Address Extent panel for scanning the volumes of the storage system connected to the host is displayed. The following figure shows the Scan Device Address Extent panel. Scan Device Address Extent Command ===> 2008/03/14 16:42:03 Select one field from among Device Num, Volser, and Non Gen'ed by entering "/".
When the F6=Scan key is pressed after the items in Table 15 (page 34) are specified, volumes are scanned within the specified range. If an invalid character is specified, or if the value specified for Start is greater than the value specified for End, an error message prompts you to re-enter the values. After the local scanning operation, the number of detected volumes is displayed. The new information is displayed in the Discover HP Storage System panel.
F1=Help F3=Exit F7=Backward F8=Forward F12=Cancel Table 17 (page 36) describes the items in the CU Selection List for Remote Storage System panel.
CCA Selection List for Edit devn panel If s is specified in AC in the CU Selection List for Edit devn panel, or if a dummy device number is entered in the Edit Device Number for CU panel, and then Enter is pressed, the CCA Selection List for Edit devn panel is displayed. CCA Selection List for Edit devn panel displays the dummy device number assigned to each volume detected in a remote scan or NG scan. The following figure shows the CCA Selection List for Edit devn panel.
Table 18 Contents of the CCA Selection List for Edit devn panel (continued) Item Description Dummy Devn Dummy device number assigned from the Edit Device Number for CU panel. The value displayed in this column can be modified.
Storage System/DADID Selection List panel When s is specified for AC in the Scan Device Address Extent panel, the Storage System/DADID Selection List panel is displayed. The Storage System/DADID Selection List panel displays storage system serial numbers and DAD IDs that have been NG-scanned. To perform a scan again, select storage system serial numbers and DAD IDs that have been NG-scanned from this panel. The following figure shows the Storage System/DADID Selection List panel.
F1=Help F3=Exit F7=Backward F8=Forward F12=Cancel Table 21 (page 40) lists and describes the items in the Control Unit Selection List panel.
Table 22 (page 41) lists and describes the items in the Command Control Address (CCA) Selection List panel.
Table 23 Contents of the Scan Remote Device Address Extent panel Item Description Remote Device Address Domain Device Address Domain ID of the storage system that will be scanned Storage System S/N Serial number of the storage system that will be scanned Device Address Specify Start and End for the device address (control unit and command control address) range to be remotely scanned.1 Specify the hexadecimal number in ascending order.
Figure 6 Route Config Panel Table 24 (page 43) describes the items in the Route Config panel. Table 24 Contents of the Route Config panel Item Description AC Specify an action. • s: Displays the list of storage systems included in the selected route list. The Route List Information panel appears.1 • d— Deletes the route list ID2 RouteList ID 1 2 Route list ID Route list definition files for the route list IDs that are not selected are also loaded.
When editing the route list definition (APID update, route deletion, or command device definition), the Confirm Route List Edit panel prompts you to confirm the update. For more information on the Confirm Route List Edit panel, see “Confirm Route List Edit Panel” (page 175). If you change the route list definition, and then press F3=Exit to update the route list, the Confirm Configuration File Update panel is displayed.
Figure 9 Route List Information Panel Page 2 Table 25 (page 45) describes the items in the Route List Information panel. Table 25 Contents of the Route List Information panel Item Description Route List ID Route list ID selected in the Route Config panel. AC Specify an action. Actions are not accepted in the AC column for which no storage system is defined. • s: Displays the command devices defined for the specified route. The Command Device Information panel appears.
Command Device Information panel If s is specified for AC in the Route List Information panel, the Command Device Information panel appears. The information about the command device lines and command devices included in the route appears in the Command Device Information panel. Figure 10 (page 46) shows the Command Device Information panel. Figure 10 Command Device Information Panel Page 1 If the list of command devices continues beyond the displayable area, > appears to the right of the header.
Table 26 Contents of the Command Device Information panel (continued) Item Description Leftmost AC Specify an action for the command device line. • e: Changes the route label or APID. The route labels or APIDs of all other command devices in the same command device group as the operation-target command device are also changed.
Figure 12 Define Command Device Panel Table 27 (page 48) describes the items in the Define Command Device panel. Table 27 Contents of the Define Command Device panel Item Description DADID DAD ID to which the devices belong. SN Serial number of the storage system to which the devices belong. Current Selection If a command device has already been defined, information about the already-defined command device appears. If a command device has not been defined, a blank appears for the CU and SSID items.
You can specify the following fields for a sort key of the SORT command: Name of field Sorted by Direction CU Number of the control unit to which the command device belongs Ascending CCA Command control address of the command device Ascending DEVN Device number of the command device Ascending VOLSER Volume serial number of the command device Ascending You can specify the following fields for a condition of the SELECT command: Name of field Value in field Type CU Number of the control unit
Figure 14 Define Remote Command Device Panel Table 29 (page 50) describes the items in the Define Remote Command Device panel. Table 29 Contents of the Define Remote Command Device panel Item Description DADID The Device Address Domain ID to which the device belongs. SN The serial number of the storage system to which the device belongs. Device Address for Command Device SSID Specify the SSID of the command device to be assigned to the storage system as a hexadecimal number.
Table 30 Contents of the Add Attribute panel Item Description Label Specify a route label for the command device line by using no more than 8 alphanumeric characters. The specification of the route label is optional. APID Specify an APID for the command device. Use a 4-digit hexadecimal number (0000 to FFFF). The specified value must be unique in the storage system.
Figure 17 Add Route Entry Panel In the selection field, specify a relevant value based on the status of the storage system to be added. How to specify the storage system varies depending on the value specified in the selection field. The following table describes the values to specify in the selection field and how to specify a storage system.
Storage System Selection List panel In the Add Route Entry or Edit Route Entry panel, if you specify 1 in the selection field and then press the Enter key, the Storage System Selection List panel appears. The serial numbers and Device Address Domain IDs of storage systems appear in the Storage System Selection List panel. Figure 18 (page 53) shows the Storage System Selection List panel.
Figure 19 Edit Route Entry Panel In the selection field, specify a relevant value based on the status of the storage system whose information is to be updated. How to specify the storage system varies depending on the value specified in the selection field. The following table describes the values to specify in the selection field and how to specify the storage system.
Figure 20 (page 55) shows the transition of the operation panel starting from the Path Set Selection List panel. Figure 20 Panel Transitions from the Path Set Selection #1: Pressing the F6=Sort key sorts items on the panel. #2: If CU is specified in Type on the Edit Logical Path Definition panel, the Select SSID panel is displayed. Figure 21 (page 55) shows the Path Set Selection List panel.
Table 35 Contents of the Path Set Selection List Panel Item Description AC Specify an action. • e— Displays the Path Set Detail panel used to load a path set definition file • d— Deletes a path set definition file When actions are entered in multiple AC columns, each is processed in the order displayed. Path Set ID Path set ID Description A description of the path set Add Path Set Panel When you press F5=Add in the Path Set Selection List panel, the Add Path Set panel is displayed.
Table 36 Contents of the Path Set Detail Panel Item Description Path Set ID Path set ID Description A description of the path set (can be edited) AC Specify an action. • e— Displays the Edit Logical Path Definition panel used to display or edit a logical path.
Figure 24 Edit Logical Path Definition Panel Table 37 (page 58) describes the items in the Edit Logical Path Definition panel. Table 37 Contents of the Edit Logical Path Definition Panel Item Description Path Set ID Path set ID Description A description of the path set Type Type of path • CU: Inter-CU logical path • DKC: Inter-DKC logical path SHR Shared attributes for path (modifiable). • Y— This path has shared attributes.
Table 37 Contents of the Edit Logical Path Definition Panel (continued) Item Description Model Secondary storage system model (modifiable) IFType Secondary interface version (modifiable) PathID Specify the secondary path group ID (path group ID in the reverse direction). Specify this item only for the inter-DKC logical path. If this item is omitted for the inter-DKC logical path, 00 is assumed.
NOTE: When Type is DKC, make sure that you enter the values for S/N, Model, and IFType. PathID can be omitted. If PathID is not specified, 00 (hexadecimal number) is the default. If the storage system is directly connected to the host, by entering values in CU and CCA, you can specify the device to which I/O is issued during operations on the paths. You do not need to specify SSID. When Type is CU, make sure that you enter the values for S/N, Model, IFType, CU, and SSID.
Figure 25 Select Storage System Panel Table 40 (page 61) describes the items in the Select Storage System panel. Table 40 Contents of the Select Storage System Panel Item Description AC Specify an action. s— Displays the Select SSID panel used to load a disk configuration definition file. When actions are entered in multiple AC columns, the top line is selected.
Table 41 Contents of the Select SSID Panel Item Description AC Specify an action: s: Selects a CU and SSID. When actions are entered in multiple AC columns, the top line is specified. CU CU number SSID SSID In the initial state, the information is displayed in ascending order by EBCDIC codes in CU. Edit Port Definition Panel If e is specified in AC in the Edit Logical Path Definition panel, the Edit Port Definition panel is displayed to edit physical paths.
Table 42 Contents of the Edit Port Definition Panel (continued) Item Description CU Secondary CU number SSID Secondary SSID AC Specify an action. d— Deletes a physical path. When actions are entered in multiple AC columns, each is processed in the order displayed.
Figure 29 Sort Logical Paths in Path Set Panel Table 44 (page 64) describes the items in the Sort Logical Paths in the Path Set panel. Table 44 Contents of the Sort Logical Paths in the Path Set Panel Item Description Priority Specify a number representing the position of this path according to the order of its sort key as in the sort-key column. sort-key Sort key for sorting logical paths within the path set.
Figure 30 Panel Transitions for the Copy Group Selection List Panel (Add Copy Group) #1: If you press F5=Add, the Copy Group Detail Definition panel is displayed, and the Add Copy Group panel is displayed on top of that panel. #2: If you press F12=Cancel, the Add Copy Group panel and the Copy Group Detail Definition panel close. #3: Pressing F6=Sort sorts items on the panel.
Figure 31 Panel Transition for the Copy Group Selection List Panel (Browse Copy Group Information) #: Pressing the F6=Sort key sorts items on the panel. Figure 32 (page 66) shows the panel transition when e is specified for AC in the Copy Group Selection List panel. Figure 32 Panel Transition from the Copy Group Selection List Panel (Update Copy Group) #1: The displayed panel changes if the specification for whether to make the copy group a CG container (Use Container check box) is changed.
Figure 33 Copy Group Selection List Panel Table 45 (page 67) describes the items in the Copy Group Selection List panel. Table 45 Contents of the Copy Group Selection List Panel Item Description AC Specify an action. • b1: Displays a copy group. If the copy group is not a CG container, the Browse Copy Group Pair Detail panel is displayed. If the copy group is a CG container, the Browse Copy Group Detail Definition panel is displayed. • e1: Edits a copy group. .
C/T ID Attributes panel appears. In this panel, you can define a consistency group ID. If you enter a new copy group ID in the Add Copy Group panel and press the F12=Cancel key, display returns to the Copy Group Selection List panel, and no new copy group is registered. Figure 34 (page 68) shows the Add Copy Group pop-up) panel. Figure 34 Add Copy Group Panel Table 46 (page 68) describes the items in the Add Copy Group panel.
The following figure shows the Copy Group Detail Definition panel. Copy Group Detail Definition Row 1 to 1 of 1 Scroll ===> PAGE Command ===> 2008/03/04 10:59:06 Copy Group Type : UR Copy Group ID : GRP1UR2 Description . . . . . . . . . . . . . COPY GROUP 5 Primary Device Address Domain . . . : SF Secondary Device Address Domain . .
Table 47 Items in the Copy Group Detail Definition panel (continued) Item Description When effective AC Specify an action. N/A • e: Edits a copy pair in the copy group. This setting displays the Copy Group Pair Detail panel (this setting can be specified only in the Copy Group Detail Definition panel). • d: Deletes a copy group (this setting can be specified only in the Copy Group Detail Definition panel). • s: Displays a copy pair in the copy group.
1 Unless all volumes are SIMPLEX, execution might not be executed properly. 2 Even if you disable EXCTG in the definition, it is not actually disabled on the DKC until the YKMAKE command is re-executed. Before changing the definition, execute the YKDELETE command to dissolve the copy group. If you press the F5=Add key in the Copy Group Detail Definition panel, the Copy Group Pair Detail panel (in which the copy pair is not defined) is displayed, and then the Setting C/T ID Attributes panel appears .
Table 48 Panel displayed for each combination (continued) Copy type CG Container? 1 CAA CAJ 1 Displayed panel No Copy Group Attributes (CA) Yes Copy Group Attributes For Container (CAA) No Copy Group Attributes (CAA) Yes Copy Group Attributes For Container (CAJ) No Copy Group Attributes (CAJ) Including when no C/T group ID is specified.
Figure 38 Copy Group Attributes (CA) Panel (for CA Copy Groups that are not CG Containers) Figure 39 Copy Group Attributes For Container (CAA) Panel (for CAA Copy Groups that are CG Containers) Figure 40 Copy Group Attributes (CAA) Panel (for CAA Copy Groups that are not CG Containers) Figure 41 Copy Group Attributes For Container (CAJ) Panel (for CAJ Copy Groups that are CG Containers) Discover/Define Configuration panel (configuration file definition) 73
Figure 42 Copy Group Attributes (CAJ) Panel (for CAJ Copy Groups that are not CG Containers) Table 49 (page 74) describes the items in the Copy Group Attributes panel. Note that if you change any of these items, the change does not take effect until the next time you perform an operation on the copy pair after reloading it by using the YKLOAD command. The table shows when a change made to the copy group attribute definition takes effect.
Table 49 Contents of the Copy Group Attributes Panel (continued) Item Description Copy type When effective Specify a value between OO and FF. NOTE: For configurations that use delta resync, specify the same value for both the CAJ copy pair and the CAJ copy pair for delta resync. Path ID Specify the path group ID. Specify a value between 00 and FF. CAJ When the YKMAKE command is executed.3 MIRROR ID Specify the Mirror ID in the range from 0 to 3 (required for CAJ).
Table 49 Contents of the Copy Group Attributes Panel (continued) Item Description Copy type When effective ERROR LVL Specify the error level that determines whether all of the copy pairs in the same C/T group are suspended (required for TCA and CAJ).
Table 49 Contents of the Copy Group Attributes Panel (continued) Item Description Copy type When effective FLOW CTL Specify the sidefile flow restriction (required for TCA). CAA • When the YKMAKE command is executed • Y: Restricts the flow of host update I/O on the S-VOL depending on the usage amount of the sidefiles. Deterioration of the host’s I/O performance is proportional to the usage amount of the sidefiles. • When the YKRESYNC command is executed.
Table 49 Contents of the Copy Group Attributes Panel (continued) Item Description Copy type When effective when setting an ATTIME suspend time. • NORMAL: Uses the NORMAL ATTIME suspend function. • CAJ(STEADY): Uses the CAJ ATTIME suspend function. The suspension is activated in STEADY mode. • CAJ(QUICK): Uses the CAJ ATTIME suspend function. The suspension is activated in QUICK mode.
Table 49 Contents of the Copy Group Attributes Panel (continued) Item Description Copy type When effective TIMESTAMP Specify whether to transfer the writing timestamp to the S-VOL when the copy type is CA (timestamp transfer mode). CA When the YKMAKE command is executed • Y: Transfers the timestamp to the S-VOL. Specify this item only when you are using the CAJ ATTIME suspend function in a 4x4x4 Cascade configuration or a 3DC Cascade configuration.
Table 50 Default values for each copy type Copy type Default value BC PROT MODE=PERMIT COPY PACE=NORMAL CA Linkage Option=NONE FENCE LVL=NEVER FREEZE SCP=Y PROT MODE=PROTECT COPY PACE=NORMAL TIMESTAMP=N OPEN/MF=N CAA ERROR LVL=GROUP FLOW CTL=Y DIF UNIT=CYL PROT MODE=PROTECT COPY PACE=NORMAL CAJ Path ID=00 MIRROR ID=1 ERROR LVL=GROUP PROT MODE=PROTECT C/T TIME MODE=ASIS If you define a new copy group in the Add Copy Group panel, and you then return to the Copy Group Attributes panel and press the F
“Contents of the Setting C/T ID Attributes Panel” (page 81) describes the items in the Setting C/T ID Attributes panel: Table 51 Contents of the Setting C/T ID Attributes Panel Item Description C/T ID (JNLG) If the copy type is BC, CA, or CAA, • BC specify the C/T group ID (required for • CA CAA). Specify a value between 00 and 7F • CAA (depending on the storage system type).
If you change the definition in the Copy Group Detail Definition panel and press the F3=Exit key, the Confirm Configuration File Update panel appears. For details about the Confirm Configuration File Update panel, see “Confirm Configuration File Update Panel” (page 172). If the configuration file you are trying to update has already been updated by another user, the Confirm Configuration File Update panel is displayed, and then the Update Warning panel is displayed.
Table 52 Contents of the Copy Group Pair Detail Panel (continued) Item Description The rightmost character indicates, as follows, whether the CCA is an external volume. • +: An external volume • -: Not an external volume • (blank): The volume attribute is unknown because it was not requested.
Pair Selection List (Primary) Panel The Pair Selection List (Primary) panel is displayed in the following cases: • If the F5=Add key is pressed in the Copy Group Pair Detail panel, which causes the Pair Selection List (Primary) panel to be displayed on top of the Copy Group Pair Detail panel. • If the F5=Prim key is pressed in the Pair Selection List (Secondary) panel, which causes the Pair Selection List (Primary) panel to be displayed on top of the Pair Selection List (Secondary) panel.
Table 53 Contents of the Pair Selection List (Primary) Panel (continued) Item Description CCA The two leftmost digits indicate the device CCA (in hexadecimal) The rightmost digit indicates whether the CCA is an external volume.
Table 55 Contents of the Import SMS Storage Group Panel (continued) Item Description If this is the same name as the one specified in the SMS Storage Group Name column, this is optional. The SMS storage group is read when you press the Enter key after entering an SMS storage group name in the SMS Storage Group Name column.
Figure 48 Pair Selection List (Secondary) Panel “Contents of the Pair Selection List (Secondary) Panel” (page 87) describes the items in the Pair Selection List (Secondary) panel. Table 56 Contents of the Pair Selection List (Secondary) Panel Item Description Devn1 If the copy pairs to be specified are indicated by device numbers, select this item, and then specify the device number range for the copy pairs you want to select (as ascending hexadecimal numbers).
You can specify the following fields for a condition of the SELECT command: Name of field Value in field Type DEVN Device Number Hexadecimal VOLSER Volume serial number Character string If you omit the field name, DEVN will be set as a default value. Sort Copy Group Container Panel If you press the F6=Sort key in the Copy Group Detail Definition panel, the Sort Copy Group Container panel for specifying the sorting order for the CG container is displayed.
Figure 50 Sort the Copy Group Pairs List Panel In the Sort the Copy Group Pairs List panel, you can select the sorting order from the following items. Item Description 1. Primary Device Number The order of P-VOL device numbers. 2. Primary Volume Serial Number The order of primary volume serial numbers. 3. Secondary Device Number The order of S-VOL device numbers. 4. Cylinder The order of the comparison results of the P-VOL and SVOL capacities.
Table 57 Contents of the Scan Copy Pair Inside Storage System Panel Item Device Address Domain Description Primary Specify the Device Address Domain ID to which the P-VOL of the PPRC copy pairs to be scanned belong (required). Use no more than 28 alphanumeric characters. If the specification exceeds 8 characters, place a period every 8 characters. Hyphens cannot be specified. Secondary Specify the Device Address Domain ID of the S-VOL of the PPRC copy pairs to be scanned belong (required for CA or CAA).
Table 57 Contents of the Scan Copy Pair Inside Storage System Panel (continued) Item Description are enabled. PPRC copy pairs for which UCBHSWAP is set to ON are not defined in the CA copy group definition file. • NOCHECK: Does not check whether HyperSwap is enabled for the detected PPRC copy pairs. All detected copy pairs, even if HyperSwaps are enabled for them, are defined as CA copy groups without the HyperSwap attribute. The initial display is NOCHECK.
Command ===> Scroll ===> PAGE 2008/03/11 18:43:30 Copy Group Type : CAJ Copy Group ID : SAMP.CAJ Description . . . . . . . . . . . . : CAJ COPY GROUP Primary Device Address Domain . . . : DADP Secondary Device Address Domain . .
Manage Route Panel (Route Management) The Manage Route panel to operate the routes is displayed when 4 Manage Route is selected in the Main Menu panel. Figure 53 (page 93) shows the transition of the operation panel starting from the Manage Route panel. Figure 53 Panel Transitions from the Manage Route Panel The Manage Route panel is shown in Figure 54 (page 93). Figure 54 Manage Route Panel “Contents of the Manage Route Panel” (page 93) describes the items in the Manage Route panel.
Figure 55 (page 94) shows the Extra Command Device Direct Operation panel. Figure 55 Extra Command Device Direct Operation Panel Table 59 (page 94) describes the items displayed in the Extra Command Device Direct Operation panel. Table 59 Contents of the Extra Command Device Direct Operation Panel Item Description Route List ID Route list ID selected in the Manage Route panel You can operate command devices on a DAD that includes command devices defined in the displayed route list ID.
Table 59 Contents of the Extra Command Device Direct Operation Panel (continued) Item Description Serial Number Specify the storage system serial number, using 5 digits of alphanumeric characters (required). Devn Use a 4-digit hexadecimal to specify the device number of the command device (required). 1 If the specified action has been aborted, the execution result (RC) is not displayed correctly.
Item SSID F10=DADInfo key F11=CCAInfo key Not displayed CU number CCA Volser Figure 56 (page 96) shows the Route Status panel when the F10=DADInfo key is pressed. Figure 56 Route Status Panel (When the F10=DADInfo Key is Pressed) Figure 57 (page 96) shows the Route Status panel when the F11=CCAInfo key is pressed.
Table 60 (page 97) describes the items in the Route Status panel. Table 60 Contents of the Route Status Panel Item Description Route List ID Route list ID selected in the Manage Route panel. HOST ID Host ID assigned to the local host.2 AC Specify an action. • q: Displays the Command Device Status panel used to execute the YKQRYDEV command to display the command device information that is registered in a storage system.
NOTE: Status displays the execution result of the action specified for AC. If you specify f for AC and execute the action, out of the devices registered in the disk configuration definition file, all command devices that are registered in the storage system are displayed in the Command Device Selection List panel. If you press the F3=Exit key to exit the Command Device Selection List panel, Status in the Route Status panel displays the processing result of a command device information query (Fnd,nn).
Figure 58 Command Device Status Panel (Command Device is Registered) • While it is defined as a command device, it has not been registered to a storage system as a command device (the YKBLDCMD command has not been executed), meanwhile it is also defined as a copy pair.
Table 61 (page 100) describes the items in the Command Device Status panel. Table 61 Contents of the Command Device Status Panel Item Description Model Model of the storage system to which the specified volume belongs1 uCODE Microcode information for the storage system to which the specified volume belongs.1 IFType Interface version of the storage system to which the specified volume belongs.1 S/N Serial number of the storage system to which the specified volume belongs.
Executing YKBLDCMD When b is specified in the AC column in the Route Status panel, the YKBLDCMD command is executed to register a command device to storage system. The Confirm Command Device Build panel (see “Confirm Command Device Build Panel” (page 167)) will be displayed. When registering a command device, perform the settings in order, starting from the primary site and progressing towards the more distant site (in the order in which they are defined in the route list).
NOTE: • If you are using the HP XP1024/XP128 Disk Array, take the target command device offline before executing the YKDELCMD command.
Table 62 Contents of the Command Device Selection List Panel (continued) Item Description • USPV: HP XP24000/XP20000 Disk Array • VSP: HP XP P9500 Disk Array uCode Microcode information IFType Interface version S/N Storage system serial number AC Specify an action. • q: Displays the Command Device Status panel used to display the command device information, which is registered in the storage system. • d: Deletes the command device information, which is registered in the storage system.
Figure 62 Manage Path Set Panel Pressing the F11=NextInfo key displays Description. Pressing the F10=PrevInfo key returns to the previous display. Figure 63 (page 104) shows the Manage Path Set panel displayed when the F11=NextInfo key is pressed. Figure 63 Manage Path Set Description Panel Table 63 (page 104) describes the items in the Manage Path Set panel. Table 63 Contents of the Manage Path Set Panel Item Description AC Specify an action. • l: Executes the YKLOAD command and loads a path set.
Table 63 Contents of the Manage Path Set Panel (continued) Item Description • LOADED: Loading the path set was successful. • Action-name SUCCESSFULLY: The action indicated by action-name was successful. • Action-name WARNINGS command-name RC= xx: A warning occurred with the command indicated by command-name, in the action indicated by action-name. • Action-name WITH WARNINGS command-name RC=xx: The command indicated by command-name within the action indicated by action-name generated an error message.
Table 64 Contents of the LOAD Option Panel When Loading a Path Set (continued) Item Description If * is specified, the information for all command devices is loaded regardless of whether they have a route label. If this item is omitted, the information about the command devices with no route label is loaded. For Route List ID displayed in the LOAD Option panel, specify the route list ID of the route list to be loaded (no more than 8 alphanumeric characters). Hyphens cannot be used.
Figure 65 Path Set Status Panel Table 65 (page 107) describes the items in the Path Set Status panel. Table 65 Contents of the Path Set Status Panel Item Description Path Set ID Path set ID Description A description of the path set AC Specify an action. • s: Displays the Logical Path Status panel used to display status details for the logical path. • b: Executes the YKBLDPTH command, and establishes the selected logical path. The execution result is displayed on the same panel.
Table 65 Contents of the Path Set Status Panel (continued) Item Description Dir Direction of the path Secondary SN Secondary storage system serial number ID Path ID of the secondary site When the path type is CU, nothing is displayed. CU Secondary CU number Displays the number of the CU in which a device exists to which the path operation command is issued.
Figure 66 Logical Path Status Panel Table 66 (page 109) describes the items in the Logical Path Status panel. Table 66 Contents of the Logical Path Status Panel Item Description Path Set ID Path set ID Description A description of the path set Type Type of path • CU: Inter-CU logical path • DKC: Inter-DKC logical path Primary S/N Primary storage system serial number PathID Primary path group ID (path group ID in the forward direction) When the path type is CU, nothing is displayed.
Table 66 Contents of the Logical Path Status Panel (continued) Item Description Secondary Secondary port number Status Status of a physical path • NO PATH: No physical path defined. • ESTABLISHED: The physical path has been established. • INIT FAILED: An initialization error has occurred. • TIME OUT: A timeout has occurred. • NO RESOURCES AT PRI: The port at the primary storage system is invalid. • NO RESOURCES AT SEC: The port at the secondary storage system is invalid.
F1=Help F3=Exit F11=NextInfo F12=Cancel F6=Sort F7=Backward F8=Forward F10=PrevInfo Pressing the F11=NextInfo key displays Description. Pressing the F10=PrevInfo key returns to the previous display. The following figure shows the Manage Copy Groups panel when the F11=NextInfo key is pressed.
Table 67 Contents of the Manage Copy Groups Panel (continued) Item Description • SUSPEND ERRORS. YKSUSPND RC = xx: suspending of a copy pair failed. • SUSPENDING: suspending of a copy pair requested. • RESYNC ERRORS. YKRESYNC RC = xx: synchronizing of a copy pair failed. • RESYNC PENDING: pending of the synchronizing of a copy pair requested. • QUERY ERRORS. YKQUERY RC = xx: acquiring a copy pair status failed. • QUERY ERRORS. YKEWAIT RC = xx: acquiring a copy pair status failed.
NOTE: Status displays the execution result of the action specified for AC. If you specify q for AC, the YKQUERY command is executed and the Copy Group Status Summary panel is displayed. After you finish operations, such as executing the YKMAKE command for each copy pair in the Copy Group Pair Status panel, and then return to the Manage Copy Groups panel, Status displays the execution result of the YKQUERY command. You can use the LOCATE, SELECT, and SORT commands in the Manage Copy Groups panel.
The following figure shows the LOAD Option panel for loading copy groups. LOAD Option Command ===> Specify load option: Copy Group ID : UR Route List ID . . Route Label . . . F1=Help F12=Cancel Table 68 (page 114) describes the items in the LOAD Option panel. Table 68 Contents of the LOAD Option Panel When Loading Copy Groups Item Description Copy Group ID Copy group ID. Route List ID Specify the route list ID. Route Label Specify the route label.
individual copy pair statuses within a copy group, is displayed. When v is specified in AC, the YKQUERY command that includes the specified VERIFY parameter is executed and the copy group configuration is checked. When q is specified, the execution results of the YKQUERY command are displayed. When f is specified, the execution results of the YKEWAIT command with the TIMEOUT(0) parameter specified are displayed.
Reverse Resync: V-Split: Invalid State: F1=Help 0 0 0 | | | F3=Exit Suspend: In Transition: No Delta: F4=Refresh 0 0 0 | | | F5=Storage Suspend by CU: Swapping: 0 0 F6=Pairs “Contents of the Copy Group Status Summary panel” (page 116) describes the items in the Copy Group Status Summary panel. Table 69 Contents of the Copy Group Status Summary panel Item Description Copy Group ID Copy group ID Description A description of the copy group Primary Device Addr.
2 The following table shows the proxy C/T delta values that are displayed: Condition Displayed value Copy group container is not EXCTG. Maximum C/T delta value for the entire consistency groups EXCTG Minimum C/T delta value for the entire consistency groups Copy group contains one or more consistency groups for N/A which C/T delta value cannot be acquired (consistency cannot be preserved).
Table 70 Contents of the Copy Group Storage System Summary panel (continued) Item Description Swap Number of copy pairs in the SWAPPING status VSplit Number of copy pairs in the SUSPVS status RvRsc Number of copy pairs in the REVRSY status Simplx Number of copy pairs in the SIMPLEX status SusCU Number of copy pairs in the SUSPCU status Trans Number of copy pairs in the TRANS status (includes the HOLDTRNS status) Error Number of copy pairs in the INVALID status (includes the SUSPER status, HOLD
Table 71 Contents of the CAA Copy Group Performance Statistics panel (continued) Item Description Sec %s RSF C/T Reserved sidefile cache-usage rate for C/T for Pri-SN WPR Tot Write pending rate of Pri-SN RSF Tot Reserved sidefile cache-usage rate for Sec-SN RSF C/T Reserved sidefile cache-usage rate for C/T for Sec-SN WPR Tot Write pending rate for Sec-SN TRANS Kbytes/s TIMERS Data transfer rate between Pri-SN and Sec-SN (KB/s) OFLD min Off-loading timer RCUR min RCU ready timer CPND min
Name of field Sorted by Direction SRSFTOT Sec-SN reserved sidefile cache-usage rate Ascending SRSFCT Sec-SN reserved sidefile cache-usage rate for CT Ascending SWPRTOT Sec-SN write pending rate Ascending TRANS Data transfer rate between Pri-SN and Sec-SN sites (KB/s) Ascending PSN Storage system serial number of the Pri-SN Ascending SSN Storage system serial number of the Sec-SN Ascending Sort CAA Copy Group Statistics Panel In the CAA Copy Group Performance Statistics panel, if you pre
CAJ Copy Group Performance Statistics panel For the CAJ copy type, when the F5=Stats key is pressed in the Copy Group Storage System Summary panel, Continuous Access Journal Z performance information is displayed in the CAJ Copy Group Performance Statistics panel. The following figure shows the CAJ Copy Group Performance Statistics panel. CAJ Copy Group Performance Statistics Command ===> Row 1 to 1 of 1 Scroll ===> PAGE 2012/03/23 14:20:16 Current Time . . . . . . . . .
Table 72 Contents of the CAJ Copy Group Performance Statistics panel (continued) Item Description • STOP: Data transfer has stopped, as for example if all volumes in a journal group have been suspended. • N/A: Operating information could not be obtained. Pri %s Sec %s JNL-VOL JNL-VOL MET Journal group metadata usage rate for Pri-SN. The percentage used of the Journal Metadata capacity available in the Journal Volume(s) registered to M-JNL.
You can specify the following fields for a sort key of the SORT command: Name of field Sorted by Direction CTID Consistency group ID of the primary journal group in the copy group definition file Ascending SUBCTID Consistency group ID of the secondary journal group in the copy group definition file Ascending PSN Serial number of the storage system for Pri-SN Ascending SSN Serial number of the storage system for Sec-SN Ascending TRANS Data transfer rate between Pri-SN and Sec-SN (KB/s) Ascend
Item Sort Order 5. Transfer Rate(M-JNL->R-JNL KBytes/s) In order of the data transfer rates between Pri-SN and Sec-SN (KB/s) 6. JNL-Vol Usage Rate for M-Metadata Metadata usage rate of the journal group for Pri-SN 7. JNL-Vol Usage Rate for R-Metadata Metadata usage rate of the journal group for Sec-SN 8. JNL-Vol Usage Rate for M-JNL Data Journal data usage rate of the journal group for Pri-SN 9. JNL-Vol Usage Rate for R-JNL Data Jounal data usage rate of the journal group for Sec-SN 10.
Table 73 Contents of the Copy Group Pair Status panel (continued) Item Description • r: Executes the YKRESYNC command to re-synchronize copy pairs. See “Executing YKRESYNC” (page 156). • d: Executes the YKDELETE command to dissolve copy pairs. See “Executing YKDELETE” (page 159).1 • c: Executes the YKRECVER command to dissolve copy pairs from the secondary site. See “Executing YKRECVER” (page 162).
1 If you perform operations for a copy group belonging to a pair dissolved on a copy pair basis, by the time the copy pair is remade, be sure to specify the SELECT(COND) parameter. 2 If the correct value could not be acquired from the primary site, 000 is displayed. 3 If f is specified in the Manage Copy Groups panel, N/A is displayed. 4 If the specified action has been aborted, the execution result (RC) is not displayed correctly.
Figure 70 Sort the Copy Group Pairs Status Panel “Sort the Copy Group Pairs Status Panel” (page 127)describes the items in the Sort the Copy Group Pairs Status panel. Table 74 Sort the Copy Group Pairs Status Panel Item Sort Order 1. Copy Pair State The order of the copy pair status 2. Primary Device Number The order of P-VOL device number. 3. Primary Volume Serial Number The order of P-VOL volume serial number. 4. Secondary Device Number The order of S-VOL device number. 5.
Figure 71 Volume query configuration example (BC) Volume Query Information (BC) Command ===> Row 1 to 1 of 1 Scroll ===> PAGE 2012/03/27 16:13:37 Copy Group ID . . . . . . . . . : SI Copy Type(in Configuration): BC Copy Type(from Storage System) : BC ---------- Primary Volume ------------------ Secondary Volume --------SN SSID CU CCA DEVN Status Dir SN SSID CU CCA DEVN Status 53039 000E 08 01 0002- DUPLEX (02) > 53039 000E 08 02 0003- DUPLEX (02) Suspend ATTIME (GMT) : 20120327 07:32:42.
Table 75 Contents of the Volume Query Information (BC) panel (continued) Item Description Nothing is displayed when volume online information cannot be obtained. Status Dir Copy pair status2 Copy direction in the copy pair Always displays > when the Status of the Primary Volume is SIMPLEX. Secondary Volume SN Storage system serial number of the S-VOL at definition SSID SSID of the S-VOL at definition.
Table 75 Contents of the Volume Query Information (BC) panel (continued) Item Description Format of the ATTIME suspend time: YYYYMMDD HH:MM:SS.NNNNNN • YYYY: The year is displayed. • MM: The month is displayed. • DD: The date is displayed. • HH: The hour is displayed. • MM: The minute is displayed. • SS.NNNNNN: The second is displayed. Preset Mode Type of ATTIME suspend function used • CAJ(STEADY): The CAJ ATTIME suspend function is used. The suspension is activated in STEADY mode.
Table 75 Contents of the Volume Query Information (BC) panel (continued) Item Description • ERROR(0002): Since a storage system-derived error occurred, suspend processing for the BC copy pair was abnormally terminated. Contact the storage administrator. • N/A: One of the following conditions applies: ◦ The CAJ ATTIME suspend function is not used. ◦ Suspension of the BC copy pair has not started. ◦ The BC copy pair has been suspended.
Table 75 Contents of the Volume Query Information (BC) panel (continued) Item Description SN • For Primary: storage system serial number for P-VOL of the Copy pair specified in the Copy Group Pair Status panel • For Secondary: storage system serial number for S-VOL of the copy pair specified in the Copy Group Pair Status panel DEVN • For Primary: Device number for P-VOL of the copy pair specified in the Copy Group Pair Status panel • For Secondary: Device number of S-VOL for the copy pair specified in t
NOTE: N/A displays in the Device Information (DEVN) field in the following cases: • When the YKQRYDEV command returns an error • When displaying information about a device of a remote storage system if the route list has not been loaded or the target storage system is not included in the route list • When displaying information about a Non Gen'ed volume, and the route list has not been loaded or the target storage system is not included in the route list.
Table 76 Contents of the Volume Query Information (CA) panel (continued) Item Description Status Dir Copy pair status2 Copy direction in the copy pair Always displays > when the Status of the Primary Volume is SIMPLEX.
Table 76 Contents of the Volume Query Information (CA) panel (continued) Item Description is suspended, updates to P-VOL are accepted. Freeze SCP :4 Freeze the storage system (place in SCP status) when a failure suspension (SUSPER) occurs.5, 1 • Y: Places in SCP status. • N: Does not place in SCP status. If one of the following conditions is satisfied, N/A is displayed: • The consistency group ID is not registered in the storage system. • The Open/MF Consistency Preservation Function is not used.
Table 76 Contents of the Volume Query Information (CA) panel (continued) Item Description SN • For Primary: storage system serial number for the P-VOL of the copy pair specified in the Copy Group Pair Status panel • For Secondary: storage system serial number for the S-VOL of the copy pair specified in the Copy Group Pair Status panel DEVN • For Primary: Device number for P-VOL of the copy pair specified in the Copy Group Pair Status panel • For Secondary: Device number for S-VOL of the copy pair specif
NOTE: In the following cases, N/A is displayed for the device information.
Table 77 Contents of the Volume Query Information (CAA) Panel Item Description Copy Group ID Copy group ID Copy Group Type(in Configuration) Copy group type at definition Copy Group Type(from Storage System) Copy types held by the storage system Primary Volume SN Storage system serial number of the P-VOL at definition SSID SSID of the P-VOL at definition CU CU number of the P-VOL at definition CCA CCA of the P-VOL at definition DEVN Device number of the P-VOL at definition The following vo
Table 77 Contents of the Volume Query Information (CAA) Panel (continued) Item Description Nothing is displayed when volume online information cannot be obtained. Status Copy pair status2 JOURNAL is displayed for the journal volume.3 Suspend ATTIME ATTIME suspend time and ATTIME suspend status On the first line (GMT) : ATTIME-suspend-time-in-GMT - status is displayed.
Table 77 Contents of the Volume Query Information (CAA) Panel (continued) Item Description Consistency Time (GMT) Consistency time • On the first line: (GMT):consistencytime-in-GMT • On the second line: (LOCAL):consistencytime-in-GMT If the consistency time is invalid, N/A is displayed. C/T ID Consistency group ID ERROR LVL Error level4 • VOLUME: When a failure occurs, only the affected volumes are suspended. • GROUP: When a failure occurs, all volumes in the same copy group are suspended.
Table 77 Contents of the Volume Query Information (CAA) Panel (continued) Item Description FLOW CTL Value set for the sidefile inflow limit4 DIF UNIT Units by which differential data is managed4 GEN ID Generation ID Other CopyPair Information5 Primary/Secondary Type The following information is displayed if there are any other copy pairs apart from the one specified in the Copy Group Pair Status panel: • Copy type • Indication of whether it is information on the P-VOL or S-VOL (Pri or Sec) C/T ID
Table 77 Contents of the Volume Query Information (CAA) Panel (continued) Item Description SSID SSID for the volume which makes a copy pair CU CU number of the volume which makes a copy pair CCA CCA of the volume which makes a copy pair DEVN Device number of the volume which makes a copy pair 1 It is not displayed when the YKQRYDEV command has been executed for the HP XP1024/XP128 Disk Array.
Volume Query Information (CAJ) Row 1 to 1 of 1 Scroll ===> PAGE Command ===> 2012/03/27 09:55:08 Copy Group ID . . . . . . . . . : UR Copy Type(in Configuration): CAJ Copy ---------- Primary Volume ---------SN SSID CU CCA DEVN Status Dir 10037 000A 07 0F 0002- DUPLEX (02) > Type(from Storage System) : CAJ --------- Secondary Volume --------SN SSID CU CCA DEVN Status 10007 000C 07 01 1301- DUPLEX (02) Consistency Time (GMT) : 20120327 00:55:06.190322 (LOCAL) : 20120327 09:55:06.
Table 78 Contents of the Volume Query Information (CAJ) panel (continued) Item Description Always displays > when the Status of the Primary Volume is SIMPLEX.
Table 78 Contents of the Volume Query Information (CAJ) panel (continued) Item Description F, R (from Storage System) EXCTG ID that has been registered in a storage system • F: EXCTG ID in the forward direction • R: EXCTG ID in the reverse direction N/A is displayed if EXCTG is not registered, or if the information cannot be obtained.
Table 78 Contents of the Volume Query Information (CAJ) panel (continued) Item Description 1 Other CopyPair Information Primary/Secondary Type The following information is displayed if there are any other copy pairs apart from the one specified in the Copy Group Pair Status panel: • Copy type • Indication of whether it is information on the P-VOL or S-VOL (Pri or Sec) C/T ID Consistency group ID and subconsistency group ID SN • For Primary: storage system serial number of the P-VOL of the copy pair
Table 78 Contents of the Volume Query Information (CAJ) panel (continued) Item Description CCA CCA of the volume that makes a copy pair DEVN Device number of the volume that makes a copy pair 1 Displayed if P-VOL or S-VOL is shared with other copy pairs in the definition (for example, in a 1:n BC copy pair configuration or when S-VOL for CAA is used as P-VOL for BC). 2 MISMATCH might be displayed.
performed in the forward direction. This information is held by the copy source volume and flag1 may have one of the following values: • 0: The journal group has not been registered in a storage system as EXCTG. • 1: The journal group has been registered in a storage system as EXCTG. • N/A: Unable to identify the status.
If the journal group is normally registered in a storage system as EXCTG, the information will be displayed as follows: When the copy is being performed in the forward direction: active(1,1) N/A(N/A,1) When the copy is being performed in the reverse direction: N/A(N/A,1) active(1,1) NOTE: • For flag1 and flag3, information is obtained in the following situations: ◦ For P-VOL ◦ When the CAJ copy pair status is PENDING or DUPLEX If none of these situations apply, N/A is displayed.
Figure 73 BC Copy Group Make Options Panel Figure 74 CA & CAA Copy Group Make Options Panel Figure 75 CAJ Copy Group Make Options Panel “Contents of the Make Options Panel” (page 151) describes the items in the Make Options panel.
Table 79 Contents of the Make Options Panel Item Description Copy Group ID Copy group ID Initial Copy Option Specify the NOCOPY or HOLD parameter of the YKMAKE command. • Full Copy: Makes a copy pair by full copy. • No Copy: Makes a copy pair without copying the volume (the NOCOPY parameter is specified). You can specify the NOCOPY parameter in CA, CAA, and CAJ. • Delta Resync Relation Make: Makes a delta resync pair (the HOLD parameter is specified). You can specify the HOLD parameter in CAJ.
Figure 76 BC Copy Group Suspension Options Panel Figure 77 BC with C/T Copy Group Suspension Options Panel Figure 78 CA Copy Group Suspension Options Panel 152 ISPF panels
Figure 79 CAA Copy Group Suspension Options Panel Figure 80 CAJ Copy Group Suspension Options Panel Displayed from the Manage Copy Groups Panel Figure 81 CAJ Copy Group Suspension Options Panel Displayed from the Copy Group Pair Status Panel “Contents of the Suspension Options Panel” (page 154) describes the items in the Suspension Options panel.
Table 80 Contents of the Suspension Options Panel Item Description Copy Group ID Copy group ID Suspend Option Specify the parameter of the YKSUSPND command by using the number. • Steady: Moves to SUSPOP status after copying data. • Quick: Moves quickly to an SUSPOP status in the BC data copy. • Drain: Suspends after reflecting the unreflected data. • Purge: Suspends, discarding the unreflected data. • Preset: Specifies use of the ATTIME suspend function.
Table 80 Contents of the Suspension Options Panel (continued) Item Description Format of the ATTIME suspend time is as follows: • YYYY: Specify the year (1970 to 2042) • MM: Specify the month (01 to 12) • DD: Specify the date (01 to 31) • HH: Specify the time (00 to 23) • MM: Specify the minute (00 to 59) • SS: Specify the second (00 to 59) • mmmm: Specify the offset value to be added to the ATTIME suspend time in minute (0000 to 1439) • ss: Specify the offset value to be added to the ATTIME suspend time i
The ATTIME parameter can be added or cancelled for BC and TCA copy groups with a consistency group ID. The YKSUSPND command terminates successfully when the instruction to the copy pair succeeded. Even if the command has terminated successfully, make sure that the transition of the copy pair status was performed, using the YKQUERY command or the YKEWAIT command.
Figure 84 CAJ Copy Group Resync Options Panel Displayed from the Manage Copy Groups Panel Figure 85 CAJ Copy Group Resync Options Panel Displayed from the Copy Group Pair Status Panel In the Resync Options panel, if Y is specified in the Overwrite ONLINE target volume and the F3=Exit key is pressed, the Confirm Overwrite ONLINE Target Volume panel is displayed, as shown in “Confirm Overwrite ONLINE Target Volume Panel” (page 173).
Table 81 Contents of the Resync Options Panel (continued) Item Description AS-IS performs differential copying of the copy pairs that are in the suspend status without changing the currently specified copy direction. • Forward: Copies the contents of the P-VOL to the S-VOL. • Reverse: Copies the contents of the S-VOL to the P-VOL. Pair Selection Specify the SELECT parameter (indicating how to select the copy pair to be operated) of YKRESYNC command by using the number.
Table 81 Contents of the Resync Options Panel (continued) Item Description Overwrite ONLINE target volume When the S-VOL is online, specify whether to make or resynchronize a copy pair (default is N): • Y: Makes or resynchronizes the copy pair even if the S-VOL is online. • N: Does not make or resynchronize the copy pair if the S-VOL is online. Update Open/MF Specify whether the CA Open/MF Consistency attribute is to be changed (using the Open/MF Consistency Preservation Function); the default is N.
parameters of the YKWATCH command is displayed. The value is used as a background job for submitting. JCL uses a value indicated in the Set Defaults panel. Figure 86 (page 160) shows the Watch Options panel. Figure 86 Watch Options Panel “Contents of the Watch Options Panel” (page 160) describes the items in the Watch Options panel.
Figure 87 Wait Options Panel (for BC, CA, or CAA) Figure 88 CAJ Copy Group Wait Options Panel “Contents of the Wait Options Panel” (page 161) describes the items in the Wait Options panel. Table 83 Contents of the Wait Options Panel Item Description Copy Group ID Copy group ID Wait transition to Specify the waiting status for the YKEWAIT command by using the number. • Duplex: Waits for the volume to change to the DUPLEX status. • Suspend: Waits for the volume to change to the suspend status.
Table 83 Contents of the Wait Options Panel (continued) Item Description Timeout Minutes Specify the value for the TIMEOUT parameter (timeout value) in minute (0 to 9999). NOINVALIDCHECK Specify whether to specify the NOINVALIDCHECK parameter. • Y: The NOINVALIDCHECK parameter is specified. The detection of invalid statuses is disabled. • N: The NOINVALIDCHECK parameter is not specified. The detection of invalid statuses is enabled.
Table 84 Contents of the Path Set Status of Copy Group Pair Panel (continued) Item Description Primary SN Serial number of the primary storage system ID Primary path group ID (path group ID in the forward direction) When the path type is CU, nothing is displayed.
Table 85 Return codes displayed in the Copy Group Pair Status panel (continued) Return Code Meaning file in use, as well as the actual storage system configuration information and settings. • If the device indicated by Primary Volume/Secondary Volume in the Copy Group Pair Status panel is a remote site, then either the route list is not specified, or the serial number of the storage system to which the device belongs is not registered in the route list specified for the YKLOAD command.
Table 86 Contents of the Logical Path Status of Copy Group Pair Panel (continued) Item Secondary Description SSID Primary SSID S/N Secondary storage system serial number PathID Secondary path group ID (path group ID in the reverse direction) When the path type is CU, nothing is displayed.
Table 87 Contents of the EXCTG Information panel (continued) Item Description EXCTG Consistency Time (GMT) EXCTG consistency time (in GMT) acquired from the supervisor DKC. If the EXCTG consistency time cannot be acquired, N/A is displayed. EXCTG Consistency Time (LOCAL) EXCTG consistency time (in local time) acquired from the supervisor DKC. If the EXCTG consistency time cannot be acquired, N/A is displayed.
Confirm Execution Recover Panel If c is specified in AC in the Manage Copy Groups panel, the Confirm Execution Recover panel is displayed, prompting you to confirm whether the copy pair is dissolved. The following figure shows the Confirm Execution Recover panel. Confirm Execution Recover Command ===> ___________________________________________________________________________ Confirm that you want to execute the requested copy group operation.
Figure 90 Confirm Command Device Build Panel “Contents of the Confirm Command Device Build Panel” (page 168)describes the items in the Confirm Command Device Build panel. Table 90 Contents of the Confirm Command Device Build Panel Item Description Route List ID Route list ID APID APID Serial Number Selected storage system serial number Set command device build Specify whether to display the Confirm Command Device confirmation off Build panel.
Figure 91 Confirm Cancellation of Changes Panel Pressing the Enter key cancels the update of the configuration file. Pressing the F12=Cancel key continues processing while keeping the update of the configuration file. Confirm Cancellation of Editing Panel When you attempt to cancel an update of the copy pair definition file or path set definition file, the Confirm Cancellation of Editing panel is displayed asking you whether you want to cancel the update.
Figure 93 Confirm Command Device Delete Panel (displayed from Route Status Panel) “Contents of the Confirm Command Device Delete Panel (displayed from Route Status Panel)” (page 170) describes the items in the Confirm Command Device Delete panel.
Figure 94 Confirm Command Device Delete Panel (Displayed from Extra Command Device Direct Operation Panel) “Contents of the Confirm Command Device Delete Panel (displayed from Extra Command Device Direct Operation Panel)” (page 171) lists the items displayed in the Confirm Command Device Delete panel.
The following figure shows the Confirm Configuration File Delete panel. Confirm Configuration File Delete Command ===> ___________________________________________________________ You have requested the deletion of the following file: BCM.GRP.SI Are you sure you want to delete the file? _ Yes, delete the file Instructions: Press ENTER key to delete the file. Press CANCEL to cancel this operation.
When you execute c in the Manage Path Set panel, pressing the Enter key updates the file, and pressing the F12=Cancel key cancels the updating of the file. However, after an error occurred during an update of the configuration file, if you press the F12=Cancel key, the Cancellation Warning panel is displayed.
This panel provides a warning that the contents of the online target volume (S-VOL) will be overwritten when the YKMAKE or YKRESYNC command is executed. Specifying / for Yes, perform this operation and pressing the Enter key overwrites the contents of the online target volume (S-VOL). Pressing the F12=Cancel key cancels the overwriting of the contents of the online target volume (S-VOL).
Figure 98 Confirm Path Set Load Panel Pressing the Enter key loads the path set. Pressing the F12=Cancel key cancels the loading of the path set. Confirm Route Delete Panel If d is specified for AC in the Route List Information panel, the Confirm Route Delete panel appears to confirm whether to delete the route. Figure 99 (page 175) shows the Confirm Route Delete panel.
Figure 100 Confirm Route List Edit Panel Pressing the Enter key changes the route list definition. Pressing the F12=Cancel key cancels the changes to the route list definition. If Y is specified and the Enter key is pressed, the route list definition is changed. If N is specified and the Enter key is pressed, the route list definition is not changed. N is displayed from the beginning.
The following figure shows the Confirm Open/MF Consistency Group Suspension panel. Confirm Open/MF Consistency Group Suspension Command ===> ________________________________________________ You are attempting to suspend an Open/MF consistency group. With the exception of the case below, when a consistency group is suspended, all open-volume copy pairs in the group are also suspended.
2 CLI Commands This chapter describes the functions of the commands available in the CLI for Business Continuity Manager. Copy Types and Targets for Which Commands Can Be Executed This section explains the copy types and targets for which commands can be executed. Each command has certain copy types and targets that it can execute. The copy types and targets for which commands can be executed are indicated below.
Table 95 List of Supported Functions (continued) Command 1 Function YKDROP Drops a REXX variable structure that has been loaded from a script by using the YKLOAD command and then expanded. YKENV Obtains a Business Continuity Manager environment variable and displays it in the TSO/E terminal. YKERCODE Displays storage system sense byte information (error codes) on the TSO/E terminal. YKEWAIT Monitors the copy pair status transition and waits for a certain specified status.
3 The YKWATCH command is a REXX script. 4 The YKWTOMSG command is a REXX function. Configuration Files That Must Be Loaded Before Command Execution Table 96 (page 180) and Table 97 (page 182) show the configuration files that must be loaded before each command is executed. Table 96 (page 180) shows the configuration files that must be loaded in an environment that does not contain a Non Gen'ed volume and where the following conditions exist: • The P-VOL is recognized by the host.
Table 96 Configuration Files That Must Be Loaded Before Command Execution (When the Environment Does Not Contain a Non Gen'ed Volume) (continued) Command name Configuration file that must be loaded Copy group definition file Route list definition file Path set definition file YKQRYDEV -- D3 -- YKQRYPTH -- D1 Y 3, 4 YKQUERY Y D -- YKRECVER Y Y -- YKRESYNC Y D2, 5 -- YKRUN Y Y -- YKSCAN -- -- -- YKSLEEP -- -- -3 YKSTATS Y D -- YKSUSPND Y D2, 5 -- YKWATCH -- -- -
Table 97 Configuration Files That Must Be Loaded Before Command Execution (When the Environment Contains a Non Gen'ed Volume) Command name YKBLDCMD Configuration file that must be loaded Copy group definition file Route list definition file Path set definition file -- Y -- YKBLDPTH -- D Y YKCONMSG -- -- -- YKDELCMD -- Y -- YKDELETE Y D2 -- YKDELPTH -- D1 Y YKERCODE -- -- -2 YKEWAIT Y D -- YKEXPORT -- -- -- YKFCSTAT -- -- -- YKFREEZE Y -- -- YKH2B -- -- --
D: Whether you need to load the configuration file depends on the situation. --: You do not need to load the configuration file. Command details This section describes command details. For details about the syntax symbols used in the explanations, see “Symbols Used in Syntax Explanations” (page 389) YKBLDCMD Command Applies to CMD.
APID(APID) ~ Specify the APID. MSG(stem-name-1) ~ Specify an optional prefix for the name of the message structure used to store the messages to be generated by this command. You must also include a trailing period character. The message structure is initialized when the CLI command with the same name as the MSG parameter is specified. NOTE: • Execute the YKBLDCMD command only once after turning on the storage system.
YKBLDPTH Command Applies to PTH. Format YKBLDPTH 1STEM(stem-name-1) 1MSG(stem-name-2) [ 1PSN(storage system-serial-number)[ [ 1SSN(storage system-serial-number)[ [ 1PTID(path-group-ID)] [ 1{FORWARD|REVERSE}] [ 1TYPE({CU|DKC})] 1PCU(cu-number)]] 1SCU(cu-number)]] Function This command is a TSO/E command called from REXX scripts.
and inter-DKC logical paths will be established such that the paths treat the storage system (that has the serial number specified by this parameter) as the secondary storage system. If neither this parameter nor any other parameters are specified, the command establishes all logical paths.
NOTE: • Before executing the command, create and load the path set definition file. • If a message that contains sense information for the storage system is output, see the list of error codes in the HP XP P9000 for Business Continuity Manager Messages and then eliminate the cause of the error.
Function This command is a TSO/E command called from REXX scripts. This command monitors for the following messages: • IEA494I message Copy status display message that is output to the MVS console • IOSHM0414I message HyperSwap completion message that is output to the MVS console • User-specified message User-specified message that indicates that a HyperSwap has been completed Parameters MSGID({IEA494|IOSHM0414I|user-specified-message-ID}) Specifies the message to be monitored.
HANDLE(X'handle') ~ <8-digit hexadecimal number> Specify the handle to be used to associate this request to an EMCS console interface that has already been established. Specify the value returned in the YKCONMSG OP(OPEN) command's completion message as the handle value. NOTE: • In some configurations such as when BC and CA share volumes or a 1 to n (n is greater than 1) configuration of BC, the status transitions of each copy pair might not be correctly monitored.
Format YKDELCMD { 1SN(storage system-serial-number)| 1SN(storage system-serial-number) 1CU(cu-number) 1DEVN(device-number) 1APID(apid)} 1MSG(stem-name-1) 1CCA(cca-number) 1APID(apid)| Function This command is a TSO/E command called from REXX scripts. The command deletes, from the storage system, the command device that was specified in the route list that was loaded before this command was executed.
NOTE: • For the YKDELCMD command, you need to input the storage system for the Primary site and Secondary site, according to the reverse of the site order defined in the route list. Be sure to perform input in the order of the secondary site and Primary site. • If you delete command devices for a storage system for which multiple command devices have been defined, processing continues even if an error occurs for one or more of the command devices.
Format YKDELETE 1STEM(stem-name-1) 1MSG(stem-name-2) [ 1DEVN(p-vol-device-number,s-vol-device-number)] [ 11SELECT({ALL|COND})] Function This command is a TSO/E command called from REXX scripts. This command dissolves a copy pair for the specified copy group and changes the volume status to the SIMPLEX status. When dissolving copy pairs in an EXCTG container, if all copy pairs are dissolved from a journal group, that journal group will be deleted from the EXCTG.
NOTE: • Do not execute the YKDELETE command during planned outage operation (when switching the P-VOL and S-VOL). To dissolve the copy pair, switch the P-VOL and S-VOL again, return the P-VOL to the primary site (restore normal operation), and then dissolve the copy pair. • When operating the copy groups of a copy pair that was deleted with the DEVN parameter, for the time that the copy pair is being synchronized, be sure to specify the SELECT(COND) parameter.
Table 102 YKDELETE Command Return Code List (continued) Return Code Meaning 44 Terminating due to processing errors. 48 Terminating due to invalid parameters. This return code appears, for example, when the copy pair corresponding to the device number specified with the DEVN parameter is not found. 128 The command terminated abnormally. The user does not have permission to execute this command. YKDELPTH Command Applies to PTH.
PCU(cu-number) ~ <2-digit hexadecimal number> If this parameter is specified, out of the logical paths within the path set stored in the path set structure specified for the STEM parameter, inter-CU logical paths will be deleted in all cases where the CU number of the MCU matches the value specified for this parameter. Inter-DKC logical paths are not affected by this parameter. If neither this parameter nor any other parameters are specified, the command establishes all nonshared inter-CU logical paths.
FORCE If this parameter is specified, of those logical paths that are identified in the path set stored in the path set structure specified by the STEM parameter, the command also deletes the paths that have the shared attribute (those with the value Y assigned to stem-name-specified-in-STEM-parameterPATH.n.Shared). If this parameter is not specified, the command does not delete logical paths that have the shared attribute.
Table 103 YKDELPTH Command Return Code List (continued) Return Code Meaning 32 • I/O errors were encountered. None or only some of the logical paths were deleted. • A change in an I/O configuration definition was detected. 36 • Processing was interrupted because a REXX variable with an invalid value was encountered. None or only some of the logical paths were deleted. • No path to be deleted was found. 40 An error occurred while a REXX variable was being read or written.
For either the GRP or the PTH parameter, specify the prefix of the copy group structure related to the REXX variable structures to be dropped. If you specify the GRP parameter, the REXX variable structures related to the copy group structures will be dropped. If you specify the PTH parameter, the REXX variable structures related to the path set structures will be dropped.
Table 104 YKDROP Command Return Code List (continued) Return code Meaning 1044 An error occurred while a REXX variable was being accessed. • REXX variables loaded via the YKLOAD command cannot be found. • REXX variables loaded via the YKLOAD command are disabled or initialized. • The return code of the IRXEXCOM routine R15 is —2, —1, 28, or 32. 2000 A system error occurred. YKENV Command Format YKENV Function This is a TSO/E command called from REXX scripts.
Table 106 Items Output by the YKENV Command (continued) Output item Description Host ID: Host ID License info DSN prefix: Prefix of the license information dataset. Business Continuity Manager log output method: Business Continuity Manager log output method. • LOGR: The system logger service is used to output the Business Continuity Manager log. • SAM: The Business Continuity Manager log is output to a SAM file CLI log output settings: CLI command-execution log output settings.
YKLCNS2 LOGPUT SYSLOG YKZ371I = N/A (&YKLCNS2 = N/A (&YKLOGPT = N/A (&YKSYSLG YKENV command return = N/A = N/A = N/A code=0. ) ) ) YKERCODE Command Format YKERCODE 1error-code Function This is a TSO/E command. This command displays the details of a specified error code on the TSO/E terminal. The command displays the following information: • Error details:details-of-error Displays the error details. • Type of error:cause-of-error Displays the cause of the error.
Table 107 YKERCODE Command Return Code List (continued) Return Code Meaning 16 Command execution terminated because of an invalid parameter. 64 The module cannot be loaded. Possible causes are as follows: • The library dataset has not been linked. • The module is protected by the RACF program control function.
NODELTA, CONSLOST, or INVALID status, the YKEWAIT command terminates abnormally with return code 8. When the command waits for copy pairs in the CG container specified by EXCTG ID to reach the DUPLEX status, it first waits for all journal groups in the CG container specified by EXCTG ID to be registered in EXCTG. If an error is detected during EXCTG registration, the YKZ297E message is output and the command terminates abnormally with return code 44.
If 0 is specified in TIMEOUT parameter, it looks at the status of the copy group immediately, and then returns as described previously. For CG containers specified by EXCTG ID, if this time value elapses before all journal groups are registered in EXCTG, the YKZ298W message is output and the YKEWAIT command terminates abnormally with return code 4. If the YKZ298W message is output, the REXX variable is disabled (the same state as before the YKEWAIT command was executed).
After specifying the copy pair to operate, to view REXX variables (such as SimplexCt) shown in information for copy pairs that are not operation targets, execute the YKQUERY command or YKEWAIT command for all copy pairs. TO({PRIMARY|SECONDARY}) Applies to Continuous Access Synchronous for Mainframe, Continuous Access Synchronous for Mainframe with the HyperSwap attribute, Continuous Access Asynchronous for Mainframe, and Continuous Access Journal for Mainframe.
Table 109 YKEWAIT Command Return Code List (continued) Return Code Meaning 24 • An error occurred when the suspend processing was performed by using the CAJ ATTIME suspend function. • The status of the CAJ copy pair was invalid when the suspend processing was performed by using the CAJ ATTIME suspend function. • The suspend processing has started because the timeout period had elapsed when the CAJ ATTIME suspend function was executed. • I/O errors were encountered.
Before you execute this command, allocate datasets for the CSV files under the following DD names and catalog the files: • Pair information CSV file: OUTPAIR • EXCTG information CSV file: OUTEXCTG • CTG information CSV file: OUTCTG For details about CSV files, see “CSV Files Used by the Copy Group Definition File Generation Function” (page 356). Parameters PREFIX(prefix) ~ < prefix of 25 or fewer characters> Specify the prefix of the copy group definition file.
Format YKFCSTAT 1STEM(stem-name-1) 1MSG(stem-name-2) 1DEVN(device-number) Function This is a TSO/E command called from REXX scripts. This command acquires the FlashCopy information related to the specified volume from the storage system, and stores the information into the FlashCopy information structure that was specified by the STEM parameter.
Table 111 YKFCSTAT Command Return Code List Return Code Meaning -4095 to -4040 The command terminated abnormally. A possible cause is as follows: • The user SVC routine has not been included properly. The module cannot be loaded. Possible causes are as follows: -3 • The library dataset has not been linked. • The module is protected by the RACF program control function. -1 An interruption occurred during execution. 0 The command completed normally. 32 • I/O errors were encountered.
The message structure is initialized when the CLI command with the same name as the MSG parameter is called. TIMEOUT(timeout-value) ~ ((100-5000)) <<1000>> Specify the timeout value in milliseconds. When the time specified with this value has elapsed after executing the YKFREEZE command, the system automatically resets the SCP status. You can specify a value up to 5000 milliseconds in increments of 100 milliseconds. If you omit this parameter, 1000 milliseconds is assumed.
does not contain any P-VOLs in the detected PPRC copy pairs or S-VOLs corresponding to the P-VOLs, copy pairs are still defined. If this occurs, a warning message is issued. A copy group definition file is created as follows: • For a CA copy group with the HyperSwap attribute: A single copy group definition file is created for all detected copy pairs.
NOTE: • If a copy group definition file with the same name as the name specified in the CGNAME parameter already exists, executing the YKH2B command overwrites the existing file with the newly created file. To retain the existing file, specify in the CGNAME parameter a name that is different from any existing copy group definition file name. • When you specify NOCHECK for the HS parameter, for the scan range, include only PPRC TrueCopy copy pair volumes for which HyperSwap is enabled.
This command reads the following files and creates a copy group definition file: • Pair information CSV file CSV file containing information on copy pairs in a CG container • EXCTG information CSV file CSV file containing EXCTG information (required only when using an EXCTG) • CTG information CSV file CSV file containing information on consistency groups in a Continuous Access Journal Z copy group container (required only for Continuous Access Journal Z) • Disk configuration definition file • Copy
Return Codes Table 114 (page 214) lists the return codes to be returned when the YKIMPORT command terminates. Table 114 YKIMPORT Command Return Code List Return Code Meaning 0 The command terminated completed normally. A copy group definition file was created. 4 No copy pairs were defined in the specified CSV file. No data was output to the copy group definition file. 8 A copy group definition file was created, but a problem was detected.
Table 116 YKINSCHK Command Output Items Output item Explanation Security Setting • OK is output: The name of a profile for referencing or operations has been set. • FAULTY is output: No name has been set for a profile for referencing or operations. User SVC Routine • OK is output: There are no problems in the user SVC setting. • FAULTY is output: There is a problem in the user SVC setting. Host ID Settings • OK is output: There are no problems in the Host ID settings.
Table 116 YKINSCHK Command Output Items (continued) Output item Explanation Current Host ID Outputs the host ID that is currently enabled in the system. • If no host ID was defined by using the YKSETENV command or for the IEASYMxx parmlib member, 00 (default value) is output. • If the host ID cannot be acquired, N/A is output. • If the host ID is invalid because it is not a value from X'00' to X'1F', the value is output, and FAULTY is output for Host ID Settings.
If a Dynamic registered User SVC does not exist and a Static installed User SVC exists, the Static installed User SVC will become the Current User SVC. If the Current User SVC is smaller than the Version of User SVC for this program, then the program will not run properly. If this is the case, use the YKALCSVC command to dynamically register the latest User SVC. Also, register the latest User SVC if a Dynamic registered User SVC is deleted.
If you register or change a host ID while Business Continuity Manager is running, CLI commands are executed using the previously set value. The registered or changed host ID takes effect the next time the YKLOAD command is executed (with a route list specified). YKK001I YKINSCHK completed. RC=0,V/R=v.r.
Parameters STEM(stem-name-1) ~ Specify a prefix to be used for the REXX variable structure that stores information when a configuration file is loaded. PREFIX(prefix) ~ Specify the prefix of the configuration file name. GROUP(copy-group-ID) ~ When you are loading a copy group, specify the string obtained by removing the prefix.GRP. portion from the copy group definition file name.
NOTE: • The YKLOAD command is an REXX subroutine, so it should be called from REXX script by the REXX CALL key word instruction. • When you execute the YKLOAD command more than once using the same stem-name, the system overwrites the REXX variables. • The invoked script executed from CALL statement or EXEC command should not read a configuration file with the same stem-name as the one read by the invoking script.
Table 118 YKLOAD Command Return Code List (continued) Return Code Meaning 48 Terminating due to invalid parameters. 52 Terminating due to improper invocation method. YKMAKE Command Applies to Business Copy for Mainframe, Continuous Access Synchronous for Mainframe, Continuous Access Asynchronous for Mainframe and Continuous Access Journal for Mainframe.
NOCOPY Applies to Continuous Access Synchronous for Mainframe, Continuous Access Asynchronous for Mainframe, and Continuous Access Journal for Mainframe. The command makes a copy pair without copying between P-VOL and S-VOL. The command is used only when the two volume status are exactly the same. HOLD Applies to Continuous Access Journal for Mainframe. The copy pair status is transitioned to the HOLD status.
NOTE: • Do not dissolve copy pairs during a planned outage. • In 4x4x4 Delta Resync configurations, when all copy pairs in EXCTG whose copy direction is from the primary site to the remote site are dissolved, the journal groups whose copy direction is from the local site to the remote site are also dissolved from EXCTG registration.
NOTE: • If ONLINE(YES) is specified, volume corruption might occur because a copy pair can be made even if the S-VOL is being used. Thus, consideration with respect to volume operation is required, such as limiting operation to periods when the S-VOL is not being used. • If transition to HOLD status is not performed, this might indicate an environment in which differentials cannot be maintained in the journal.
Format YKQEXCTG 1STEM(stem-name-1) 1MSG(stem-name-2) 1TO({SECONDARY|PRIMARY}) Function This is a TSO/E command. Information about the copy group container with the specified EXCTG ID is acquired from the supervisor DKC at the site specified for the TO parameter. Parameters STEM(stem-name-1) ~ Specifies the prefix of the copy group structure that contains the copy group container with an EXCTG ID for which you want to acquire EXCTG information.
Table 120 YKQEXCTG command return code list Return code Meaning -4095 to -4040 The command terminated abnormally. A possible cause is as follows: • A user SVC routine was not properly embedded. -3 The module cannot be loaded. Possible causes are as follows: • The library dataset has not been linked. • The module is protected by the RACF program control function. -1 An interruption occurred during execution. 0 The command terminated normally. 32 • An I/O error occurred.
Table 121 YKQHPATH Command Return Code List Return Code Meaning -4095 to -4040 The command terminated abnormally. A possible cause is the user SVC routine has not been properly included. -3 The module cannot be loaded. Possible causes are as follows. • The library dataset has not been linked. • The module is protected by the RACF program control function. -1 An interruption occurred during execution. 0 I/O path of the specified device is available.
SN(storage system-serial-number) ~ Specify the serial number of the storage system to which the volume obtaining storage system information belongs. When this parameter is specified, the route list needs to be loaded before the command is executed. CU(cu-number) ~ <2-digit hexadecimal number> Specify the CU number of the volume for obtaining storage system information. When this parameter is specified, the route list needs to be loaded before the command is executed.
USPV Specify this option when the model of the secondary storage system for the inter-DKC logical path you want to obtain is HP XP24000/XP20000 Disk Array. VSP Specify this option when the model of the secondary storage system for the inter-disk controller logical path you want to obtain is XP P9500. Return Codes Table 122 (page 229) lists the return codes to be returned when the YKQRYDEV command terminates.
Parameters STEM(stem-name-1) ~ Specify the prefix of the name of the path set structure that stores information about the logical path whose status you want to obtain. Specify the same character string as the one specified in the STEM parameter of the YKLOAD command that loaded the corresponding logical path. You must also include a trailing period character.
PTID(path-group-ID)~<2–digit hexadecimal number> If this parameter is specified, for each logical path within the path set stored in the path set structure specified for the STEM parameter, inter-disk controller logical paths that have the path group ID specified for this parameter are acquired. Inter-control unit logical paths are not affected by this parameter. If neither this parameter nor any other parameters are specified, the command acquires all the logical paths.
NOTE: • Before executing the command, create and load the path set definition file. • If a message that contains sense information for the storage system is output, see the list of error codes in the HP XP P9000 for Business Continuity Manager Software Messages and then eliminate the cause of the error.
YKQUERY Command Applies to Business Copy for Mainframe, Continuous Access Synchronous for Mainframe, Continuous Access Synchronous for Mainframe with the HyperSwap attribute, Continuous Access Asynchronous for Mainframe, and Continuous Access Journal for Mainframe. Format YKQUERY 1STEM(stem-name-1) 1MSG(stem-name-2) [ 1DEVN(device-number)] [ 1TO({PRIMARY|SECONDARY})]|VERIFY}] Function This command is a TSO/E command called from REXX scripts.
VERIFY If this parameter is specified, the command checks the copy group structure, provided that the copy pair is not in the SIMPLEX status, and allows information to be acquired from the P-VOL. For details about the content that is checked, see the description of the copy group configuration check function in the HP XP P9000 for Business Continuity Manager Software Users Guide.
Table 124 YKQUERY Command Return Code List (continued) Return Code Meaning 24 • An error occurred when the suspend processing was performed by using the CAJ ATTIME suspend function. • The status of the CAJ copy pair was invalid when the suspend processing was performed by using the CAJ ATTIME suspend function. • The suspend processing has started because the timeout period had elapsed when the CAJ ATTIME suspend function was executed. 32 • I/O errors were encountered.
When dissolving copy pairs in a CG container specified by EXCTG ID, if all copy pairs are dissolved from a journal group, that journal group will be deleted from the EXCTG. In addition, if all journal groups are deleted from the EXCTG, the EXCTG data will be deleted. Parameters STEM(stem-name-1) ~ Specify the prefix of the name of the copy group structure that stores information about the copy group for which you want to dissolve the copy pairs.
Table 125 YKRECVER Command Return Code List (continued) Return Code Meaning -1 An interruption occurred during execution. 0 The command completed normally. 32 • I/O errors were encountered. • A change in an I/O configuration definition was detected. 36 Invalid or missing data in a REXX variable. 40 An error occurred while a REXX variable was being written. 44 Terminating due to processing errors. 48 Terminating due to invalid parameter.
SELECT({ALL|COND}) Specify the selection method for copy pair to be manipulated by the command. When not specified, ALL is assumed. ALL All the copy pairs in the copy group are to be manipulated by the command. Note that if the DEVN parameter is specified, the copy pair specified for the parameter is the execution target of the command. COND The pairs to be manipulated by the command depend on their volume status.
VOLUNIT When this is specified, the operation is performed by volume even when the environment supports operation by group. If you specify this parameter after ATTIME suspend, execute the YKSUSPND command with the CANCEL parameter specified. The following describes the relationship between the VOLUNIT parameter specification and the command execution when issuing the YKRESYNC command to reverse the copy direction.
of the error according to the message, and then re-execute the YKRESYNC command without the ERRCHK parameter. If the ERRCHK parameter is specified and no abnormal copy pairs exist, the command will terminate normally with the return code 0. Table 126 Example Procedure Using the ERRCHK Parameter After Transition to HOLDER Status No. Command Description 1 YKQUERY STEM(SF.TO.LA.) MSG(MSG.) Checks if all copy pairs are in the HOLD status. 2 YKRESYNC STEM(SF.TO.LA.) MSG(MSG.
specified, the command is executed in units of volumes even in an environment in which the command can be executed in units of groups. NOTE: • If operations with a REVERSE specification such as planned outage take place, to control CA, CAA, or CAJ from the script, HP recommends that you specify explicitly the FORWARD or REVERSE parameter.
Table 127 YKRESYNC Command Return Code List (continued) Return Code Meaning 4 Since a volume with an invalid status was found in the copy group, processing for the volume will be skipped. 32 • I/O errors were encountered. • A change in an I/O configuration definition was detected. 36 Invalid or missing data in a REXX variable. 40 An error occurred while a REXX variable was being written. 44 Terminating due to processing errors. 48 Terminating due to invalid parameters.
Return Codes Table 128 (page 243) lists the return codes to be returned when the YKRUN command terminates. Table 128 YKRUN Command Return Code List Return Code Meaning -4095 to -4040 The command terminated abnormally, possibly because the user SVC routine has not been included properly. -3 The module cannot be loaded. Possible causes are as follows: • The library dataset has not been linked. • The module is protected by the RACF program control function. -1 An interruption occurred during execution.
TO(X'nnnn') ~ <4-digit hexadecimal number> Specify the device number of the last volume to be scanned. This parameter and the FROMVSN and TOVSN parameters are mutually exclusive. The range from the FROM parameter to the TO parameter is scanned in hexadecimal ascending order. FROMVSN(volser) ~ Specify the volume serial number of the first volume to be scanned. This parameter and the FROM and TO parameters are mutually exclusive.
Table 129 YKSCAN Command Return Code List (continued) Return Code Meaning -1 An interruption occurred during execution. 0 The command completed normally. The REXX variable corresponding to the scanned volume is created. 4 The command skipped a volume whose I/O path was not available. The command generated the REXX variable for the volumes whose detection was successful. 8 I/O errors were encountered. The REXX variable corresponding to the scanned volume is created.
Table 130 YKSLEEP Command Return Code List Return Code Meaning 0 The command completed normally. 8 Cancellation of the temporarily stopped status due to an interruption. 16 Termination due to invalid parameters. YKSTATS Command Applies to Continuous Access Asynchronous for Mainframe and Continuous Access Journal for Mainframe. Format YKSTATS 1STEM(stem-name-1) 1MSG(stem-name-2) Function This command is a TSO/E command called from REXX scripts.
NOTE: • Start Usage Monitor from the Remote Web Console before executing the YKSTATS command. Set the collection interval of Usage Monitor information to 10 minutes or less. • If the specified copy group is a CAJ copy group and contains the following volumes, in order to obtain correct information, you must start Usage Monitor for the CU containing the journal volumes used by the copy group.
Table 131 YKSTATS Command Return Code List (continued) Return Code Meaning 48 Terminating due to invalid parameters. 128 The command terminated abnormally. The user does not have permission to execute this command. YKSTORE Command Format YKSTORE 1STEM(stem-name-1) 1PREFIX(prefix) 1MSG(stem-name-2) [ 1PATH] [ 1UIDCHK] Function YKSTORE command is a REXX subroutine.
NOTE: • The YKSTORE command is an REXX subroutine, so it should be called from REXX script by the REXX CALL key word instruction. • When you store the current volume status in a configuration file, HP recommends that you specify a prefix other than the prefix used when the copy group was created and manage the copy group separately. Return Codes Table 132 (page 249) lists the return codes to be returned when the YKSTORE command terminates.
The following table describes the correspondence between functions, copy types, and parameter names. Function Copy type Parameter name BC CA Sets the ATTIME suspend time. Y -- Y -- ATTIME Cancels the ATTIME suspend time. Y -- Y -- CANCEL -- -- Y -- DRAIN -- -- Y Y FLUSH -- Y Y PURGE Y -- -- -- QUICK -- Y Y Y FORWARD Suspends the copy pair so that the copy direction goes from the secondary site to the primary site.
ATTIME(timevalue) If you use the ATTIME suspend function, specify the time at which suspend processing is performed. This parameter is valid for copy groups specified by consistency group ID. If you do not use the CAJ ATTIME suspend function, this parameter cannot be specified for a remote storage system. You must use the CAJ ATTIME suspend function for a copy group in which the P-VOLs are Non Gen'ed volumes. If you do not use the CAJ ATTIME suspend function, an I/O error will occur.
NOTE: When you specify the time using ATTIME parameter, note the following: • Do not specify a time value earlier than the command execution time. • The processing might be suspended when the specified time is reached during command execution. Take the command execution time into consideration when you specify the time. • Do not specify a time value larger than the command execution time plus 65,536 minutes.
GENID(generation-id) ~ <2-digit hexadecimal number><<00>> Applies to Business Copy for Mainframe, Continuous Access Asynchronous for Mainframe. Specify a generation ID. The default value (used when this parameter is omitted) is 00. Generation IDs can be used as a generation number used for identifying the generation of backups. For example, generation IDs are useful when you need to maintain consistency between multiple storage systems.
Table 134 Operation When the ATTIME Suspend Time Is Canceled in BC (continued) Target storage system or copy group Setting of the ATTIME suspend time CAJ ATTIME suspend time Operation when the ATTIME suspend time is canceled NORMAL ATTIME CAJ ATTIME suspend suspend time time NORMAL ATTIME suspend time canceled because it has not been set.1 canceled because it has not been set.1 • Storage system that Specified is directly connected to a host -- The CAJ ATTIME suspend time is canceled.
The S-VOL can be read or written even when data is being copied. When this parameter is not specified, the S-VOL can be read or written after data copying, and transition to the SUSPOP status have finished.
SVOL ({PROTECT|PERMIT}) Specify whether writing to the S-VOL is permitted or protected after a volume is suspended (SUSPOP). When this parameter is not specified, the value specified in the ISPF panel is assumed.
NOTE: • If more than one of the ATTIME, CANCEL, DRAIN, PURGE, FLUSH, QUICK, FORWARD, and REVERSE parameters is specified, the last specified parameter takes effect. • The YKSUSPND command terminates successfully when the instruction to the copy pair succeeded. Even if the YKSUSPND command has terminated with return code 0, the copy pair might not be in the SUSPOP or SWAPPING status.
Table 135 YKSUSPND Command Return Code List (continued) Return Code Meaning • When the copy pair corresponding to the device number specified with the DEVN parameter is not found. • When the VOLUNIT parameter or DEVN parameter, and the PURGE parameter are specified for a CAJ at the same time. • For a CAA, when an attempt to cancel the ATTIME suspend time for the remote storage system was made. 128 The command terminated abnormally. The user does not have permission to execute this command.
SUSPEND The command waits until all the copy pairs in the group reach the SUSPOP status. However, if the status of any copy pair changes to a status other than a suspend status (SUSPOP, SUSPCU, or SUSPER) or TRANS, the YKWATCH command terminates abnormally with return code 8. SIMPLEX The command waits until the copy pairs reach the SIMPLEX status. When any copy pair takes a status other than SIMPLEX, however, the YKWATCH command terminates abnormally with the return code 8.
NOTE: • In some configurations such as when CA and BC share volumes or a 1 to n (n is greater than 2) configuration of BC, the status transitions of each copy pair might not be correctly monitored. • When using a copy pair on a remote site (a site that is not channel-connected directly from the local host), the YKWATCH command cannot monitor the status transition of the copy pair on the remote site. Use the YKEWAIT command.
Function This is a REXX function that is called from within a REXX script. This command outputs the specified message ID and message text to the OS console. Parameters type Specify the type of message to be output. The message is output by using the destination indicating a code that corresponds to the specified type. Specify one of the following types: • I Specify this for a message that reports information. The message is output in by using the destination indicating code 11.
Table 137 YKWTOMSG Command Return Code List (continued) Return code Meaning 2000 A system error occurred. Other than above Refer to the return code of the WTO macro. For details, see the IBM documentation MVS Programming: Assembler Services Reference. CLI Command Coding Examples Coding examples for each CLI command are stored in the sample library HPQYSAMT as sample scripts. Table 138 (page 262) lists the sample scripts stored in HPQYSAMT.
Table 138 List of Sample Scripts (continued) Sample script name Overview YKDEMO05 Uses the following CLI commands to demonstrate acquiring information about copy pairs in a copy group, and acquiring operating information: • YKLOAD • YKQUERY • YKSTATS YKDEMO06 Shows an example of using the YKWATCH command. YKDEMO07 Shows an example of using the YKRECVER command. YKDEMO08 Shows an example of failing over a 2DC configuration with HyperSwap and CAJ.
/* - YKEWAIT */ /* */ /* This sample script assumes the following settings. */ /* */ /* 1) The definition files are stored in the dataset with the */ /* prefix "BCM.DEMO". */ /* 2) TC-Sync copy group is used. The copy group ID is "MYTCS". */ /* 3) The route list ID is "DEMORLST". */ /* 4) The primary Device Address Domain ID is "PRIM". */ /* */ /**********************************************************************/ /* Sample script begins. */ say "#-- BEGIN YKDEMO01.
call printCopyGroupStatus; /* Prints the copy group status info. */ /* * Alternatively, you can use YKEWAIT to retrieve the copy group * status information more quickly as YKEWAIT also updates the Copy * Group structure (but not entirely. The information items that are * RCU-dependant such as C/T Delta and C/T Time are not updated). * Refer to Business Continuity Manager Reference Guide to see how * YKQUERY and YKEWAIT update the Copy Group structure.
* Unlike when TIMEOUT(0) parameter was used, check the return code * to see if it is 0 or not because any non-zero return code for * YKEWAIT indicates that the copy pair state transition did not * happen as expected. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; call printCopyGroupStatus; /* * Suspend all copy pairs in MYTCS copy group. * Like YKMAKE, use SELECT(COND) to let YKSUSPND skip a copy pair * which is already being suspended.
address TSO "YKRESYNC STEM(DEMO_INFO.) MSG(DEMO_MSG.) SELECT(COND)", "FORWARD"; /* * Check the return code to see if it is 0 or not. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Wait until all copy pairs in MYTCS copy group become DUPLEX. */ address TSO "YKEWAIT STEM(DEMO_INFO.) MSG(DEMO_MSG.) GOTO(DUPLEX)", "TIMEOUT(30)"; /* * Check the return code to see if it is 0 or not.
else nop; call printCopyGroupStatus; say "#-- END YKDEMO01."; /* The sample script completed. exit; */ /* * printErrorMessage: This procedure prints all of the error messages * in the Message structure when a CLI command failed. */ printErrorMessage: procedure expose DEMO_MSG. do x = 1 to DEMO_MSG.0 say "Severity = " || DEMO_MSG.x.Severity; say "Text = " || DEMO_MSG.x.Text; say "Value = " || DEMO_MSG.x.
do i = 1 to 10 while (outFlag == "INLOOP") /* * Use YKFCSTAT command to view the current status of the * FlashCopy processing. You may choose a volume from which * the status information of the current FlashCopy processing * is retrieved by specifying a device number of a volume with * "DEVN" parameter, such as "DEVN(12AB)". */ address TSO "YKFCSTAT STEM(DEMO_INFO.) MSG(DEMO_MSG.) DEVN(####)"; /* Check the return code of YKFCSTAT to see if it is 0 or not.
YKDEMO03 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2007, 2010, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* /* YKDEMO03 - A sample demonstration script that illustrates how to */ /* use the Business Continuity Manager's REXX CLI commands for */ /* establishing and deleting routes (command devices) and logical */ /* paths between two storage systems.
nop; /* * Now build the logical paths between the primary and the secondary * storage systems in direction from the primary storage system * to the secondary storage system. */ address TSO "YKBLDPTH STEM(DEMO_INFO.) MSG(DEMO_MSG.)"; /* * Check the return code to see if it is 0 or not. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Query for the information of the logical paths that were built * in the previous call of YKBLDPTH.
/* * Check the return code to see if it is 0 or not. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Build the command device in the secondary storage system. * You must specify the serial number of the storage system with * "SN" parameter such as "SN(12345)". */ address TSO "YKBLDCMD SN(#####) MSG(DEMO_MSG.)"; /* * Check the return code to see if it is 0 or not.
say "CDEV(Primary) is status = " || DEMO_CDEVP.Cdev.Status; say "CDEV(Primary)'s APID = " || DEMO_CDEVP.Cdev.APID; say "-------------------------------------"; /* * The following example retrieves the information about the command * device in the secondary storage system. * The information is stored under "DEMO_CDEVS" as specified by the * STEM parameter.
/* * Now delete the command device in the primary storage system. As * in the previous YKDELCMD call, supply the appropriate values to * SN, CU, CCA and APID parameters for the command device in the * primary storage system. * Please note that if the route list is available, you do not actually * have to specify CU, CCA and APID parameters. */ address TSO "YKDELCMD SN(#####) MSG(DEMO_MSG.) CU(##) CCA(##)", "APID(####)"; /* * Check the return code to see if it is 0 or not.
YKDEMO04 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2007, 2010, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* */ /* YKDEMO04 - A sample demonstration script that illustrates how to */ /* use the Business Continuity Manager's REXX CLI commands for */ /* using Extended C/T Group feature of TrueCopy Synchronous.
*/ if rc > 8 then do call printErrorMessage; exit; end; else nop; /* * Use YKCONMSG with OP(OPEN) parameter to establish the * interface for monitoring IEA494I message. Use OUTTRAP * of REXX to acquire the handler value that needs to be * in the subsequent YKCONMSG calls. The return code for * completion of YKCONMSG with OP(OPEN) is 0. */ temp = OUTTRAP("MyHandle.
* if it could capture the IEA494I message successfully. */ if rc = 1 then do /* * Extract the message body from the captured IEA494I string. */ parse var MyHandle.1 . IEA494Imsg; /* * Check to see if the captured IEA494I message is * generated due to the relevant copy pair in the TC-Sync * copy group becoming suspended. * Modify the value of 'myDevn' below to the device number * of a volume of a relevant copy pair to run this script.
then do call printErrorMessage; /* * Close the EMCS console interface that was opened by * the previous YKCONMSG OP(OPEN) call. Note that the * return code for YKCONMSG with OP(CLOSE) parameter is * 6 if it completed successfully. */ address TSO "YKCONMSG OP(CLOSE)", "HANDLE(x'"HandlerValue"')"; /* * Check the return code to see if it is 6 or not. * Note that the return code for YKCONMSG with * OP(CLOSE) is 6 for successful completion. */ if rc /= 6 then say "YKCONMSG OP(CLOSE) failed.
/* * printErrorMessage: This procedure prints all of the error messages * in the Message structure when a CLI command failed. */ printErrorMessage: procedure expose DEMO_MSG. do x = 1 to DEMO_MSG.0 say "Severity = " || DEMO_MSG.x.Severity; say "Text = " || DEMO_MSG.x.Text; say "Value = " || DEMO_MSG.x.Value; end; return 0; YKDEMO05 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2007, 2010, Hitachi, Ltd.
* of MYTCA copy group before calling YKMAKE. You may use YKEWAIT with * TIMEOUT(0) parameter instead, as demonstrated in YKDEMO01. */ address TSO "YKQUERY STEM(DEMO_INFO.) MSG(DEMO_MSG.)"; /* * Check the return code to see if it is bigger than 8. */ if rc > 8 then do call printErrorMessage; exit; end; else nop; /* * Establish all copy pairs in MYTCA copy group into DUPLEX. This is * for demonstration purpose only. In reality you may already have a * copy group up and running.
if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Few of the information items that you can acquire by YKQUERY and * YKSTATS are shown here. Refer to the Business Continuity Manager * Reference Guide for the list of all information items that you can * obtain via YKQUERY and YKSTATS. * For C/T Delta value, this sample script shows the value from just * one copy pair. You may view the value for as many pairs as present. */ do x = 1 to DEMO_INFO.CopyGroup.
end; return 0; YKDEMO06 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2007, 2010, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* */ /* YKDEMO06 - A sample demonstration script that illustrates how to */ /* use the Business Continuity Manager's YKWATCH command. */ /* */ /* This sample script assumes the following settings.
/* * Establish all copy pairs in MYTCS copy group into DUPLEX. This is * for demonstration purpose only. In reality you may already have a * copy group up and running so that you do not have to use YKMAKE * before YKWATCH. */ address TSO "YKMAKE STEM(DEMO_INFO.) MSG(DEMO_MSG.) SELECT(COND)"; /* * Check the return code to see if it is 0 or not. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Use YKWATCH to let BC Manager notify the state transition of MYTCS * when it became DUPLEX.
/* */ /**********************************************************************/ /* */ /* YKDEMO07 - A sample demonstration script that illustrates how to */ /* use the Business Continuity Manager's YKRECVER command. */ /* */ /* This sample script assumes the following settings. */ /* */ /* 1) The definition files are stored in the dataset with the */ /* prefix "BCM.DEMO". */ /* 2) TC-Sync copy group is used. The copy group ID is "MYTCS". */ /* 3) The route list ID is "DEMORLST".
*/ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * Wait for MYTCS to become fully established. */ address TSO "YKEWAIT STEM(DEMO_INFO.) MSG(DEMO_MSG.) GOTO(DUPLEX)", "TIMEOUT(30)"; /* * Check the return code to see if it is 0 or not. */ if rc /= 0 then do call printErrorMessage; exit; end; else nop; /* * The line below shows how to execute YKRECVER.
YKDEMO08 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2009, 2010, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* */ /* YKDEMO08 - A sample demonstration script that illustrates */ /* how to use the Business Continuity Manager's CLI commands to */ /* perform fail-over operations in a 2DC configuration with */ /* HyperSwap and UR.
then do call printErrorMessage exit end else nop call "YKLOAD" "STEM(DEMO_INFO.MYUR2.) PREFIX(BCM.DEMO) GROUP(MYUR2)", "DAD(PRIM) MSG(DEMO_MSG.)" /* * Check the return code of YKLOAD. */ if result /= 0 then do call printErrorMessage exit end else nop /* * Check the status of MYTCHS to confirm the ready status for operations * in 2DC configuration with HyperSwap and UR. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYTCHS.) MSG(DEMO_MSG.
address TSO "YKEWAIT STEM(DEMO_INFO.MYUR2.) MSG(DEMO_MSG.)", "GOTO(HOLD) TIMEOUT(0) NOINVALIDCHECK" /* * Check the return code of YKEWAIT. */ if rc /= 0 then do call printErrorMessage exit end else nop /* * Use YKCONMSG with the OP(OPEN) and MSGID(IOSHM0414I) parameters * to establish the EMCS console interface to monitor the IOSHM0414I * message. Use the REXX instruction OUTTRAP to acquire the handler * value that needs to be referenced in subsequent YKCONMSG calls.
dc = OUTTRAP("OFF") /* * Check the return code of YKCONMSG to see if it is 1 or not. * YKCONMSG with the OP(GET) parameter returns the return code 1 * if it was able to capture the IOSHM0414I message. */ if rc = 1 then do /* * Extract the message body from the captured IOSHM0414I string. */ parse var MyHandle.1 . IOSHM0414Imsg /* * Check to see if the captured IOSHM0414I message is * generated due to the relevant copy pair in the MYTCHS * copy group performing a planned or unplanned HyperSwap.
*/ address TSO "YKEWAIT STEM(DEMO_INFO.MYUR1.)", "MSG(DEMO_MSG.) GOTO(SUSPEND) TIMEOUT(10)" end else do /* * Confirm that the MYTCHS copy pair is in a status * where a DeltaResync can be performed. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYTCHS.)", " MSG(DEMO_MSG.) GOTO(SWAPPING)", " TIMEOUT(0)" /* * Check the return code of YKEWAIT. */ if rc /= 0 then do call printErrorMessage leave /* Exit the loop.
* change the status of MYUR1 to HOLD, and * to change the status of MYUR2 to DUPLEX. */ address TSO "YKRESYNC STEM(DEMO_INFO.MYUR2.) ", "MSG(DEMO_MSG.) DELTAJNL" /* * Check the return code of YKRESYNC. */ if rc /= 0 then do call printErrorMessage leave /* Exit the loop. */ end else nop /* * Wait for completion of copying from the local site to * the remote site. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYUR2.) MSG(DEMO_MSG.)", "GOTO(DUPLEX) TIMEOUT(30)" /* * Check the return code of YKEWAIT.
say "YKCONMSG OP(CLOSE) failed." exit end else nop say "#-- END YKDEMO08." exit /* * printErrorMessage: This procedure prints all of the error messages * in the Message structure when a CLI command failed. */ printErrorMessage: procedure expose DEMO_MSG. do x = 1 to DEMO_MSG.0 say "Severity = " || DEMO_MSG.x.Severity say "Text = " || DEMO_MSG.x.Text say "Value = " || DEMO_MSG.x.
/* 3) Delete the MYUR1 copy pair. */ /* 4) Make the MYUR1 copy pair, exit this sample script, and then */ /* re-execute this sample script again. */ /* 5) Suspend the MYUR2 copy pair. */ /* 6) Execute a DeltaResync on the MYUR1 copy pair. */ /* *) After using this sample script, resync MYTCHS. */ /* */ /**********************************************************************/ /* Sample script begins. */ say "#-- BEGIN YKDEMO09." address TSO "YKENV" call "YKLOAD" "STEM(DEMO_INFO.MYTCHS.) PREFIX(BCM.
* Check the return code of YKEWAIT. */ if (rc < 0)|(rc > 8) then do call printErrorMessage exit end else do if rc /= 0 then do say "recover to ready state for DeltaResync", "from failure configuration." /* * Delete the MYUR1 copy pair when a failure occurs. */ address TSO "YKDELETE STEM(DEMO_INFO.MYUR1.) MSG(DEMO_MSG.)" /* * Check the return code of YKDELETE.
call printErrorMessage exit end else nop /* * Execute Make(HOLD) on the MYUR1 to change * the status of MYUR1 to one where a DeltaResync * can be performed. */ address TSO "YKMAKE STEM(DEMO_INFO.MYUR1.) MSG(DEMO_MSG.) HOLD" /* * Check the return code of YKMAKE. */ if rc /= 0 then do call printErrorMessage end else nop /* * Confirm that the status of the MYUR1 copy pair is one where a * DeltaResync can be performed. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYUR1.) MSG(DEMO_MSG.
*/ if rc /= 0 then do call printErrorMessage exit end else nop /* * Suspend the MYUR2 copy pair to change the status of MYUR2 * to one where a DeltaResync can be performed. */ address TSO "YKSUSPND STEM(DEMO_INFO.MYUR2.)", "MSG(DEMO_MSG.) FLUSH" /* * Check the return code of YKSUSPND. */ if rc /= 0 then do call printErrorMessage exit end else nop /* * Confirm that the status of the MYUR2 copy pair is one where a * DeltaResync can be performed. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYUR2.) MSG(DEMO_MSG.
nop /* * Wait for completion of copying from the primary site to * the remote site. */ address TSO "YKEWAIT STEM(DEMO_INFO.MYUR1.) MSG(DEMO_MSG.)", "GOTO(DUPLEX) TIMEOUT(30)" /* * Check the return code of YKEWAIT. */ if rc /= 0 then do call printErrorMessage exit end else nop say "#-- END YKDEMO09." exit /* * printErrorMessage: This procedure prints all of the error messages * in the Message structure when a CLI command failed. */ printErrorMessage: procedure expose DEMO_MSG. do x = 1 to DEMO_MSG.
/**********************************************************************/ /* Beginning of sample script. */ /* * Parse DEVN operand of YKDEMO1S cataloged procedure. */ parse upper arg "DEVN("op_devn")"; /* * Retrieve a volume information in the storage system. DEVN * operand is specified a device number of volume for input. STEM * operand is specified a variable of volume information for output. */ address TSO "YKQRYDEV STEM(DEMO.) DEVN("op_devn") MSG(MSG.
YKDEMO11 /* REXX */ /**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2010, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* */ /* YKDEMO11 is an example script for setting BCM environment */ /* variables to local variables and then printing them out. */ /* */ /* Below is a list of local variables that store BCM environment */ /* variables. The default value for each is "N/A".
/**********************************************************************/ /* */ /* All Rights Reserved. Copyright (C) 2011, Hitachi, Ltd. */ /* */ /**********************************************************************/ /* */ /* YKDEMO12 is an example script that demonstrates recovery of TC */ /* pairs that became inconsistent because of interrupted FlashCopy */ /* copy process. This script discovers CONSLOST copy pairs in the TC */ /* group, deletes them, and then re-creates them.
Do Do i = 1 To DEMO_INFO.CopyGroup.1.Pair.0 If DEMO_INFO.CopyGroup.1.Pair.i.State == "CONSLOST" Then Do /* * Delete the CONSLOST pair in MYTCS. */ P_DEVN = DEMO_INFO.CopyGroup.1.Pair.i.Pri.Devn S_DEVN = DEMO_INFO.CopyGroup.1.Pair.i.Sec.Devn Address TSO "YKDELETE STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "DEVN("P_DEVN","S_DEVN")" /* * Check the return code of YKDELETE.
Exit End Else Nop End Else Nop End End Else Nop Say "#-- END YKDEMO12." Exit /* * PrintErrorMessage: This procedure prints all of the error messages * in the Message structure when a CLI command failed. */ PrintErrorMessage: procedure expose DEMO_MSG. Do x = 1 To DEMO_MSG.0 Say "Severity = " || DEMO_MSG.x.Severity Say "Text = " || DEMO_MSG.x.Text Say "Value = " || DEMO_MSG.x.
exit; end; else nop; /* * Call YKQUERY to refresh the information in the Copy Group structure * of MYUR4X4 copy group container before calling YKMAKE. You may use * YKEWAIT with TIMEOUT(0) parameter instead, as demonstrated in * YKDEMO01. */ address TSO "YKQUERY STEM(DEMO_INFO.) MSG(DEMO_MSG.)"; /* * Check the return code to see if it is bigger than 8. */ if rc > 8 then do call printErrorMessage; exit; end; else nop; /* * Establish all copy pairs in MYUR4X4 copy group container into DUPLEX.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.
outFlag = "INLOOP"; do i = 1 to 10 while (outFlag == "INLOOP") /* * Calls the YKQEXCTG command to obtain the EXCTG information for * MYUR4X4. If the copy direction is the reverse direction, specify * the TO(PRIMARY) parameter. */ address TSO "YKQEXCTG STEM(DEMO_INFO.) MSG(DEMO_MSG.)", "TO(SECONDARY)"; /* Check the return code of YKQEXCTG to see if it is 0 or not. if rc /= 0 then do call printErrorMessage; exit; end; else nop; */ if DEMO_INFO.Exctg2.