I'm trying to get the most recent "Stop Date" value that is less than today.
When I use "LOWEST 1", the code executes.
When I use "HIGHEST 1", I get an error that " (FOC002) A WORD IS NOT RECOGNIZED: 1"
Can anyone see what I'm doing wrong? I've used the "HIGHEST 1" in other queries with no issues.
Thank you.
SET ASNAMES = ON
SET DTSTANDARD = STANDARD
DEFINE FILE FACILITIES
AUDIT_STOP_DATE/YYMD= HDATE(STOPDATE,'YYMD');
END
TABLE FILE FACILITIES
PRINT
GENERALFACILITYID
AUDIT_STOP_DATE AS 'AUDIT_STOP_DATE'
BY GENERALFACILITYID NOPRINT
BY HIGHEST 1 AUDIT_STOP_DATE NOPRINT
WHERE GENERALFACILITYID EQ '03640'
WHERE AUDIT_STOP_DATE LT &YYMD
ON TABLE PCHOLD FORMAT EXL2K
END
-EXIT
This message has been edited. Last edited by: Kerry,
Production - 7.6.4 Sandbox - 7.6.4
April 13, 2011, 11:12 AM
Francis Mariani
I tried to simulate your fex, and with the following code I did not get an error:
FILEDEF MASTER DISK FACILITIES.MAS
-RUN
-WRITE MASTER FILENAME=FACILITIES, SUFFIX=FIX
-WRITE MASTER SEGNAME=FACILITIES
-WRITE MASTER FIELDNAME=GENERALFACILITYID, FORMAT=A20, ACTUAL=A20, $
-WRITE MASTER FIELDNAME=STOPDATE, FORMAT=HYYMDS, ACTUAL=A17, $
-RUN
SET ASNAMES = ON
SET DTSTANDARD = STANDARD
-RUN
DEFINE FILE FACILITIES
AUDIT_STOP_DATE/YYMD= HDATE(STOPDATE,'YYMD');
END
-RUN
TABLE FILE FACILITIES
PRINT
GENERALFACILITYID
AUDIT_STOP_DATE AS 'AUDIT_STOP_DATE'
BY GENERALFACILITYID NOPRINT
BY HIGHEST 1 AUDIT_STOP_DATE NOPRINT
WHERE GENERALFACILITYID EQ '03640'
WHERE AUDIT_STOP_DATE LT &YYMD
ON TABLE PCHOLD FORMAT EXL2K
END
-RUN
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server