Table of Contents Previous Next PDF


CICS Commands and Parameters Coverage

CICS Commands and Parameters Coverage
CICS Commands and Parameters Coverage
Supported CICS Commands
The following tables describe the CICS commands and parameters that are supported by Oracle Tuxedo ART for CICS.
Note:
CICS Command and Parameter Support Table
 
Support HANDLE ABEND generated by command ABEND; partially support system ABEND.
FREE (APPC)
ENTER TRACENUM was written as ENTER TRACEID in Mainframe CICS v3 or earlier.
In each section, if INITPARM parameters are specified more than one time, only the last definition will take effect.
DELETE RBA can only be used in KSDS dataset.
WRITE RBA can only be used in ESDS dataset.
If not specified, START LENGTH will be automatically set. Its default value is in "LENGTH OF data-area" format; "data-area" is the one specified in FROM.
The Oracle Tuxedo server, TMUSREVT, must be configured in the UBBCONFIG file to support this command.
TERMID option cannot be used together with the RTRANSID/RTERMID/QUEUE option for the START TRANSID command.
Only support for local node if there is no /*XEQ NODE line defined in JCL file for the automatic submission to JES.
Only VTAM is returned.
Only ACQUIRED is returned. CONNSTATUS equals to ACQSTATUS.
For all other supported INQUIRE NETNAME options, please refer to INQUIRE TERMINAL.
INQUIRE SYSTEM
Only NOTAPPLIC is returned.
CREATESESS: NOCREATE
SERVSTATUS: INSERVICE and OUTSERVICE
TRACING: STANTRACE
CONNSTATUS equals to ACQSTATUS.
Only VSAM is returned.
The default value of DSNAME is the VSAM file name; once specified by SET FILE DSNAME, INQUIRE FILE DSNAME will return the specified value.
Only NOEMPTYREQ is returned.
Only 0 is returned.
Only 0 is returned.
Only NOTTABLE is returned.
To use this option, RESCOUNT-STAT must be set to ENABLED in programs.desc.
The supported CVDA values are DISABLED and ENABLED.
The supported CVDA values are INSERVICE and OUTSERVICE.
The supported CVDA values are ACQUIRED and RELEASED.
When bit 2/3 of WCC is '00' and bit 4 is '1', the LENGTH and FLENGTH must not be greater than 1896.
Note:
RESP, RESP2, and NOHANDLE are supported on all commands.
 
External Interface for Write Operator
The "WRITE OPERATOR" function calls a "stub" named ExternWriteOperator.
ExternWriteOperator receives all parameters of the WRITE OPERATOR and simply returns zero in the return code and nothing else.
It can be replaced by a customer function that respects the interface described below.
The WRITE OPERATOR passes the following parameters and expects a return code in signed int format.
Listing 12‑1 WRITE OPERATOR Parameters
TEXT pic x(1024).
TEXTLENGTH PIC S9(9) COMP-5.
ROUTECODES pic x(1024).
NUMROUTES PIC S9(9) COMP-5.
ACTION PIC X(2).
REPLY pic x(1024).
MAXLENGTH PIC S9(9) COMP-5.
REPLYLENGTH PIC S9(9) COMP-5.
TIMEOUT PIC S9(9) COMP-5.
 
S9(9) COMP-5 is equivalent to a signed int.
The parameters REPLY and REPLYLENGTH may be returned to the WRITE OPERATOR function if requested, that is to say, if MAXLENGTH > zero.
Example COBOl Code for ExternWriteOperator
Listing 12‑2 Example ExternWriteOperator.cbl Code
IDENTIFICATION DIVISION.
PROGRAM-ID. "ExternWriteOperator".
DATA DIVISION.
WORKING-STORAGE SECTION.
copy "ctypes".
01 ret-code usage int.
LINKAGE SECTION.
01 LK-TEXT pic x(1024).
01 LK-TEXTLENGTH PIC S9(9) COMP-5.
01 LK-ROUTECODES pic x(1024).
01 LK-NUMROUTES PIC S9(9) COMP-5.
01 LK-ACTION PIC X(2).
01 LK-REPLY pic x(1024).
01 LK-MAXLENGTH PIC S9(9) COMP-5.
01 LK-REPLYLENGTH PIC S9(9) COMP-5.
01 LK-TIMEOUT PIC S9(9) COMP-5.
 
PROCEDURE DIVISION USING LK-TEXT LK-TEXTLENGTH LK-ROUTECODES
LK-NUMROUTES LK-ACTION LK-REPLY
LK-MAXLENGTH LK-REPLYLENGTH LK-TIMEOUT.
 
 
* * display "ExternWriteOperator : LK-TEXT =<" LK-TEXT ">"
* * display "ExternWriteOperator : LK-TEXTLENGTH =<" LK-TEXTLENGTH ">"
* * display "ExternWriteOperator : LK-ROUTECODES =<" LK-ROUTECODES ">"
* * display "ExternWriteOperator : LK-NUMROUTES =<" LK-NUMROUTES ">"
* * display "ExternWriteOperator : LK-ACTION =<" LK-ACTION ">"
* * display "ExternWriteOperator : LK-REPLY =<" LK-REPLY ">"
* * display "ExternWriteOperator : LK-MAXLENGTH =<" LK-MAXLENGTH ">"
* * display "ExternWriteOperator : LK-REPLYLENGTH =<" LK-REPLYLENGTH ">"
* * display "ExternWriteOperator : LK-TIMEOUT =<" LK-TIMEOUT ">"
 
* * in case of REPLY
if LK-MAXLENGTH > zero
* * move "..............." to LK-REPLY
* * move 15 to LK-REPLYLENGTH
end-if
 
move zero to ret-code
* * return code
* * 0 = OK
* * -1 = operation failed (INVREC wil returned to the user program)
* * -9 = time out ocurred before the operators's reply was received
 
 
GOBACK returning ret-code.
External Interface for Query Security
The "QUERY SECURITY" function calls a “stub” named ExternQuerySecurity.
The delivered ExternQuerySecurity stub receives all parameters of the QUERY SECURITY, it always allows access to the resources and returns zero in the return code. It can be replaced by a customer function that respects the interface described below.
The QUERY SECURITY passes the following parameters:
Listing 12‑3 Query Security Extern Inteface
restype pic x(7).
restype-data-value pic x(12).
resclass pic x(8).
resclass-data-value pic x(8).
residlength pic x(11).
residlength-data-value pic s9(8) comp-5.
resid pic x(5).
resid-data-value pic x(246).
logmessage pic x(10).
logmessage-cvda pic s9(8) comp-5.
read pic x(10).
read-cvda pic s9(8) comp-5.
update pic x(10).
update-cvda pic s9(8) comp-5.
control pic x(10).
control-cvda pic s9(8) comp-5.
alter pic x(10).
alter-cvda pic s9(8) comp-5.
resp pic s9(8) comp-5.
resp2 pic s9(8) comp-5.
userid                      pic x(8).
All parameters are passed to ExternQuerySecurity, only the following parameters are expected in return:
read-cvda pic s9(8) comp-5.
update-cvda pic s9(8) comp-5.
control-cvda pic s9(8) comp-5.
alter-cvda pic s9(8) comp-5.
resp pic s9(8) comp-5.
resp2 pic s9(8) comp-5.
If "read" is fulfilled with "READ", read-cvda is expected.
If "update" is fulfilled with "READ", update-cvda is expected.
If "control" is fulfilled with "READ", control-cvda is expected.
If "alter" is fulfilled with "READ", alter-cvda is expected.
"resp" and "resp2" are always expected.
Note:
Each interface field is ended by a binary zero, it easier if you want write the "ExternQuerySecurity" in C.
The cvda values for "read" are:
READABLE 35.
NOTREADABLE 36.
The cvda values for "update" are:
UPDATABLE 37.
NOTUPDATABLE 38.
The cvda values for "control" are:
CTRLABLE 56.
NOTCTRLABLE 57.
The cvda values for "alter" are:
ALTERABLE 52.
NOTALTERABLE 53.
For more details, see cvda values in IBM documentation.
S9(9) COMP-5 is equivalent to a signed int.
Example COBOl Code for ExternQuerySecurity
Listing 12‑4 Example COBOL Code for ExternQuerySecurity
IDENTIFICATION DIVISION.
PROGRAM-ID. "ExternQuerySecurity".
DATA DIVISION.
WORKING-STORAGE SECTION.
copy "ctypes".
01 ret-code usage int.
01 cvda-logmessage pic s9(8) comp-5.
88 LOG value 54.
88 NOLOG value 55.
01 cvda-read pic s9(8) comp-5.
88 READABLE value 35.
88 NOTREADABLE value 36.
01 cvda-update pic s9(8) comp-5.
88 UPDATABLE value 37.
88 NOTUPDATABLE value 38.
01 cvda-control pic s9(8) comp-5.
88 CTRLABLE value 56.
88 NOTCTRLABLE value 57.
01 cvda-alter pic s9(8) comp-5.
88 ALTERABLE value 52.
88 NOTALTERABLE value 53.
LINKAGE SECTION.
01 LK-restype pic x(7).
01 LK-restype-data-value pic x(12).
01 LK-resclass pic x(8).
01 LK-resclass-data-value pic x(8).
01 LK-residlength pic x(11).
01 LK-residlength-data-value pic s9(8) comp-5.
01 LK-resid pic x(5).
01 LK-resid-data-value pic x(246).
01 LK-logmessage pic x(10).
01 LK-logmessage-cvda pic s9(8) comp-5.
01 LK-read pic x(10).
01 LK-read-cvda pic s9(8) comp-5.
01 LK-update pic x(10).
01 LK-update-cvda pic s9(8) comp-5.
01 LK-control pic x(10).
01 LK-control-cvda pic s9(8) comp-5.
01 LK-alter pic x(10).
01 LK-alter-cvda pic s9(8) comp-5.
01 LK-resp pic s9(8) comp-5.
01 LK-resp2 pic s9(8) comp-5.
       01 LK-userid                      pic x(8).
PROCEDURE DIVISION USING LK-restype
LK-restype-data-value
LK-resclass
LK-resclass-data-value
LK-residlength
LK-residlength-data-value
LK-resid
LK-resid-data-value
LK-logmessage
LK-logmessage-cvda
LK-read
LK-read-cvda
LK-update
LK-update-cvda
LK-control
LK-control-cvda
LK-alter
LK-alter-cvda
LK-resp
LK-resp2
                                LK-userid
.
* * display "ExternQuerySecurity : LK-restype =" LK-restype
* * display "ExternQuerySecurity : LK-restype-data-value =" LK-restype-data-value
* * display "ExternQuerySecurity : LK-resclass =" LK-resclass
* * display "ExternQuerySecurity : LK-resclass-data-value =" LK-resclass-data-value
* * display "ExternQuerySecurity : LK-residlength =" LK-residlength
* * display "ExternQuerySecurity : LK-residlength-data-value=" LK-residlength-data-value
* * display "ExternQuerySecurity : LK-resid =" LK-resid
* * display "ExternQuerySecurity : LK-resid-data-value =" LK-resid-data-value
* * display "ExternQuerySecurity : LK-logmessage =" LK-logmessage
* * display "ExternQuerySecurity : LK-logmessage-cvda =" LK-logmessage-cvda
* * display "ExternQuerySecurity : LK-read =" LK-read
* * display "ExternQuerySecurity : LK-read-cvda =" LK-read-cvda
* * display "ExternQuerySecurity : LK-update =" LK-update
* * display "ExternQuerySecurity : LK-update-cvda =" LK-update-cvda
* * display "ExternQuerySecurity : LK-control =" LK-control
* * display "ExternQuerySecurity : LK-control-cvda =" LK-control-cvda
* * display "ExternQuerySecurity : LK-alter =" LK-alter
* * display "ExternQuerySecurity : LK-alter-cvda =" LK-alter-cvda
* * display "ExternQuerySecurity : LK-resp =" LK-resp
* * display "ExternQuerySecurity : LK-resp2 =" LK-resp2
 
 
if address of LK-read not = null
if LK-read = "READ"
set READABLE to true
move cvda-read to LK-read-cvda
end-if
end-if
if address of LK-update not = null
if LK-update = "UPDATE"
set UPDATABLE to true
move cvda-update to LK-update-cvda
end-if
end-if
if address of LK-control not = null
if LK-control = "CONTROL"
set CTRLABLE to true
move cvda-control to LK-control-cvda
end-if
end-if
if address of LK-alter not = null
if LK-alter = "ALTER"
set ALTERABLE to true
move cvda-alter to LK-alter-cvda
end-if
end-if
 
move zero to LK-resp LK-resp2
 
move zero to ret-code
* * return code
* * 0 = OK
* * -1 = operation failed (INVREC wil returned to the user program)
 
GOBACK returning ret-code.
 
 
Developing the ExternQuerySecurity in C
1.
int ExternQuerySecurity(char *restype, char *restype_data_value, char *resclass, char *resclass_data_value, char *residlength, int *residlength_data_value, char *resid, char *resid_data_value, char *logmessage, int *logmessage_cvda, char *read, int *read_cvda, char *update, int *update_cvda, char *control, int *control_cvda, char *alter, int *alter_cvda, int *resp, int *resp2, char *userid);
2.
Generate an "ExternQuerySecurity.o", and link it in ART servers (STRN, STR1, ATRN, ATR1, CTRN, CTR1).
3.
In the makefile_intg (Cics_Rt/tools), add the "ExternQuerySecurity.o" in object variables for each server (STRN_OBJS, STR1_OBJS, ATRN_OBJS, ATR1_OBJS, CTRN_OBJS, CTR1_OBJS)
4.
Supported EIB Fields
The following table describes the EIB fields that are supported by Oracle Tuxedo ART for CICS.
 
Supported BMS Macros
The following describes the BMS Macros that are supported by Oracle Tuxedo ART for CICS.
Mapset DFHMSD
TYPE=(Choose only one from list)
SYSPARM (recognized)
DSECT (recognized)
MAP (recognized)
FINAL
Note:
recognized means function is not achieved, but there are no errors when doing MAPGEN compilation.
MODE=(Choose only one from list)
OUT
IN
INOUT
LANG=(Choose only one from list)
COBOL
PLI
C
STORAGE=AUTO
BASE=NAME
CTRL=(Choose any combination from the list, separate with a comma)
FREEKB
ALARM
FRSET
EXTATT=(Choose only one from list)
NO
MAPONLY
YES
COLOR=(Choose only one from list)
DEFAULT
Color
HILIGH=(Choose only one from list)
OFF
BLINK
REVERSE
UNDERLINE
PS=(Choose only one from list)
Psid
TERM=3270-2
SUFFIX=(One alphanumeric character or blank)
MAPATTS=(Choose any combination from list, separate with a comma)
COLOR
HILIGHT
OUTLINE
PS
SOSI
DSATTS=(Choose any combination from list, separate with a comma)
COLOR
HILIGHT
OUTLINE
PS
SOSI
OUTLINE=(Choose only one from list)
BOX
LEFT
LEFT,RIGHT
LEFT,OVER
LEFT,UNDER
LEFT,RIGHT,OVER
LEFT,RIGHT,UNDER
LEFT,RIGHT,OVER,UNDER
RIGHT
RIGHT,OVER
RIGHT,UNDER
RIGHT,OVER,UNDER
OVER
OVER,UNDER
UNDER
SOSI=(Choose only one from list)
YES
NO
Map DFHMDI
SIZE=(line,column)
CTRL=(Choose any combination from the list, separate with a comma)
FREEKB
ALARM
FRSET
EXTATT=(Choose only one from list)
NO
MAPONLY
YES
COLOR=(Choose only one from list)
DEFAULT
Color
HILIGHT=(Choose only one from list)
OFF
BLINK
REVERSE
UNDERLINE
PS=(Choose only one from list)
psid
MAPATTS=(Choose any combination from list, separate with a comma)
COLOR
HILIGHT
OUTLINE
PS
SOSI
DSATTS=(Choose any combination from list, separate with a comma)
COLOR
HILIGHT
OUTLINE
PS
SOSI
OUTLINE=(Choose only one from list)
BOX
LEFT
LEFT,RIGHT
LEFT,OVER
LEFT,UNDER
LEFT,RIGHT,OVER
LEFT,RIGHT,UNDER
LEFT,RIGHT,OVER,UNDER
RIGHT
RIGHT,OVER
RIGHT,UNDER
RIGHT,OVER,UNDER
OVER
OVER,UNDER
UNDER
SOSI=(Choose only one from list)
YES
NO
COLUMN=(Choose only one from list)
SAME
Number
NEXT
LINE=(Choose only one from list)
SAME
Number
NEXT
JUSTIFY=(Choose only one from list)
LEFT
LEFT,FIRST
LEFT,LAST
RIGHT
RIGHT,FIRST
RIGHT,LAST
BOTTOM
HEADER=YES
TRAILER=YES
Field DFHMDF
CASE=MIXED
POS=(Choose only one from list)
Number
Line,Column
LENGTH=number
JUSTIFY=(Choose only one from list)
LEFT
LEFT,BLANK
LEFT,ZERO
RIGHT
RIGHT,BLANK
RIGHT,ZERO
INITIAL='char-data'
XINIT='hex-data'
GINIT='DBCS-characters'
ATTRB=(parameter group A, parameter B, parameter group C)
Choose exactly one from parameter group A:
ASKIP
PROT
UNPROT
UNPROT,NUM
Choose zero or one from parameter group B:
BRT
NORM
DRK
Choose any combination (0 to all) from parameter group C; this group is allowed only if parameter from gourp B is also used:
IC
FSET
COLOR=(Choose only one from list)
DEFAULT
Color
PS=(Choose only one from list)
Psid
HILIGHT=(Choose only one from list)
OFF
BLINK
REVERSE
UNDERLINE
GRPNAME=group-name
OCCURS=number
PICIN='value'
PICOUT='value'
OUTLINE=(Choose only one from list)
BOX
LEFT
LEFT,RIGHT
LEFT,OVER
LEFT,UNDER
LEFT,RIGHT,OVER
LEFT,RIGHT,UNDER
LEFT,RIGHT,OVER,UNDER
RIGHT
RIGHT,OVER
RIGHT,UNDER
RIGHT,OVER,UNDER
OVER
OVER,UNDER
UNDER
SOSI=(Choose only one from list)
YES
NO
Supported ECI C API Parameters
The following table describes the ECI C API parameters that are supported by Oracle Tuxedo ART for CICS.
Notes:
Only ECI v1 API CICS_ExternalCall (ECI_Parms) is supported.
 
eci_program_name is the program name defined in programs.desc in ART CICS.
If security is not enabled on ART CICS side, eci_userid is not checked on ECI Emulator.
If security is not enabled on ART CICS side, eci_password is not checked on ECI Emulator.
It cannot be NULL since no default system name is allowed.

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.