SYNCDEV completion codes

When the system returns control to your problem program, the low-order byte of register 15 contains a return code. If register 15 is nonzero, the low-order byte of register 0 contains a reason code.

The SYNCDEV return and reason codes are:

Return Code (15) Reason Code (0) Meaning
00 (X'00')   Successful completion. Register 0 always contains 0.
04 (X'04') 01 (X'01') Incorrect parameter.
04 (X'04') 02 (X'02') Incorrect DCB or a DEB error.
  03 (X'03') System error occurred.
  04 (X'04') Possible system error.
  05 (X'05') 1) Device does not support buffering, or 2) SYNCDEV was issued for a DASD data set that is not supported.
  06 (X'06') Device does not support block IDs for tape data.
  07 (X'07') Invalid environment was detected by an SMS service while processing a DASD data set. Probable system error.
  08 (X'08') This is an informational message that is issued when using QSAM to process a DASD data set. SYNCDEV completed successfully. Logical records left in your QSAM buffer might not have been written to DASD.
  11 (X'0B') Unsuccessful call to ESTAE macro.
  12 (X'0C') Insufficient virtual storage available.
08 (X'08') 00 (X'00') Permanent I/O error during read block ID or synchronize command.
12 (X'0C') 00 (X'00') Permanent I/O error on the last channel program with loss of data (for tape data only).
Note: If you specified a SYNAD option in the DCB or DCBE and issue a PUT or CHECK macro after this error occurs, the system does not call the SYNAD routine unless an I/O error recurs.
  01 (X'01') An I/O error was detected by a previous output request while processing a DASD data set.