UPDATE/DELETE WHERE CURRENT OF

Informix® allows positioned UPDATEs and DELETEs with the "WHERE CURRENT OF cursor" clause, if the cursor has been DECLARED with a SELECT ... FOR UPDATE statement.

Note: UPDATE/DELETE ... WHERE CURRENT OF is supported by the Genero db API. However, the cursor must be OPENed and used inside a transaction.
DECLARE cur1 CURSOR FOR
  SELECT * FROM mytable
   WHERE 1=1 FOR UPDATE
BEGIN WORK
OPEN cur1
FETCH cur1 INTO x, chr
UPDATE mytable SET mycol2 = "updated"
 WHERE CURRENT OF cur1
CLOSE cur1
COMMIT WORK 

Solution

Check that your programs correctly put WHERE CURRENT OF inside a transaction.