Given
@A = 'Y' @B = 'YES' @C = 'XYZ'
The result of
<ABC,5,7>
is the same as the result of
<XAction:Z,5,7>
and is the same as the result of
<X<B,1,1>Z,5,7>
and is the same as the result of
<©,5,7>
In the first example ( <ABC,5,7> ), variable ABC is looked up and position 5 for a length of 7 is substituted.
In the second example ( <XAction:Z,5,7> ), the value of A is looked up and substituted in XAction:Z, giving XYZ. Variable XYZ is then substituted just as in the first example.
In the third example ( <X<B,1,1>Z,5,7> ), the value of B is looked up. Position 1 for a length of 1 (the character Y) is substituted into <X<B,1,1>Z, once again giving XYZ. This is then substituted just as in the first example.
In the fourth example ( <©,5,7> ), the value of C is looked up. The result (the characters XYZ) are substituted into © once again giving XYZ. This is then substituted just as in the first example.
This can be used to access variables associated with different move levels for a Library Code. Perhaps there is a user who should be notified when moves into a Library Code's QA library take place, and a different user that should be notified when moves into that Library Code's production library take place. And perhaps the same holds true for other Library Codes as well, with different users to be notified. Within the Library Code's model specifications you could place the following:
QA_NOTIFY_USER = 'JOHNSON' PROD_NOTIFY_USER = 'SMITH'
When the model constructs the JCL to notify the user, the following can be used to access the appropriate variable:
WHO_TO_NOTIFY = '<<$DEST1SHORTNAME>_NOTIFY_USER>'
In another example, you have a model that needs to test and set a flag to determine whether this is the first time is has been entered for a Move level, such a QA or PROD. Each level uses its own first time user keyword flag, with the level name as part of the keyword name.
@ IF $G$<$DEST1SHORTNAME>_FIRST_TIME = ' ' @ $G$<$DEST1SHORTNAME>_FIRST_TIME = 'N' ... first time processing ... @ ENDIF
When the Move level is QA, these statements would be the same as:
@ IF $G$QA_FIRST_TIME = ' ' @ $G$QA_FIRST_TIME = 'N' ... first time processing ... @ ENDIF
When the Move level is PROD, these statements would be the same as:
@ IF $G$PROD_FIRST_TIME = ' ' @ $G$PROD_FIRST_TIME = 'N' ... first time processing ... @ ENDIF
|
Copyright © 2004 CA.
All rights reserved.
|
|