0S04I ILLEGAL SVC - HEX LOCATION nnnnnn - SVC CODE nn
When nn is 00: A real CCB address was accessed in a supervisor which does not have VSAM
When nn is 02: The phase name given does not start with $$B, or
For LIOCS, macros are called in invalid sequence. As a result, an SVC 8 is issued after an SVC
2 before an SVC 9 has been issued to free the transient area, or
For other conditions, the user specified a temporary exit (SVC 8) for a logical transient. In the
temporary exit routine, another routine is called (by an SVC 2) before an SVC 9 is issued to
free the transient area.
When nn is 05: The ‘to' range specified in the MVCOM macro is invalid.
When nn is 06: The CANCEL macro was issued in a temporary exit routine entered via SVC 8.
When nn is 0A, 12, 13, or 18: The interval timer was not allocated to this partition, or
The supervisor was generated without the timer option.
When nn is 0B: The call was not given by a logical transient routine.
When nn is 16, 17, or 1A: The caller did not have a PSW key of zero. For 17 and 1A this is
applicable only in a system with more than one partition.
When nn is 23: More than 16 holds have been issued for the same track, or a real CCB
address was accessed in a supervisor which does not have VSAM support.
When nn is 24: A FREE was issued for a non-DASD device or for a track that was not
When nn is 26: A subtask issued ATTACH, or the save area is not on a doubleword boundary,
or an ATTACH macro was issued with a supervisor which does not have multitasking support.
When nn is 27: A main task issued DETACH without SAVE=PARAMETER, or
A main task issued DETACH, but the ID of the subtask in the save area passed is not valid, or
A DETACH macro was issued with a supervisor which does not have multitasking support.
When nn is 29: A DEQ is issued by a task that did not ENQ the resource. (This is valid in an
When nn is 2A: A subtask without an ECB has issued an ENQ macro, or
A subtask has issued an ENQ macro to a resource that has not been dequeued by another
task that has been terminated, or
A task has issued two ENQ macros to the same resource without an intervening DEQ.
When nn is 2D: Emulator execution was attempted, but the EU parameter of the SUPVR
macro was omitted or incorrectly specified during system generation.
When nn is 32: A LIOCS error, such as:
· An imperative macro (such as WRITE or PUT) was issued to a module that does not
contain the requested function, or
· A PUT was issued for an ISAM retrieve module without a preceding GET, or
· An invalid ASA control character for the printer was used, or
· A wrong-length record indication occurred while processing 1287 documents when
· The 1287 program erroneously contained a CCW with the SLI flag bit 'OFF', or
· A macro sequence error occurred during the execution of a program using associated files
on the 2560 MFCM, the 5425 MFCU, or the 3525 card punch. The GET-PUT sequence
must be maintained when read/punch associated files are used.
· For the 3886, a format record of less than the minimum or more than the maximum size
was loaded via a SETDEV macro, or
· For the 3886, the format record size specified in the DTF is less than the size of the
format record being loaded by the SETDEV macro, or
· For the 3886, an attempt has been made to load a format record via the SETDEV macro
for a file that has not been opened, or
· Multiple file names have been specified on a WAITF macro.
· For COBOL. a wrong-length record was detected in the object program.
When nn is any other value: The supervisor function requested by the operand of the SVC is
not defined for the supervisor being used.
System Action: The job is canceled.
Programmer Action: If the error was caused because a supervisor function was not present.
either assemble a new supervisor with that function or delete the function from the problem
program. If the error was caused by one of the conditions listed above, correct the condition
and rerun the job. Note that some SVCs may not be issued by a subtask (for example, SVC
03, 20, and 21).
If the problem recurs, rerun the job with the PDAID program, GSVC Trace, (DOS/VS SADP)
and have the
· stand-alone dump
· problem program listing
· supervisor listing
available for problem determination.
Operator Action: To obtain a meaningful storage dump, use DOS/VS SADP.
Used with Courtesy and Permission of International Business Machines, Inc.