Package dev.galasa.cicsts
Interface ICeci
public interface ICeci
CICS/TS Command-level Interpreter (CECI) Interface.
-
Method Summary
Modifier and TypeMethodDescriptionint
defineVariable4BytePacked
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull int value) Define a packed decimal CECI variable (CECI variable type P).int
defineVariable8BytePacked
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull long value) Define a full double word CECI variable (CECI variable type D).int
defineVariableBinary
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull char[] value) Define a CECI binary variable.int
defineVariableDoubleWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull long value) Define a double word CECI variable (CECI variable type FD).int
defineVariableFullWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull int value) Define a full word CECI variable (CECI variable type F).int
defineVariableHalfWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @javax.validation.constraints.NotNull int value) Define a half word CECI variable (CECI variable type H).int
defineVariableText
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name, @NotNull String value) Define a CECI text variable.void
deleteAllVariables
(@NotNull ICicsTerminal ceciTerminal) Delete all variables in this CECI session.void
deleteVariable
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Delete a single CECI variable.getContainer
(@NotNull ICicsTerminal ceciTerminal, @NotNull String channelName, @NotNull String containerName, @NotNull String variableName, String intoCcsid, String intoCodepage) Gets the data in a CONTAINER with an associated CHANNEL into a CECI variable.getEIB
(@NotNull ICicsTerminal ceciTerminal) Retrieve the content of the current EXEC Interface Block (EIB)issueCommand
(@NotNull ICicsTerminal ceciTerminal, @NotNull String command) Issue a CECI command.issueCommand
(@NotNull ICicsTerminal ceciTerminal, @NotNull String command, boolean parseOutput) Issue a CECI command.issueCommand
(@NotNull ICicsTerminal ceciTerminal, @NotNull String command, HashMap<String, Object> options) Issue a CECI command.issueCommand
(@NotNull ICicsTerminal ceciTerminal, @NotNull String command, HashMap<String, Object> options, boolean parseOutput) Issue a CECI command.linkProgram
(@NotNull ICicsTerminal ceciTerminal, @NotNull String programName, String commarea, String sysid, String transid, boolean synconreturn) EXEC CICS LINK to a PROGRAM.linkProgramWithChannel
(@NotNull ICicsTerminal ceciTerminal, @NotNull String programName, @NotNull String channelName, String sysid, String transid, boolean synconreturn) EXEC CICS LINK to a PROGRAM with a CHANNEL.putContainer
(@NotNull ICicsTerminal ceciTerminal, @NotNull String channelName, @NotNull String containerName, @NotNull String content, String dataType, String fromCcsid, String fromCodepage) Puts data in a CONTAINER with an associated CHANNEL.int
retrieveVariable4BytePacked
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a packed decimal CECI variable (CECI variable type P).long
retrieveVariable8BytePacked
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a double word CECI variable (CECI variable type D).char[]
retrieveVariableBinary
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a CECI binary variable.long
retrieveVariableDoubleWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a double word CECI variable (CECI variable type FD).int
retrieveVariableFullWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a full word CECI variable (CECI variable type F).int
retrieveVariableHalfWord
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a half word CECI variable (CECI variable type H).retrieveVariableText
(@NotNull ICicsTerminal ceciTerminal, @NotNull String name) Retrieve a CECI text variable.void
startCECISession
(@NotNull ICicsTerminal ceciTerminal) Start a new active CECI session.
-
Method Details
-
startCECISession
Start a new active CECI session. Sets terminal to mixed case and input (CEOT TRANIDONLY
) and starts the CECI transaction- Parameters:
ceciTerminal
- anICicsTerminal
- Throws:
CeciException
-
issueCommand
ICeciResponse issueCommand(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String command) throws CeciException Issue a CECI command. The command will be stored and executed from a CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
command
- aString
containing the CECI command- Returns:
- an
ICeciResponse
object containing the command's response and output values. - Throws:
CeciException
-
issueCommand
ICeciResponse issueCommand(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String command, boolean parseOutput) throws CeciException Issue a CECI command. The command will be stored and executed from a CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
command
- aString
containing the CECI commandparseOutput
- parse the command output and store inICeciResponse
. Setting to false can improve performance on commands that contain a lot of output fields, e.g.ASSIGN
. The following examples shows how to retrieve a specific returned value:
issueCommand(ICicsTerminal, "ASSIGN USERID(&VAR)", false)
retrieveVariableText(ICicsTerminal, "&VAR")- Returns:
- an
ICeciResponse
object containing the command's response. - Throws:
CeciException
-
issueCommand
ICeciResponse issueCommand(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String command, HashMap<String, Object> options) throws CeciExceptionIssue a CECI command. The command will be stored and executed from a CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
command
- aString
containing the CECI command- Returns:
- an
ICeciResponse
object containing the command's response and output values. - Throws:
CeciException
-
issueCommand
ICeciResponse issueCommand(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String command, HashMap<String, Object> options, boolean parseOutput) throws CeciExceptionIssue a CECI command. The command will be stored and executed from a CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
command
- aString
containing the CECI commandparseOutput
- parse the command output and store inICeciResponse
. Setting to false can improve performance on commands that contain a lot of output fields, e.g.ASSIGN
.
The following examples shows how to retrieve a specific returned value:issueCommand(ICicsTerminal, "ASSIGN USERID(&VAR)", false)
retrieveVariableText(ICicsTerminal, "ASSIGN USERID(&VAR)", false)- Returns:
- an
ICeciResponse
object containing the command's response. - Throws:
CeciException
-
defineVariableText
int defineVariableText(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @NotNull String value) throws CeciException Define a CECI text variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- text string with a maximum length of 32767 characters.- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariableBinary
int defineVariableBinary(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull char[] value) throws CeciException Define a CECI binary variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- binary char array with a maximum length of 32767 characters.- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariableDoubleWord
int defineVariableDoubleWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull long value) throws CeciException Define a double word CECI variable (CECI variable type FD).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- a long representing a double word (8 bytes) with a decimal integer value from -9223372036854775808D to +9223372036854775807D (0x80000000 00000000 to 0x7FFFFFFF FFFFFFFF)- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariableFullWord
int defineVariableFullWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull int value) throws CeciException Define a full word CECI variable (CECI variable type F).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- an integer representing a full word (4 bytes) with a decimal value from -2147483648 to +2147483647 (0x80000000 to 0x7FFFFFFF)- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariableHalfWord
int defineVariableHalfWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull int value) throws CeciException Define a half word CECI variable (CECI variable type H).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- an integer representing a full word (2 bytes) with a decimal value from -32768 to +32767 (0x8000 to 0x7FFF)- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariable4BytePacked
int defineVariable4BytePacked(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull int value) throws CeciException Define a packed decimal CECI variable (CECI variable type P).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- an integer representing 4 byte decimal value from -9999999 to +9999999 (0x9999999D to 0x9999999C)- Returns:
- the length of the defined variable
- Throws:
CeciException
-
defineVariable8BytePacked
int defineVariable8BytePacked(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name, @NotNull @javax.validation.constraints.NotNull long value) throws CeciException Define a full double word CECI variable (CECI variable type D).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.value
- a long representing 8 byte decimal with a decimal integer value from -999999999999999 to +999999999999999 (0x99999999 9999999D to 0x99999999 9999999F)- Returns:
- the length of the defined variable
- Throws:
CeciException
-
retrieveVariableText
String retrieveVariableText(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a CECI text variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariableBinary
char[] retrieveVariableBinary(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a CECI binary variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariableDoubleWord
long retrieveVariableDoubleWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a double word CECI variable (CECI variable type FD).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariableFullWord
int retrieveVariableFullWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a full word CECI variable (CECI variable type F).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariableHalfWord
int retrieveVariableHalfWord(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a half word CECI variable (CECI variable type H).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariable4BytePacked
int retrieveVariable4BytePacked(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a packed decimal CECI variable (CECI variable type P).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
retrieveVariable8BytePacked
long retrieveVariable8BytePacked(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Retrieve a double word CECI variable (CECI variable type D).- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Returns:
- variable value
- Throws:
CeciException
-
deleteVariable
void deleteVariable(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String name) throws CeciException Delete a single CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
name
- variable name. CECI variable names have a maximum length of 10 characters including leading &.- Throws:
CeciException
-
deleteAllVariables
Delete all variables in this CECI session.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.- Throws:
CeciException
-
getEIB
Retrieve the content of the current EXEC Interface Block (EIB)- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.- Returns:
- the
IExecInterfaceBlock
- Throws:
CeciException
-
linkProgram
ICeciResponse linkProgram(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String programName, String commarea, String sysid, String transid, boolean synconreturn) throws CeciException EXEC CICS LINK to a PROGRAM.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
programName
- the name of the PROGRAMcommarea
- a string representing the COMMAREA. If null, COMMAREA will be omitted from the command. Can be CECI variable name populated with (&)name set viadefineVariableText(ICicsTerminal, String, String)
) or the actual data. The value of DATALENGTH in the command will be be allowed to default.sysid
- the system name where the CICS region where the link request is to be routed. If null, SYSID will be omitted from the command.transid
- the name of the mirror transaction on the remote region. If null, TRANSID will be omitted from the command.synconreturn
- the remote system should take a sync point at program end. If false, SYNCONRETURN will be omitted from the command.- Returns:
- an
ICeciResponse
object containing the command's response. - Throws:
CeciException
-
linkProgramWithChannel
ICeciResponse linkProgramWithChannel(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String programName, @NotNull @NotNull String channelName, String sysid, String transid, boolean synconreturn) throws CeciException EXEC CICS LINK to a PROGRAM with a CHANNEL. UseputContainer(ICicsTerminal, String, String, String, String, String, String)
to create the container(s) on the CHANNEL andgetContainer(ICicsTerminal, String, String, String, String, String)
to retrieve the content after the LINK.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
programName
- the name of the PROGRAMchannelName
- the name of the CHANNEL.- Throws:
CeciExceptionan
- anICeciResponse
object containing the command's response.CeciException
-
putContainer
ICeciResponse putContainer(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String channelName, @NotNull @NotNull String containerName, @NotNull @NotNull String content, String dataType, String fromCcsid, String fromCodepage) throws CeciException Puts data in a CONTAINER with an associated CHANNEL.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session.channelName
- the CHANNELNAMEcontainerName
- the COTAINER namecontent
- a string representing the container contents. Can be CECI variable name populated with (&)name set viadefineVariableText(ICicsTerminal, String, String)
) or the actual data. The value of FLENGTH in the command will be set to the data length.dataType
- BIT or CHAR. If null, DATATYPE will be omitted from the command.fromCcsid
- provides a value for FROMCCSID. If null, will be omitted from the command.fromCodepage
- provides a value for FROMCODEPAGE. If null, will be omitted from the command.- Returns:
- an
ICeciResponse
object containing the command's response. - Throws:
CeciException
-
getContainer
ICeciResponse getContainer(@NotNull @NotNull ICicsTerminal ceciTerminal, @NotNull @NotNull String channelName, @NotNull @NotNull String containerName, @NotNull @NotNull String variableName, String intoCcsid, String intoCodepage) throws CeciException Gets the data in a CONTAINER with an associated CHANNEL into a CECI variable.- Parameters:
ceciTerminal
- anICicsTerminal
object logged on to the CICS region and in an active CECI session. If mixed case is required, the terminal should be presented with no upper case translate status. For example, the test could first issueCEOT TRANIDONLY
channelName
- the CHANNELNAMEcontainerName
- the CONTAINER namevariableName
- the CECI variable name. Data can be retrieved usingretrieveVariableText(ICicsTerminal, String)
intoCcsid
- provides a value for INTOCCSID. If null, will be omitted from the command.intoCodepage
- provides a value for INTOCODEPAGE. If null, will be omitted from the command.- Returns:
- an
ICeciResponse
object containing the command's response. - Throws:
CeciException
-