public class Task extends API implements RetrieveBits
This class provides a set of methods and variables that correspond to a CICS task.
Modifier and Type | Field and Description |
---|---|
java.io.PrintWriter |
err
A PrintWriter which is directed at the user's terminal, if the
Principal Facility is a terminal, or to System.err if it is not.
|
static byte |
FCI_START_NO_DATA
Constant - FCI_START_NO_DATA
|
static byte |
FCI_START_WITH_DATA
Constant - FCI_START_WITH_DATA
|
static byte |
FCI_TASK_WITH_FACILITY
Constant - FCI_TASK_WITH_FACILITY
|
static byte |
FCI_TRIGGERED_NO_FACILITY
Constant - FCI_TRIGGERED_NO_FACILITY
|
static java.io.PrintWriter |
fixedErrForJVMLifetime
STDERR
|
static java.io.PrintWriter |
fixedOutForJVMLifetime
STDOUT
|
java.io.PrintWriter |
out
A PrintWriter which is directed at the user's terminal, if the
Principal Facility is a terminal, or to System.out if it is not.
|
DATA, NUMBER_OF_BITS, QUEUE, RTERMID, RTRANSID
Modifier and Type | Method and Description |
---|---|
void |
abend()
Request a normal ABEND of the task with no ABEND code and no dump.
|
void |
abend(java.lang.String abcode)
Request a normal ABEND of the task with specific ABEND code.
|
void |
abend(java.lang.String abcode,
boolean dump)
Request a normal ABEND of the task with specific ABEND code and
optional dump.
|
void |
commit()
Commit the work done as part of the task.
|
ContainerIterator |
containerIterator()
Create a ContainerIterator for the current Channel.
|
Channel |
createChannel(java.lang.String channelName)
Create a Channel to hold the default number (16) of Containers.
|
Channel |
createChannel(java.lang.String channelName,
int listSize)
Create a Channel with room for a specific number of Containers.
|
void |
disableTaskTrace()
Deprecated.
in 4.2
|
void |
enableTaskTrace()
Deprecated.
in 4.2
|
void |
forceAbend()
Force the task to ABEND with no ABEND code and no dump.
|
void |
forceAbend(java.lang.String abcode)
Force the task to ABEND with a specific ABEND code and a dump.
|
void |
forceAbend(java.lang.String abcode,
boolean dump)
Force the task to ABEND with a specific ABEND code and optional dump.
|
Channel |
getChannel(java.lang.String channelName)
Return the named Channel object if it matches the current channel's name
or has been created through the JCICS API by this task earlier at this Link level.
|
Channel |
getCurrentChannel()
Return the current Channel, if any.
|
boolean |
getDB2SQLJJDBCActive()
Returns whether this Task is part of a DB2 SQLJ JDBC transaction.
|
byte |
getFCI()
Return the FCI for the task.
|
java.lang.Object |
getPrincipalFacility()
Return the principal facility for the current task.
|
java.lang.String |
getProgramName()
Return the CICS PROGRAM name.
|
java.lang.String |
getQNAME()
Return the QNAME for the task.
|
java.lang.String |
getSTARTCODE()
Return the STARTCODE for the task.
|
static Task |
getTask()
Return the
Task object representing the task as part of
which the current thread is executing. |
int |
getTaskNumber()
Return the task number.
|
java.lang.Thread |
getTaskThread()
Return the thread for the current task
|
java.lang.String |
getTransactionName()
Return the transaction name.
|
void |
getTWA(TWAHolder holder)
Return a copy of the Task Work Area (TWA).
|
java.lang.String |
getUSERID()
Return the USERID that is signed on to the task's principal facility.
|
void |
retrieve(java.util.BitSet whatToRetrieve,
RetrievedDataHolder holder)
Retrieve any data specified when this task was started.
|
void |
rollback()
Roll back the work done as part of the task.
|
void |
setDB2SQLJJDBCActive(boolean active)
Set/Reset the flag indicating that this Task is part of
a DB2 SQLJ JDBC transaction.
|
void |
setTWA(byte[] data)
Update the contents of the TWA from an array of bytes.
|
public java.io.PrintWriter err
public java.io.PrintWriter out
public static java.io.PrintWriter fixedOutForJVMLifetime
public static java.io.PrintWriter fixedErrForJVMLifetime
public static final byte FCI_START_NO_DATA
public static final byte FCI_TASK_WITH_FACILITY
public static final byte FCI_TRIGGERED_NO_FACILITY
public static final byte FCI_START_WITH_DATA
public void abend(java.lang.String abcode)
abcode
- the ABEND codepublic java.lang.Thread getTaskThread()
Thread
containing the thread.public void setDB2SQLJJDBCActive(boolean active)
active
- , boolean set/resetpublic boolean getDB2SQLJJDBCActive()
public void abend(java.lang.String abcode, boolean dump)
abcode
- the ABEND codedump
- false if NODUMP is required, else truejava.lang.IllegalArgumentException
- if abcode is nullpublic void abend()
public void commit() throws InvalidRequestException, RolledBackException
InvalidRequestException
- The program issuing the commit
request is a remotely-linked-to program and SYNCONRETURN was not
specified.RolledBackException
- The commit request could not be
successfully completed and the current LUW has been rolled back.@Deprecated public void disableTaskTrace()
@Deprecated public void enableTaskTrace()
public void forceAbend(java.lang.String abcode)
abcode
- the ABEND codepublic void forceAbend(java.lang.String abcode, boolean dump)
abcode
- the ABEND codedump
- false if NODUMP is required, else truepublic void forceAbend()
public byte getFCI()
byte
containing the FCI.public java.lang.Object getPrincipalFacility()
null
if there is no principal facility associated with the task).
Note that it is a simple object reference which is returned. To decide
if the principal facility is a terminal or a conversation, it is
necessary to use the instanceof
operator to test if the
object reference returned is an instance of a Terminal or of a
Conversation.public java.lang.String getQNAME()
String
containing the QNAME.public java.lang.String getSTARTCODE()
String
containing the STARTCODE.public Channel getCurrentChannel()
public Channel createChannel(java.lang.String channelName) throws ChannelErrorException
channelName
- the name of the new ChannelChannelErrorException
- CHANNELERRpublic Channel createChannel(java.lang.String channelName, int listSize) throws ChannelErrorException
channelName
- the name of the new ChannellistSize
- the initial number of ContainersChannelErrorException
- CHANNELERRpublic Channel getChannel(java.lang.String channelName)
channelName
- the name of the Channel to be returned; must not be null.public ContainerIterator containerIterator()
public static Task getTask()
Task
object representing the task as part of
which the current thread is executing.Task
object.public int getTaskNumber()
int
containing the task number.public java.lang.String getTransactionName()
String
containing the transaction name.public void getTWA(TWAHolder holder)
The corresponding setTWA(byte[]) method must be called before returning from the task or invoking another program, as the Java TWA is a copy of the "real" TWA and any changes made in Java code must be reflected back into the "real" TWA before another program is invoked which would not see the current program's copy of the TWA.
holder
- a holder for the TWA.
If there is no TWA
defined for the transaction, a byte[] of length 0 is returned as the value of
the holder.public java.lang.String getUSERID() throws InvalidRequestException
byte
containing the USERID.InvalidRequestException
- an INVREQ condition occurredpublic java.lang.String getProgramName() throws InvalidRequestException
String
containing the program name.InvalidRequestException
- an INVREQ condition occurredpublic void retrieve(java.util.BitSet whatToRetrieve, RetrievedDataHolder holder) throws EndOfDataException, InvalidRequestException, InvalidRetrieveOptionException, IOErrorException, LengthErrorException, RecordNotFoundException
whatToRetrieve
- the RetrieveBits interface provides a set of constants
that should be used to construct this java.util.BitSet
holder
- for the RetrievedDataEndOfDataException
- a ENDDATA condition occurredInvalidRequestException
- an INVREQ condition occurredInvalidRetrieveOptionException
- a ENVDEFERR condition occurredIOErrorException
- an IOERR condition occurredLengthErrorException
- a LENGERR condition occurredRecordNotFoundException
- a NOTFND condition occurredpublic void rollback() throws InvalidRequestException
InvalidRequestException
- The program issuing the commit
request is a remotely-linked-to program and SYNCONRETURN was not
specified.public void setTWA(byte[] data) throws InvalidRequestException
This method must be called before returning from the task or invoking another program, as the Java TWA is a copy of the "real" TWA and any changes made in Java code must be reflected back into the "real" TWA before another program is invoked which would not see the current program's copy of the TWA.
data
- the new data to be copied into the TWA.InvalidRequestException
- the task does not have a TWA