IBM OS/390 User Manual

Page of 673
CANCEL Macro
┌───────┬───────────┬────────────────────────────────┐
│ VSE │ CANCEL
ALL
├───────┼───────────┼────────────────────────────────┤
│ MVS │ ABEND │
comple─ion code
(1-12)
,DUMP ,STEP
├───────┴───────────┴────────────────────────────────┤
│ No─e: Use .STEP wi─h sub─asking.
└────────────────────────────────────────────────────┘
The VSE CANCEL macro causes the termination of the job. All succeeding job
steps within this job are automatically bypassed by job control.
The MVS ABEND macro provides this same facility. Refer to the section “DUMP
Macro” on page 280.
EOJ Macro
┌───────┬─────────┬─────────────────────────────┐
│ VSE
EOJ
│ RC=
├───────┼─────────┼─────────────────────────────┤
│ MVS
RETURN │ (reg1 ,reg2) ,T ,RC=number
,RC=(15)
└───────┴─────────┴─────────────────────────────┘
The VSE EOJ macro allows you to terminate a problem program step. Any
routine of this problem program can issue it.
The MVS RETURN macro returns control to the calling program and signals
normal termination of the returning program. To terminate a job step, you must
issue this macro by a routine at the same level as the one originally called to
begin execution of the job step. See 13.2.1.2, “Termination” on page 269 and
note Register 13 load requirements.
LOCK and UNLOCK Macros
The MVS ENQ and DEQ macros have functions similar to the VSE LOCK and
UNLOCK macros.
Example:
(VSE)
LOCK
DTL1
Get the lock
. . . .
UNLOCK DTL1
Free the lock
. . . .
DTL1
DTL
NAME=L20,CONTROL=E,LOCKOPT=1,SCOPE=EXT
(MVS)
ENQ
MF=(E,DTL1)
Get the lock
. . . .
DEQ
MF=(E,DTL1)
Free the lock
. . . .
DTL1
ENQ
(QNAME1,RNAME1,E,,SYSTEM),MF=L
QNAME1
DC
CL8
VSELOCK
RNAME1
DC
CL12
L20
Chapter 13. A s s e m b l e r
281