com.ibm.cics.server
Class Program

java.lang.Object
  |
  +--com.ibm.cics.server.API
        |
        +--com.ibm.cics.server.Resource
              |
              +--com.ibm.cics.server.RemotableResource
                    |
                    +--com.ibm.cics.server.Program

public class Program
extends RemotableResource
implements java.io.Serializable

This class provides the Java interface to CICS Program Control equivalent to the LINK and XCTL commands.

It defines the following properties:


Constructor Summary
Program()
           
 
Method Summary
 boolean getSyncOnReturn()
          Will this program always performs a SYNCPOINT when it returns? This only applies to remote programs.
 java.lang.String getTransId()
          Return the name of the CICS (mirror) transaction to be used to run the remote program.
 void link()
          Link to this program, neither passing, nor receiving a COMMAREA.
 void link(byte[] commArea)
          Link to this program, specifying a commarea.
 void link(byte[] commArea, int dataLength)
          Link to this program, specifying a commarea, and its DATALENGTH.
 void link(IByteBuffer commArea)
          Link to this program, specifying a commarea, using the IByteBuffer interface.
 void link(IByteBuffer commAreaIn, IByteBuffer commAreaOut)
          Link to this program, specifying a commarea, using a sperarate IByteBuffer for the input data and output data.
 void setSyncOnReturn(boolean b)
           
 void setTransId(java.lang.String transId)
          Set the transaction name to be used when running the program remotely, instead of CPMI.
 void xctl()
          Not Implemented.  
 void xctl(byte[] commArea)
          Not Implemented.  
 
Methods inherited from class com.ibm.cics.server.RemotableResource
getSysId, setSysId
 
Methods inherited from class com.ibm.cics.server.Resource
getDescription, getName, setDescription, setName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Program

public Program()
Method Detail

getSyncOnReturn

public boolean getSyncOnReturn()
Will this program always performs a SYNCPOINT when it returns? This only applies to remote programs.

getTransId

public java.lang.String getTransId()
Return the name of the CICS (mirror) transaction to be used to run the remote program.
Returns:
The name of the (mirror) transaction to be used.

link

public void link()
          throws InvalidRequestException,
                 LengthErrorException,
                 NotAuthorisedException,
                 InvalidProgramIdException,
                 RolledBackException,
                 InvalidSystemIdException,
                 TerminalException
Link to this program, neither passing, nor receiving a COMMAREA.

link

public void link(byte[] commArea)
          throws InvalidRequestException,
                 LengthErrorException,
                 NotAuthorisedException,
                 InvalidProgramIdException,
                 RolledBackException,
                 InvalidSystemIdException,
                 TerminalException
Link to this program, specifying a commarea.
Parameters:
commArea - A byte array containing the CommArea.

link

public void link(byte[] commArea,
                 int dataLength)
          throws InvalidRequestException,
                 LengthErrorException,
                 NotAuthorisedException,
                 InvalidProgramIdException,
                 RolledBackException,
                 InvalidSystemIdException,
                 TerminalException
Link to this program, specifying a commarea, and its DATALENGTH. This method is the only way that DATALENGTH can be specified.
Parameters:
commArea - A byte array containing the CommArea.
dataLength - The length of data passed to the linked to program. This is the equivalent of the DATALENGTH parameter of an EXEC CICS LINK command.

link

public void link(IByteBuffer commArea)
          throws InvalidRequestException,
                 LengthErrorException,
                 NotAuthorisedException,
                 InvalidProgramIdException,
                 RolledBackException,
                 InvalidSystemIdException,
                 TerminalException
Link to this program, specifying a commarea, using the IByteBuffer interface.

This method supports uses of link where the same structure is used for both the request data and the response data.

Parameters:
commArea - The input/output commarea object.

link

public void link(IByteBuffer commAreaIn,
                 IByteBuffer commAreaOut)
          throws InvalidRequestException,
                 LengthErrorException,
                 NotAuthorisedException,
                 InvalidProgramIdException,
                 RolledBackException,
                 InvalidSystemIdException,
                 TerminalException
Link to this program, specifying a commarea, using a sperarate IByteBuffer for the input data and output data. If the input data is shorter than the output data then this method will set the DATALENGTH option in the underlying CICS API.
Parameters:
commAreaIn - The input commarea object.
commAreaOut - The output commarea object.

setSyncOnReturn

public void setSyncOnReturn(boolean b)
Parameters:
b - Issue a syncpoint when the program returns?

setTransId

public void setTransId(java.lang.String transId)
Set the transaction name to be used when running the program remotely, instead of CPMI.
Parameters:
transId - The transid under which the program will run.

xctl

public void xctl()
          throws NotAuthorisedException,
                 InvalidProgramIdException
This method is not implemented in this release.
 
Transfer control to the program, terminating the current program.

xctl

public void xctl(byte[] commArea)
          throws NotAuthorisedException,
                 InvalidProgramIdException
This method is not implemented in this release.
 
Transfer control to the program, terminating the current program, passing in a commarea.
Parameters:
commArea - The commarea to pass to the XCTLed program.


Copyright (c) 2005 by Sun Microsystems, Inc.