I'm trying to build & run a report with the following syntax. However, I'm hit with FOC 280 (comparison between computational and alpha values is not allowed. Any advise or assistance is very much appreciated.
Thanks.
SDAT/DMYY=HDATE(VOICELOGGER.STARTTIME, 'YYMD'); TIME/HHIS=HEXTR(VOICELOGGER.STARTTIME, 'HHIS',8,'HHIS'); SHIFT1/A20= IF CALL EQ 'Incoming' AND TIME GE '09:00:01' AND TIME LE '17:30:00' THEN '1' ELSE '0'; SHIFT2/A20= IF CALL EQ 'Incoming' AND TIME GE '17:30:01' AND TIME LE '09:00:00' THEN '1' ELSE '0'; END
TABLE FILE VOICELOGGER SUM SHIFT1/I7C SHIFT2/I7C
BY VOICELOGGER.SDAT AS 'DATE'This message has been edited. Last edited by: Tamra,
R7.7.0.1 Windows, All Outputs
March 04, 2015, 04:04 AM
Tony A
Check the example listed in the help file for HEXTR and you will see how to achieve this.
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
March 04, 2015, 04:30 AM
JS
Thanks Tony will check on it.
March 04, 2015, 07:35 AM
Alan B
Looking at this code, a couple of suggestions come to mind:
The current code will return only a '1' or '0' for SHIFT1 and SHIFT2 as you are using SUM on an alpha field.
SHIFT2 cannot be true as no time can be greater than or equal to '17:30:01' AND less than or equal to '09:00:00'.
I would suggest:
SDAT/DMYY=HDATE(VOICELOGGER.STARTTIME, 'YYMD');
TIME/HHIS=HEXTR(VOICELOGGER.STARTTIME, 'HHIS',8,'HHIS');
SHIFT1/I7C =
IF CALL EQ 'Incoming' AND TIME GE '09:00:01' AND TIME LE '17:30:00' THEN 1 ELSE 0;
SHIFT2/I7C =
IF CALL EQ 'Incoming' AND (TIME GE '17:30:01' OR TIME LE '09:00:00') THEN 1 ELSE 0;
END
TABLE FILE VOICELOGGER
SUM
SHIFT1
SHIFT2
BY VOICELOGGER.SDAT AS 'DATE'