Supported RPG Features

The disk-file operations CHAIN, READ, READE, READP, READPE, WRITE, UPDATE, DELETE, SETLL, SETGT, OPEN, CLOSE and FEOD, along with NEXT, the screen operations EXFMT and READC, the transaction operations COMMIT and ROLBK, the data-area operations IN, OUT and UNLOCK, the date/time operations ADDDUR, SUBDUR, EXTRCT and TEST, and XML-INTO / XML-SAX / DATA-INTO / DATA-GEN, accept the (E) operation extender. With (E), an I/O error does not raise an exception; instead %ERROR is set on and %STATUS holds the status code, and control passes to the next statement. Test %ERROR immediately after the operation:

CHAIN(E) custKey CUSTMAS;
IF %ERROR;
  // handle the failed read; %STATUS holds the status code
  RETURN;
ENDIF;