For a program that was scheduled with a schedule type of multi-trans,
Return_Transaction returns the transaction program execution environment
to the generic shell environment that was established when the transaction
program was initialized. Return_Transaction deallocates any current
conversation from a previous Get_Transaction call with a deallocate
Type(Abend). For multi-trans TPs processing protected conversations,
APPC/MVS causes all protected resources updated since the last commit
or backout to be backed out if the multi-trans TP did not issue a
Backout or Commit call prior to calling Return_Transaction for the
next incoming allocate request.
Requirements
Authorization: |
Supervisor state or problem state, any PSW key |
Dispatchable unit mode: |
Task |
Cross memory mode: |
PASN = HASN = SASN |
AMODE: |
31-bit |
ASC mode: |
Primary or access register (AR) |
Interrupt status: |
Enabled for I/O and external interrupts |
Locks: |
Unlocked |
Control parameters: |
All parameters must be addressable by the caller and in the
primary address space. |
Format
Figure 1. ATBRTRN
- Restoring the Generic EnvironmentCALL ATBRTRN(
Return_code
);
Parameters
- Return_code
- Returned parameter
- Type: Integer
- Char Set: N/A
- Length: 32 bits
Return_code specifies the return code that is returned to
the local program. In cases where an error code is returned, the
program should not examine any other returned variable associated
with the call as nothing is placed in the variables.
Valid
return values for this parameter are:
- Decimal Value
- Description
- 0
- Generic environment restored.
- 4
- Unable to restore generic environment.
- 12
- The APPC transaction scheduler was not active.
- 16
- The calling environment is not valid because:
- The TP is not scheduled as multi-trans
- The TP was not running under the APPC/MVS transaction scheduler
address space
- The calling program was in cross memory mode or SRB mode when
it called the Return_Transaction service.
The caller's security and job control language (JCL) environment
remain unchanged when the Return_Transaction service is called.
- 20
- System error.
- 24
- A previous call to the Get_Transaction or Return_Transaction service
from the same address space is still in progress.
The caller's
security and job control language (JCL) environment remain unchanged
when the Return_Transaction service is called. However, the security
and JCL environment may change when the previous Get_Transaction or
Return_Transaction call ends.
Restrictions
Transaction programs that
call the Return_Transaction service while in task mode should not
have any enabled unlocked task (EUT) functional recovery routines
(FRRs) established. For more information about EUT FRRs, see the
section on providing recovery in z/OS MVS Programming: Authorized Assembler Services Guide.