FUNCTION test145() CREATE CURSOR AgendaPhar ( nstkjour N (6,2) , itraiterId I , iagendadateid I ) DIMENSION cSample[ 9 , 3 ] C= 0 C=C+1 cSample[ c, 1 ] = 2 cSample[ c, 2 ] = 1743 cSample[ c, 3 ] = 1 C=C+1 cSample[ c, 1 ] = 4.56 cSample[ c, 2 ] = 1800 cSample[ c, 3 ] = 1 C=C+1 cSample[ c, 1 ] = 3.75 cSample[ c, 2 ] = 1748 cSample[ c, 3 ] = 1 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 1749 cSample[ c, 3 ] = 2 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 1743 cSample[ c, 3 ] = 2 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 1748 cSample[ c, 3 ] = 2 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 1800 cSample[ c, 3 ] = 2 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 1901 cSample[ c, 3 ] = 2 C=C+1 cSample[ c, 1 ] = 0 cSample[ c, 2 ] = 2043 cSample[ c, 3 ] = 2 SELECT AgendaPhar APPEND FROM ARRAY cSample vp_id = 2 SELECT * FROM AgendaPhar WHERE iagendadateid = vp_id ; INTO CURSOR v_AgendaPhar READWRITE SELECT v_AgendaPhar UPDATE v_AgendaPhar ; SET nstkjour = NVL( pd.nStkjourCor , 0 ) +1 ; FROM v_AgendaPhar; JOIN(; SELECT apd.nstkjour AS nStkjourCor , apd.itraiterId ; FROM AgendaPhar apd ; WHERE apd.iagendadateid < vp_id ) pd ; ON v_AgendaPhar.itraiterId = pd.itraiterId BROWSE NOWAIT SET VALUES itraiterId 1749 NOT EXACT BECAUSE 0 + 1 = 1 But my request give 0 1743 EXACT BECAUSE 2 + 1 = 3 1748 EXACT because 3.75 + 1 = 4.75 1800 NOT EXCAT because 0 + 1 = 1 But my request give 0 1901 NOT EXCAT because 0 + 1 = 1 But my request give 0 ENDFUNC