The following example uses a central bank report that lists interest rates at month-end. The last banking day of each month is also provided in the following format:
Figure 182 Begin DO ADDSYM Example
DATE 01/01/00 TIME 23:50 PAGE 000001
I N T E R E S T R A T E S A T M O N T H - E N D YEAR: 2000
LAST DAY PROJECTED
MONTH OF MONTH INTEREST RATE
+-----------------------------------------------------------------+
| 01 JANUARY | 31 | 5.25 % |
| 02 FEBRUARY | 29 | 5.25 % |
| 03 MARCH | 31 | 5.26 % |
| 04 APRIL | 30 | 5.26 % |
| 05 MAY | 31 | 5.27 % |
| 06 JUNE | 30 | 5.28 % |
| 07 JULY | 31 | 5.24 % |
| 08 AUGUST | 31 | 5.24 % |
| 09 SEPTEMBER | 30 | 5.24 % |
| 10 OCTOBER | 31 | 5.25 % |
| 11 NOVEMBER | 30 | 5.26 % |
| 12 DECEMBER | 31 | 5.27 % |
+-----------------------------------------------------------------+
---+----1----+----2----+----3----+----4----+----5----+----6----+---
The Control-M/Analyzer rule updates an AutoEdit member that contains AutoEdit variables in the following format:
Figure 183 AutoEdit Member Updated by DO ADDSYM Statement Example
%%LAST_BANKING_DAY_0001=000131
%%LAST_BANKING_DAY_0002=000229
%%LAST_BANKING_DAY_0003=000331
%%LAST_BANKING_DAY_0004=000428
%%LAST_BANKING_DAY_0005=000531
%%LAST_BANKING_DAY_0006=000630
%%LAST_BANKING_DAY_0007=000731
%%LAST_BANKING_DAY_0008=000831
%%LAST_BANKING_DAY_0009=000929
%%LAST_BANKING_DAY_0010=001031
%%LAST_BANKING_DAY_0011=001130
%%LAST_BANKING_DAY_0012=001229
The rule adds the new AutoEdit variables to the existing AutoEdit member LSTBNKDY using statement DO ADDSYM.
First, the new AutoEdit variable is added using statement DO ADDSYM. Afterward, this variable is set using statement DO EXTRACT.
Figure 184 End DO ADDSYM Example
LIBRARY : CTB.PROD.RULES RULE :BANKDAYS
COMMAND ===> SCROLL===> CRSR
+-----------------------------------------------------------------------------+
===========================================================================
EXECUTE INIT UPON C
ON DATA
ALWAYS
DO GETMEM = LSTBNKDY
LIBSYM CTB.PROD.SYMBOLS
DO
(ENTER "ALWAYS", "IF")
===========================================================================
EXECUTE GETDATES UPON C
ON SYSOUT PROCST PGMST STEP01 DDNAME BANKDAYS JOBNM
MODE PG LINECT 0060 DATASTAMP
WHEN LINE 001 - 060 COL 001 - 132 STOP AND/OR
STRING = |
DO EXTRACT = MONTH
LEVEL LINE +000 COL +003 - +005 PROCESS TYP
DO ADDSYM = %%LAST_BANKING_DAY_%%MONTH MEM LSTBNKDY
LIBSYM CTB.PROD.SYMBOLS
DO EXTRACT = %%LAST_BANKING_DAY_%%MONTH
LEVEL 0 LINE +000 COL +041 - +045 PROCESS TYP
DO
WHEN LINE - COL - STOP AND/OR
STRING =
DO
===========================================================================
EXECUTE FINISH UPON C
ON DATA
ALWAYS
DO PUTMEM = LSTBNKDY
LIBSYM CTB.PROD.SYMBOLS
DO
(ENTER "ALWAYS", "IF")
===========================================================================
EXECUTE UPON C
ON
======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====
PLEASE FILL IN RULE DEFINITION. 17.07.34
Parent Topic |