Hi,
  I have the following function (a version less complicated than the original one), in 
INTERNAL MODE, MaxDb v.7.5.01.00. 

CREATE FUNCTION ISEMPLOYEEINCONTEXT (DSTARTCHR TIMESTAMP) RETURNS NUMBER AS
VAR RES INT;
TRY
SELECT 1 INTO :RES
FROM
PSF.COMPANY_HUMAN_RESOURCE A
WHERE
DATE(A.D_START)=DATE(:DSTARTCHR);
RETURN RES;
CATCH
IF $RC <> 100 THEN STOP($RC,$ERRMSG)
ELSE RETURN 0;

When I call it using a select like this,
select ISEMPLOYEEINCONTEXT(A.D_START) from PSF.COMPANY_HUMAN_RESOURCE A

I obtain the following error
General error;-602 POS(1) System error: Move error.

It seems to have problems with the condition

DATE(A.D_START)=DATE(:DSTARTCHR)

I've changed it in a lot of ways, but noone works.

CHAR(A.D_START,ISO)=CHAR(:DSTARTCHR,ISO);
CHAR(A.D_START,ISO)=:DSTARTCHR;
DATE(SUBSTR(CHAR(A.D_START,ISO),1,10))= DATE(SUBSTR(CHAR(:DSTARTCHR,ISO),1,10));

I have the same problem in all the function receive Timestamp parameters, so it 
doesn't depend on the table or field passed, I think.

What Do I have to do?
Thanks in advance.

Matteo

Reply via email to