Has anyone ever had success using the IN FILE filter operator in a DEFINE or COMPUTE. It may be designed to only work with the WHERE statement of a report filter, but I thought I've gotten this to work in the past. I know that an IF used in a DEFINE behaves more like a WHERE than an IF when used as a report filter as far as sytax. Any thoughts are appreciated, thanks!This message has been edited. Last edited by: Kerry,
WF 8.1.05, Windows Server 2012 R2
June 25, 2010, 12:46 PM
Tom Flynn
In a DEFINE/COMPUTE, you don't use IN FILE, use DDNAME:
From the Manual:
TABLE FILE EDUCFILE
PRINT EMP_ID
ON TABLE HOLD
END
TABLE FILE EMPLOYEE
PRINT EMP_ID AND LAST_NAME AND FIRST_NAME AND COMPUTE
NOT_IN_LIST/I1 = DECODE EMP_ID(HOLD ELSE 1);
WHERE DEPARTMENT EQ 'MIS';
END
The output is:
EMP_ID LAST_NAME FIRST_NAME NOT_IN_LIST
------ --------- ---------- -----------
112847612 SMITH MARY 0
117593129 JONES DIANE 0
219984371 MCCOY JOHN 1
326179357 BLACKWOOD ROSEMARIE 0
543729165 GREENSPAN MARY 1
818692173 CROSS BARBARA 0
Yes, now I remember seeing that technique in the DECODE section. It's been awhile since I did that, but I knew that I used a reference to a file in a DEFINE.