![]() ![]() ![]() ![]() ![]() ![]() |
次の表では、Oracle Tuxedo ART for CICSでサポートされているCICSコマンドおよびパラメータについて説明します。
注意: | 表12-1および表12-2にリストされていないコマンドおよびパラメータは、サポートされません。 |
注意: |
WRITE OPERATOR
関数は、ExternWriteOperator
という名前のスタブを呼び出します。
ExternWriteOperator
は、WRITE OPERATOR
のすべてのパラメータを受け取り、リターン・コード内で単にゼロを戻し、他に何も戻しません。
次に説明する、インタフェースを遵守するカスタマ関数に置き換えることができます。
WRITE OPERATOR
は次のパラメータを渡し、符号付きint書式のリターン・コードを予期します。
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.
リクエストされた場合、つまりMAXLENGTH > 0
の場合に、パラメータREPLY
とREPLYLENGTH
がWRITE OPERATOR
関数に戻される場合があります。
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.
「QUERY SECURITY
」関数は、ExternQuerySecurity
という名前の「スタブ」を呼び出します。
提供されたExternQuerySecurityスタブは、QUERY SECURITY
のすべてのパラメータを受け取り、リソースへのアクセスを常に許可し、リターン・コードでゼロを返します。次に説明する、インタフェースを遵守するカスタマ関数に置き換えることができます。
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).
すべてのパラメータがExternQuerySecurityに渡され、戻り値としては、次のパラメータだけが予期されます。
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.
「read」に「READ」が適用されると、read-cvdaが予期されます。
「update」に「READ」が適用されると、update-cvdaが予期されます。
「control」に「READ」が適用されると、control-cvdaが予期されます。
「alter」に「READ」が適用されると、alter-cvdaが予期されます。
注意: |
各インタフェース・フィールドの末尾は2進数のゼロで、ExternQuerySecurityをCで書く場合に便利です。
READABLE 35.
NOTREADABLE 36.
UPDATABLE 37.
NOTUPDATABLE 38.
CTRLABLE 56.
NOTCTRLABLE 57.
ALTERABLE 52.
NOTALTERABLE 53.
詳細は、IBMのドキュメントでcvda値を参照してください。
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.
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);
ExternQuerySecurity.o
」を生成し、それをARTサーバー(STRN、STR1、ATRN、ATR1、CTRN、CTR1)にリンクさせます。ExternQuerySecurity.o
」を追加します。
次の表では、Oracle Tuxedo ART for CICSでサポートされているEIBフィールドについて説明します。
Oracle Tuxedo ART for CICSによりサポートされているBMSマクロについて、次に説明します。
SYSPARM (recognized)
DSECT (recognized)
MAP (recognized)
FINAL
注意: | recognized (認識済み)は、関数は完了していないが、MAPGENコンパイルの実行時にエラーがないことを意味します。 |
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
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
パラメータ・グループCから任意の組合せ(ゼロからすべて)を選択します。このグループは、グループBのパラメータも使用される場合にのみ許容されます。
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
次の表では、Oracle Tuxedo ART for CICSでサポートされているECI C APIパラメータについて説明します。
注意: | ECI v1 API CICS_ExternalCall (ECI_Parms )のみがサポートされています。 |
![]() ![]() ![]() |