The following table matches the values specified on the IS or IS_NOT parameters with the actual I/O return codes. For more information, refer to I/O Return Codes:
Parameter Value | I/O Return Code |
|---|---|
*OKAY | 'OK' |
*VALERROR | 'VE' |
*ERROR | 'ER' |
*NORECORD | 'NR' |
*ENDFILE | 'EF' |
*BEGINFILE | 'BF' |
*NOTEQUALKEY | 'NE' |
*EQUALKEY | 'EQ' |
IF_STATUS does NOT check the value of #IO$STS. IF_STATUS simply returns the status of the last database I/O command. In many cases this will be the same as IF COND(#IO$STS *EQ {Some Value}). However it should be noted that in the following cases these statements will be different:
When #IO$STS is being set through an Output mapping of a MthRoutine.
When #IO$STS is being set through an Output mapping of a SubRoutine.
When #IO$STS is being used in the TO_GET parameter of a USE command.
When #IO$STS is EXCHANGE'ed from another program/function.