|
//TOOLSYM JOB A402,PROGRAMMER
//DOIT EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SYMNOUT DD SYSOUT=*
//SYMNAMES DD *
Rdw,1,4,BI
Account_Code,12,1,CH
Dept_Code,*,=,=
Customer_Name,*,20,CH
SKIP,2
Customer_Balance,*,10,ZD
Customer_Flags,*,1,BI
* Department Codes
Research,'R'
Marketing,'M'
* Balance Cutoffs
Cancel,+10000 100.00
Gift,+1000000 10,000.00
Stop_Check,-500 -5.00
* Headings and Titles
Title,S'Customer Report for &LWDAY.'
Head1,'Customer Name'
Head2,'Customer Balance'
Head3,'Customer Flags'
/*
//IN DD DSN=MY.CUSTOMER.INPUT,DISP=SHR
//OUT DD DSN=&&O,UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE),
// DISP=(,PASS)
//LIST1 DD SYSOUT=*
//TOOLIN DD *
RANGE FROM(IN) ON(Customer_Balance) LOWER(Stop_Check)
SORT FROM(IN) TO(OUT) USING(CTL1)
DISPLAY FROM(OUT) LIST(LIST1) BLANK WIDTH(133) -
TITLE(Title) DATE(4MD/) PAGE -
HEADER(Head1) ON(Customer_Name) -
HEADER(Head2) ON(Customer_Balance,C1) -
HEADER(Head3) ON(Customer_Flags,HEX)
/*
//CTL1CNTL DD *
SORT FIELDS=(Customer_Balance,D,Customer_Name,A)
INCLUDE COND=((Dept_Code,EQ,Research,OR,Dept_Code,EQ,Marketing),
AND,Customer_Balance,GT,Gift)
/*
If the value for the system symbol &LWDAY. is
'FRI', SYMNOUT will show the following: ------- ORIGINAL STATEMENTS FROM SYMNAMES -------
Rdw,1,4,BI
Account_Code,12,1,CH
Dept_Code,*,=,=
Customer_Name,*,20,CH
SKIP,2
Customer_Balance,*,10,ZD
Customer_Flags,*,1,BI
* Department Codes
Research,'R'
Marketing,'M'
* Balance Cutoffs
Cancel,+10000 100.00
Gift,+1000000 10,000.00
Stop_Check,-500 -5.00
* Headings and Titles
Title,S'Customer Report for &LWDAY.'
Head1,'Customer Name'
Head2,'Customer Balance'
Head3,'Customer Flags'
------------------ SYMBOL TABLE -----------------
Rdw,1,4,BI
Account_Code,12,1,CH
Dept_Code,13,1,CH
Customer_Name,14,20,CH
Customer_Balance,36,10,ZD
Customer_Flags,46,1,BI
Research,C'R'
Marketing,C'M'
Cancel,+10000
Gift,+1000000
Stop_Check,-500
Title,C'Customer Report for FRI'
Head1,C'Customer Name'
Head2,C'Customer Balance'
Head3,C'Customer Flags'
The ICETOOL operators will be transformed to: RANGE FROM(IN) ON(36,10,ZD) LOWER(-500)
SORT FROM(IN) TO(OUT) USING(CTL1)
DISPLAY FROM(OUT) LIST(LIST1) BLANK WIDTH(133)-
TITLE('Customer Report for FRI') DATE(4MD/) PAGE-
HEADER('Customer Name') ON(14,20,CH)-
HEADER('Customer Balance') ON(36,10,ZD,C1)-
HEADER('Customer Flags') ON(46,1,HEX)
The DFSORT control statements in CTL1CNTL will be transformed to:
SORT FIELDS=(36,10,ZD,D,14,20,CH,A)
INCLUDE COND=((13,1,CH,EQ,C'R',OR,13,1,CH,EQ,C'M'),AND,36,10,ZD,GT,+10*
00000)
|