The Transfer Job (TFRJOB) command transfers a job to the specified job queue. The job that is transferred is the one where this command is issued. If the job being transferred is an interactive job, it is given the highest priority on the job queue. New routing data and request data can be specified for the job when it is transferred.
If objects allocated to the previous routing step are needed in the new routing step, they must be allocated again. If files opened in the previous routing step are needed in the new routing step, they must be opened again.
Restrictions:
- To use this command, you must have:
- use (*USE) authority to the job queue and execute (*EXECUTE) authority to the library that contains that job queue.
- use (*USE) authority to the subsystem description associated with the subsystem that has the job queue allocated. This restriction only applies if the job being transferred is an interactive job.
- If the job being transferred is an interactive job, the following restrictions apply:
- The job queue on which the job is placed must be associated with an active subsystem.
- The work station associated with the job must have a corresponding work station entry in the subsystem description associated with the new subsystem.
- The work station associated with the job must not have another job associated with it that has been suspended by means of the Sys Req (system request) key. The suspended job must be canceled before the Transfer Job command can be run.
- The job must not be a group job.
- The job must not be a communications batch job (started as a result of a program start request), unless it meets one of the following criteria:
- It was started from an APPC communications device.
- The session on the communications device has ended.
Notes:
- Running this command in a batch job causes loss of spooled inline files because they cannot be accessed in the new routing step.
- If the target subsystem is ended (by running the End Subsystem (ENDSBS) command, the End System (ENDSYS) command, or the Power Down System (PWRDWNSYS) command) while an interactive transferring job is on a job queue, the job is canceled as part of subsystem ending.
- Because a PWRDWNSYS command inhibits new jobs or routing steps from being started by any subsystem, a batch job transferred to a job queue (by the TFRJOB command) is not completed before the system is powered down.
- The temporary objects associated with a transferring job (such as the library list, the QTEMP library, and all objects in it) are destroyed during the PWRDWNSYS command, so that during a re-initial program load (IPL), the system is unable to restore the job to its previous state. During re-IPL, the system removes the job from the job queue and produces its job log.
- If the TFRJOB command is issued in a CL program, all subsequent commands in the CL program are bypassed.
- When the new routing step is started, the current user must have use (*USE) authority to the subsystem description for the subsystem in which the routing step runs.
Job queue (JOBQ)
Specifies the qualified name of the job queue to which the job is transferred.
This is a required parameter.
Qualifier 1: Job queue
- name
- Specify the name of the job queue.
Qualifier 2: Library
- *LIBL
- All libraries in the thread's library list are searched until a match is found.
- *CURLIB
- The current library for the thread is used to locate the object. If no library is specified as the current library for the thread, the QGPL library is used.
- name
- Specify the library where the job queue is located.
TFRJOB JOBQ(QGPL/APPLICQ) RTGDTA(APPLICS)
This command transfers the job in which the command is entered to the APPLICQ job queue in the QGPL library. The job is routed using the routing data APPLICS. If the job is an interactive job, the job queue must be allocated by an active subsystem.