OSC管理サービス
本章では、プログラム、インターバルなどを制御するOSC管理サービスについて説明します。
1. 概要
EXEC CICSインターフェースでは、プログラムの実行、業務フローの制御、データの一時保存やプログラム間のデータ共有などの作業をサポートする、以下のようなプログラミング・サービスを提供します。
2. プログラム制御
OSCアプリケーションは1つまたは複数プログラムの組み合わせで構成されます。プログラム制御サービスは、1つのOSCプログラムで他のプログラムに接続したり、制御権を転送・返却する機能を提供します。
|
プログラム制御コマンド
以下は、プログラム制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
リージョンにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの情報を返します。 |
|
現在実行中のプログラムから他のプログラムにリンクします。 |
|
アプリケーション・プログラム、テーブル、またはマップのコピーをタスクで使用できるようにロードします。 |
|
LOADコマンドによりロードされたプログラム、テーブル、またはマップを解放します。 |
|
現在実行中のプログラムを終了し、以前実行していたプログラムに制御権を戻します。 |
|
システムにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの定義を修正します。 |
|
現在実行中のプログラムを終了し、他のプログラムをリンクします。 |
2.1. INQUIRE PROGRAM
リージョンにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの情報を返します。
-
構文
EXEC CICS INQUIRE PROGRAM [option …] END-EXEC.
-
オプション
オプション 説明 END
ブラウジングを中止します。
HOLDSTATUS
モジュールのコピーがロードされているかどうかを返します。
LANGUAGE
プログラム言語を返します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義が返されます。
PROGRAM
プログラム、マップ・セット、パーティション・セットの名前を最大8文字まで指定します。
REMOTENAME
REMOTESYSTEMオプションで指定されたOSCリージョンの8文字の名前を返します。
REMOTESYSTEM
OSCリージョンの4文字の名前を返します。
START
ブラウジングを開始します。
STATUS
モジュールの使用有無を返します。
TRANSID
リモートで実行されるモジュールのトランザクション名の4文字を返します。
APIST、CEDFSTATUS、CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、COBOLTYPE、COPY、CONCURRENCY、DATALOCATION、DEFINESOURCE、DEFINETIME、DYNAMSTATUS、ENTRYPOINT、EXECKEY、EXECUTIONSET、INSTALLAGENT、INSTALLTIME、INSTALLUSRID、JVMCLASS、JVMPROFILE、JVMSERVER、LANGDEDUCED、LENGTH、LIBRARY、LIBRARYDSN、LOADPOINT、LPASTATUS、PROGTYPE、RESCOUNT、RUNTIME、SHARESTATUS、USECOUNTオプションはサポートしていません。
2.2. LINK
現在実行中のプログラムから他のプログラムにリンクします。
対象になるプログラムはシステムによって自動でメモリにロードおよび実行されます。対象プログラムに転送されていたプログラムの制御権は、対象プログラムの実行が完了したら、LINKコマンドを呼び出したプログラムに返されます。制御権が戻った後は、EXEC CICS LINKコマンドの次に来るプログラムの内容が実行されます。
必要であれば、コマンド・オプションを使用してリンク対象のプログラムにデータを転送することもできます。
-
構文
EXEC CICS LINK [option …] END-EXEC.
-
オプション
オプション 説明 CHANNEL
対象プログラムに渡すチャンネル名を指定します。
COMMAREA
対象プログラムに渡すデータの保存領域を指定します。
DATALENGTH
実際に渡すCOMMAREA保存領域のデータ長を指定します。
INPUTMSG
対象プログラムで最初のRECEIVEコマンドを使って受信するデータを指定します。
INPUTMSGLEN
INPUTMSGに渡すデータの長さを指定します。
LENGTH
COMMAREAの長さを指定します。
PROGRAM
対象プログラムの名前を指定します。
SYSID
対象プログラムがあるシステムの識別子を指定します。
SYNCONRETURN
ミラー・トランザクションでプログラムを実行した後、SYNCPOINT処理を行うように指定します。
TRANSID
ミラー・トランザクション名を指定します。ミラー・トランザクションのプログラムはDFHMIRSで指定します。
LINKコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用してプログラムを実行することもできます。 LINK <プログラム名> |
2.3. LOAD
アプリケーション・プログラム、テーブル、またはマップのコピーをタスクで使用できるようにロードします。
-
構文
EXEC CICS LOAD [option …] END-EXEC.
-
オプション
オプション 説明 ENTRY
ロードされたプログラムのエントリ・ポイントのアドレス・ポインターを指定します。
FLENGTH
ロードされたプログラム、テーブル、またはマップの長さで設定される領域をフルワード2進数で指定します。
HOLD
LOADコマンドを発行するタスクが終了時に、ロードされたプログラム、テーブル、またはマップが解放されないように指定します。
LENGTH
ロードされたプログラム、テーブル、またはマップの長さで設定される領域をハーフワード2進数で指定します。
PROGRAM
ロードするプログラム、テーブル、またはマップの識別子を指定します。
SET
プログラム、テーブル、またはマップがロードされるアドレスのポインターを指定します。
2.4. RELEASE
LOADコマンドによりロードされたプログラム、テーブル、またはマップを解放します。
-
構文
EXEC CICS RELEASE [option …] END-EXEC.
-
オプション
オプション 説明 PROGRAM
解放するプログラム、テーブル、またはマップの識別子を指定します。
2.5. RETURN
現在実行中のプログラムを終了し、以前実行していたプログラムに制御権を戻します。制御権を戻す対象がない場合は、アプリケーション・サーバーに制御権が戻されます。
-
構文
EXEC CICS RETURN [option …] END-EXEC.
-
オプション
オプション 説明 CHANNEL
次に実行されるプログラムで使用するチャンネル名を指定します。
COMMAREA
TRANSIDに設定されたトランザクションのプログラムから渡されるデータの保存領域の名前を指定します。
IMMEDIATE
現在の端末に関連して、待機状態にあるトランザクションよりTRANSIDに設定されたトランザクションが先に実行されます。
INPUTMSG
次にリンクされるプログラムから最初のRECEIVEコマンドを使って受信するデータを指定します。
INPUTMSGLEN
INPUTMSGに転送するデータの長さを指定します。
LENGTH
COMMAREAの長さを指定します。
TRANSID
当該端末で次の端末入力を受けた場合に実行されるトランザクションIDです。
オープン環境のオペレーティング・システムの特性によって、OSCシステムは、プログラムにリンクする際にディスクからメモリに直ちにリソースがロードされる構造です。プログラムをロードおよび解放するためのLOADコマンドとRELEASEコマンドは内部的に何も実行しません。
2.6. SET PROGRAM
システムにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの定義を変更します。
-
構文
EXEC CICS SET PROGRAM [option …] END-EXEC.
-
オプション
オプション 説明 PROGRAM
変更するプログラム、マップ・セット、またはパーティション・セットの名前を指定します。
STATUS
モジュールの使用有無を指定します。DISABLEDとENABLEDのいずれかを指定します。
-
COPY、EXECUTIONSET、JVMCLASS、JVMPROFILE、RUNTIME、SHARESTATUS、VERSIONオプションはサポートしていません。
-
END、NEXT、STARTオプションは構文解析のみサポートしています。
-
SET PROGRAMコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用してSTATUSを変更することもできます。
CEMT SET PROG <プログラム名> DIS | ENA
-
2.7. XCTL
現在実行中のプログラムを終了し、他のプログラムをリンクします。対象プログラムでRETURNを呼び出しても、LINKコマンドと異なって呼び出したプログラムに制御権が戻りません。
-
構文
EXEC CICS XCTL [option …] END-EXEC.
-
オプション
オプション 説明 CHANNEL
対象プログラムに渡すチャンネル名を指定します。
COMMAREA
対象プログラムに渡すデータの保存領域を指定します。
LENGTH
COMMAREAの長さを指定します。
INPUTMSG
次にリンクされるプログラムで最初のRECEIVEコマンドを使って受信するデータを指定します。
INPUTMSGLEN
INPUTMSGに転送する長さを指定します。
PROGRAM
対象プログラムの名前を指定します。
3. インターバル制御
OSCインターバル制御サービスは、OSCアプリケーションで時間に関連するプログラム制御機能を提供するサービスです。インターバル制御サービスを利用して一定時間後に新規トランザクションを開始させたり、一定時間が過ぎるまでプログラムの実行を一時停止したりすることができます。また、以前要求されたインターバル制御サービスを取り消す機能も提供します。
インターバル制御コマンドは時間関連コマンドとSTART関連コマンドに分けられます。
時間関連コマンド
以下は、インターバル制御コマンドのうち時間関連コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
現在の日付と時間情報を取得します。 |
|
DELAYまたはSTARTコマンドの要求を取り消します。 |
|
ASKTIMEコマンドで取得した日付および時間情報、またはEIBDATEおよびEIBTIMEに保存された日付および時間情報をユーザーが要求するフォーマットに変換します。 |
|
START、DELAYコマンドを使用して待機中の要求の情報を返します。 |
|
STARTコマンドで起動したトランザクションがSTARTコマンドの各種オプションを使って渡されたデータを取得します。 |
START関連コマンド
以下は、インターバル制御コマンドのうちSTART関連コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
特定時刻まで、あるいは特定期間の間タスクの実行を遅延させます。 |
|
特定トランザクションを指定した時刻に実行することをシステムに要求します。 |
3.1. ASKTIME
現在の日付と時間情報をシステムの絶対時間(Absolute Time)値で取得します。この値は人間には分かりにくいので、ASKTIMEコマンドの後にFORMATTIMEコマンドを使用して、ユーザーが要求するフォーマットで時間情報を取得することを推奨します。この情報はEIBフィールドのEIBTIME、EIBDATEに保存されます。
-
構文
EXEC CICS ASKTIME [option …] END-EXEC.
-
オプション
オプション 説明 ABSTIME
OSCシステムが管理する時間情報のコピーがABSTIMEオプションにより指定された変数に保存されます。
3.2. CANCEL
DELAYまたはSTARTコマンドの要求を取り消します。DELAYコマンドで延期要求された時間が過ぎた場合や、STARTコマンドで要求した起動時刻が過ぎた場合は取り消すことができません。
-
構文
EXEC CICS CANCEL [option …] END-EXEC.
-
オプション
オプション 説明 REQID
取り消すREQIDを指定します。
SYSID
CANCELコマンドを実行するリモート・サーバーを指定します。
TRANSID
適用するトランザクション名を指定します。
3.3. DELAY
特定時刻まで、あるいは特定期間の間タスクの実行を遅延させます。
-
構文
EXEC CICS DELAY [option …] END-EXEC.
-
オプション
オプション 説明 FOR
バイナリ値で遅延期間を指定します。
-
HOURS
-
MINUTES
-
SECONDS
-
MILLISECS
INTERVAL
タスクを遅延させる期間を指定します。(バック10進数)
REQID
要求の識別子を指定します。
REQIDを参照して満期になっていないDELAY要求の取り消しが可能です。
TIME
タスクの遅延を終了する時刻を指定します。(バック10進数)
UNTIL
バイナリ値で遅延を終了する時刻を指定します。
-
HOURS
-
MINUTES
-
SECONDS
-
3.4. FORMATTIME
ASKTIMEコマンドで取得した日付および時間情報、またはEIBDATEおよびEIBTIMEに保存された日付および時間情報をユーザーが要求するフォーマットに変換します。
-
構文
EXEC CICS FORMATTIME [option …] END-EXEC.
-
オプション
オプション 説明 ABSTIME
絶対日付/時間(Absolute Date/Time)フォーマットを指定します。
DATE
日付形式で返します。
DATEFORM
MMDDYY形式で返します。
DATESEP
YEARとMONTH、MONTHとDAYの間に、あるいはYYDDDなどのオプションでYEARとDAYの間に区切り子を入れる場合に区切り子を指定できます。区切り子を指定せずにオプションを設定すると、デフォルトでスラッシュ(/)が使用されます。
DAYCOUNT
1900年1月1日以降の日付数を返します。
DAYOFMONTH
現在の月の日付数を返します。
DAYOFWEEK
現在の週の相対的な日付数を返します。
(SUNDAYは0、MONDAYは1、…、SATURDAYは6)
DDMMYY
DAY/MONTH/YEAR(最後の2桁)で日付を返します。DAY、MONTH、YEARの間に区切り子が含まれます。
DDMMYYYY
DAY/MONTH/YEAR(4桁)で日付を返します。DAY、MONTH、YEARの間に区切り子が含まれます。
FULLDATE
DATEFORMに基づいてYEARを4桁で返します。
MILLISECONDS
ABSTIMEによって指定された現在の秒のミリ秒数を0から999の範囲のバイナリ整数で返します。
MMDDYY
MONTH/DAY/YEAR(最後の2桁)で日付を返します。MONTH、DAY、YEARの間に区切り子が含まれます。
MMDDYYYY
MONTH/DAY/YEAR(4桁)で日付を返します。MONTH、DAY、YEARの間に区切り子が含まれます。
MONTHOFYEAR
当該年度の月数を返します。
TIME
hh:mm:ssの形式で時間情報を返します。デフォルトの区切り子としてコロン(:)を使用します(TIMESEPオプションで区切り子を変更可能)。
TIMESEP
TIMEオプションで返される時間フォーマットの区切り子を指定します。
YEAR
4桁でYEAR情報を返します。
YYDDMM
YEAR(最後の2桁)/DAY/MONTHで日付を返します。YEAR、DAY、MONTHの間に区切り子が含まれます。
YYMMDD
YEAR(最後の2桁)/MONTH/DAYで日付を返します。YEAR、MONTH、DAYの間に区切り子が含まれます。
YYYYDDD
YEAR(4桁)/DAYで日付を返します。DAYは、当該年度の日付数を示します。YEAR、DAYの間に区切り子が含まれます。
YYYYDDMM
YEAR(4桁)/DAY/MONTHで日付を返します。YEAR、DAY、MONTHの間に区切り子が含まれます。
YYYYMMDD
YEAR(4桁)/MONTH/DAYで日付を返します。YEAR、MONTH、DAYの間に区切り子が含まれます。
YYDDD
YEAR(最後の2桁)/DAYで日付を返します。DAYは、当該年度の日付数を示します。YEAR、DAYの間に区切り子が含まれます。
3.5. INQUIRE REQID
トランザクション・クラスとクラス内の現在のActivityに定義されている制限を確認します。
-
構文
EXEC CICS INQUIRE REQID [option …] END-EXEC.
-
オプション
オプション 説明 REQID
照会する要求の8バイトの識別子を指定します。
TERMID
要求を生成したSTARTコマンドのTERMIDオプションに指定された4桁の端末識別子を返します。
TIME
INQUIREコマンド以前の午前0時から測定された絶対値で有効期限を返します。
TRANSID
要求を生成したコマンドのTRANSIDオプションに指定された4桁のトランザクション名を返します。
AFTER、AT、FMHSTATUS、HOURS、INTERVAL、LENGTH、MINUTES、QUEUE、REQTYPE、RTERMID、RTRANSID、SECONDS、SET、USERIDはサポートしていないオプションです。
3.6. RETRIEVE
STARTコマンドで起動したトランザクションが、STARTコマンドの各種オプションによって渡されたデータを読み込みます。
-
構文
EXEC CICS RETRIEVE [option …] END-EXEC.
-
オプション
オプション 説明 INTO
取得するデータの保存領域を指定します。
LENGTH
データ保存領域の長さを指定します。
QUEUE
STARTコマンドのQUEUEオプションで渡された値です。
RTERMID
STARTコマンドのRTERMIDオプションで渡された値です。
RTRANSID
STARTコマンドのRTRANSIDオプションで渡された値です。
SET
取得するデータの保存先のポインター参照を指定します。
WAITオプションはバーシングのみサポートしています。
3.7. START
特定トランザクションを指定した時刻に実行することをシステムに要求します。
-
構文
EXEC CICS START [option …] END-EXEC.
-
オプション
オプション 説明 AFTER
一定時間の後開始する場合、その時間を指定します。
-
HOURS
-
MINUTES
-
SECONDS
AT
開始時刻を指定します。
-
HOURS
-
MINUTES
-
SECONDS
CHANNEL
開始するタスクに渡されるキャンセルの名前を指定します。CHANNELオプションはFROMオプションと一緒に使用できません。
FROM
開始するタスクでRETRIEVEコマンドを使用して取得するデータ領域を指定します。
INTERVAL
タスクを開始するまでの時間間隔を指定します(パック10進数)。
LENGTH
FROMオプションで転送するデータの長さを指定します。
NOCHECK
トランザクションを開始する際に応答を受信しないように設定します。リモート・システムで開始されたタスクについてはエラー条件が返されません。
QUEUE
開始要求に使われるキュー名を指定します。
REQID
要求の識別子を指定します。満期になっていない開始要求は取り消すことができます。
REQIDオプションを指定しない場合、OSCアプリケーション・サーバーが新しい要求識別子を作成します。コマンドが正常に実行された後、ユーザーはEIBREQID項目から要求識別子の値を取得することができます。
PROTECT
同期点(Syncpoint)によって要求処理の有無を選択するオプションです。
PROTECTオプションを使用した場合、「0xFC」で始まる8文字のREQIDが返されます。使用しない場合、「DF」で始まる8文字のREQIDが返されます。
RTERMID
TRANSIDに指定されたトランザクションが起動した場合に、RETRIEVEコマンドで取得する端末識別子を指定します。
RTRANSID
TRANSIDに指定されたトランザクションが起動した場合に、RETRIEVEコマンドで取得するトランザクション識別子を指定します。
SYSID
要求するリモート・アプリケーション・サーバーを指定します。
TERMID
開始を要求するトランザクションの端末名を指定します。
TIME
タスクの開始時刻を指定します(パック10進数)。
TRANSID
開始を要求するトランザクションの名前を指定します。
USERID
開始を要求するトランザクションのユーザー識別子を指定します。
-
ATTACHオプションは構文解析のみサポートしています。
-
STARTコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用してトランザクションを実行することもできます。
CEMT STAR <トランザクション名> [ <端末名> <ll data> ]
-
4. タスク制御
OSCアプリケーションは、一般的にクライアントのトランザクション要求によって実行されます。トランザクション要求を受けてサーバーは一連の作業を処理しますが、こうした一連の作業をタスクと言います。
OSCアプリケーション・サーバーは、多数のサーバー・プロセスを利用してタスクを並列的に処理します。ユーザーは複数のタスクが同時に同じリソースにアクセスすることを業務的に制御するために、リソースを中心にタスクに順番を付けることができます。
以下はその例です。
-
タスクTがENQコマンドで特定名のリソースRを先取りします。
-
他のタスクUがリソースRを先取りするためにENQコマンドを実行します。
-
タスクTがリソースRを先取りしているため、タスクUは待機状態になります。
-
タスクTがDEQコマンドでリソースRに対する先取りを解除します。
-
タスクUが待機状態から出てリソースRを先取りします。
ENQコマンドで先取りされたリソースは、ユーザーが直接DEQコマンドを呼び出さなくても、当該UOWまたはタスクが終わるときに自動で解除されます。この先取りの持続時間はENQコマンドのオプションで指定できます。現在OSCアプリケーション・サーバーはENQコマンドによるリソース先取りがリソース名を使用してのみ可能であるため、LENGTHオプションを指定する必要があります。
タスク制御コマンド
以下はタスク制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
リソースの先取りを解除します。 |
|
リソースの先取りを要求します。 |
|
特定のユーザー・タスク情報を返します。 |
|
ユーザー・タスク一覧を返します。ユーザー・タスクは、一般的に運用者が呼び出すOSC提供トランザクションまたはユーザー定義トランザクションに関連するタスクです。 |
|
トランザクション・クラスおよびクラス内の現在のアクティビティに定義された限界を問い合わせます。 |
|
OSCシステムにインストールされている特定のトランザクション情報を検索します。 |
|
特定のトランザクション・クラス内で管理できるタスクの限界を変更することができます。 |
|
トランザクション定義の一部属性を変更することができます。 |
4.1. DEQ
リソースの先取りを解除します。
-
構文
EXEC CICS DEQ [option …] END-EXEC.
-
オプション
オプション 説明 RESOURCE
ENQコマンドで先取りしたリソース名を指定します。
LENGTH
リソース名で先取りした場合、リソース名の長さを指定します。
UOW|TASK|MAXLIFETIME
リソースを先取りするときに指定したオプションと同じ値を指定します。
4.2. ENQ
リソースの先取りを要求します。
-
構文
EXEC CICS ENQ [option …] END-EXEC.
-
オプション
オプション 説明 LENGTH
リソース名で先取りする場合、リソース名の長さを指定します。
NOSUSPEND
他のユーザーがリソースを使用している場合、待機せずにENQBUSY状態になります。
RESOURCE
先取りするリソース名を指定します。
UOW|TASK|MAXLIFETIME
-
UOW, TASK : UOWまたはTASK単位のリソース先取り持続時間を指定します。
-
MAXLIFETIME : CVDA値を利用して持続時間を指定します。
-
4.3. INQUIRE TASK
特定のユーザー・タスク情報を返します。
-
構文
EXEC CICS INQUIRE TASK [option …] END-EXEC.
-
オプション
オプション 説明 ATTACHTIME
タスクが添付された時間をABSTIME形式の8バイトのパック10進数で返します。
END
ブラウジングを中止します。
FACILITY
FacilityがTDQ、端末、またはシステムである場合、タスクの初期化に関連するFacilityの名前を返します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義を返します。
START
ブラウジングを開始します。
TASK
問い合わせるタスクの4バイトのパック10進数のシーケンス番号を指定します。
TRANSACTION
タスクが実行されているトランザクションの4文字の名前を返します。
PROGRAM
タスクが最初に実行されたプログラムの8文字の名前を返します。
USERID
タスクに関連付けられたユーザーIDを返します。
REMOTESYSTEM
タスクを実行しているトランザクション定義のREMOTESYSTEMオプションの4文字の名前を返します。トランザクション定義がREMOTESYSTEMを指定しない場合は、空白を返します。
ACTIVITYID、BRFACILITY、BRIDGE、CMDSEC、CURRENTPROG、DB2PLAN、DTIMEOUT、DUMPING、FACILITYTYPE、IDENTIFER、INDOUBT、INDOUBTMINS、INDOUBTWAIT、IPFACILITIES、IPFLISTSIZE、ISOLATEST、PRIORITY、PROCESS、PROCESSTYPE、PROFILE、PURGEABILITY、REMOTENAME、RESNAME、RESSEC、ROUTING、RTIMEOUT、RUNAWAY、ROUTING、SCRNSIZE、STARTCODE、STORAGECLEAR、SUSPENDTIME、SUSPENDTYPE、SUSPENDVALUE、TASKDATAKEY、TASKDATALOC、TCB、TCLASS、TRACING、TRANCLASS、TRANPRIORITY、TRPROF、TWASIZE、UOWオプションはサポートしていません。
4.4. INQUIRE TASK LIST
ユーザー・タスク一覧を返します。ユーザー・タスクは、一般的に運用者が呼び出すOSC提供トランザクションまたはユーザー定義トランザクションに関連するタスクです。
-
構文
EXEC CICS INQUIRE TASK LIST [option …] END-EXEC.
-
オプション
オプション 説明 LISTSIZE
問い合わせるカテゴリのタスク数を返します。
SET
4バイトのパック10進数形式のタスク番号一覧のアドレスを返します。
SETTRANSID
4バイトのトランザクション識別子一覧のアドレスを返します。
DISPATCHABLE
実行準備が完了したタスクがタスク一覧に含まれるように指定します。
RUNNING
実行中のタスクがタスク一覧に含まれるように指定します。
SUSPENDED
一時停止されたタスクがタスク一覧に含まれるように指定します。
4.5. INQUIRE TRANCLASS
トランザクション・クラスおよびクラス内の現在のアクティビティに定義された限界を問い合わせます。
-
構文
EXEC CICS INQUIRE TRANCLASS [option …] END-EXEC.
-
オプション
オプション 説明 ACTIVE
クラス内の現在のタスク数を返します。
END
ブラウジングを中止します。
MAXACTIVE
同時に実行できるトランザクション・クラスの最大タスク数を返します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義を返します。
PURGETHRESH
初期ディスパッチを待機できる最大のタスク数を返します。
QUEUED
初期ディスパッチを待機中のタスク数を返します。
START
ブラウジングを開始します。
TRANCLASS
問い合わせるトランザクション・クラスの8文字の名前を指定します。
CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、DEFINESOURCE、DEFINETIME、INSTALLAGENT、INSTALLTIME、INSTALLUSRIDオプションはサポートしていません。
4.6. INQUIRE TRANSACTION
OSCシステムにインストールされている特定のトランザクション情報を検索します。
-
構文
EXEC CICS INQUIRE TRANSACTION [option …] END-EXEC.
-
オプション
オプション 説明 END
ブラウジングを中止します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義を返します。
PROGRAM
トランザクションを実行するタスクで呼び出した最初のプログラムの名前を返します。
REMOTENAME
REMOTESYSTEMオプションで指定されたOSCリージョンの名前の8文字を返します。
REMOTESYSTEM
OSCリージョンの4文字の名前を返します。
RESSEC
トランザクションを実行するタスクについて、リソース・レベルのセキュリティ・チェックを実行するかどうかを返します。
SHUTDOWN
要求されていない入力を処理するタスクによってOSC終了中にトランザクションを実行できるかどうかを返します。
START
ブラウジングを開始します。
TCLASS
タスク番号が指定したクラスに属する場合、トランザクションが属したトランザクション・クラスの番号を返します。
TRANCLASS
トランザクションが属したトランザクション・クラスの8文字の名前を返します。
TRANSACTION
問い合わせ中のトランザクション定義の4文字の名前を指定します。
TWASIZE
トランザクション作業領域(TWA)のサイズを返します。
STATUS
トランザクションが有効か無効かを返します。
BREXIT、CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、CMDSEC、DEFINESOURCE、DEFINETIME、DTIMEOUT、DUMPING、FACILITYLIKE、INDOUBTWAIT、INSTALLAGENT、INSTALLTIME、INSTALLUSRID、ISOLATEST、PRIORITY、OTSTIMEOUT、PROFILE、PURGEABILITY、ROUTING、ROUTESTATUS、RTIMEOUT、RUNAWAY、RUNAWAYTYPE、SCRNSIZE、STORAGECLEAR、TASKDATAKEY、TASKDATALOC、TRACING、TRPROF、INDOUBT、INDOUBTMINSオプションはサポートしていません。
4.7. SET TRANCLASS
特定のトランザクション・クラス内で管理できるタスクの限界を変更することができます。
-
構文
EXEC CICS SET TRANCLASS [option …] END-EXEC.
-
オプション
オプション 説明 TRANCLASS
変更するトランザクション・クラスの8文字の名前を指定します。
MAXACTIVE
トランザクション・クラスで同時に実行するタスクの最大数を指定します。
PURGETHRESH
初期ディスパッチを待機できる最大のタスク数より1つ多い値を指定します。
END、NEXT、STARTオプションは構文解析のみサポートしています。
4.8. SET TRANSACTION
トランザクション定義の一部属性を変更することができます。
-
構文
EXEC CICS SET TRANSACTION [option …] END-EXEC.
-
オプション
オプション 説明 SHUTDOWN
要求されていない入力を処理するタスクによってOSC終了中にトランザクションを実行できるかどうかを指定します。
STATUS
トランザクションを使用できるかどうかを指定します。
TRANSACTION
変更するトランザクションの4文字の名前を指定します。
TCLASS
トランザクションが属するトランザクション・クラスの値をフルワード2進数で指定します。
TRANCLASS
トランザクションが属するトランザクション・クラスの8文字の名前を指定します。
-
DUMPING、PRIORITY、PURGEABILITY、RUNAWAY、RUNAWAYTYPE、STATUS、TRACINGオプションはサポートしていません。
-
END、NEXT、STARTオプションは構文解析のみサポートしています。
-
SET TRANSACTIONコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用して属性を変更することができます。
CEMT SET TRAN <トランザクション名> DIS | ENA
-
4.9. CREATE TRANSACTION
トランザクション・リソースを動的に生成します。
-
構文
EXEC CICS CREATE TRANSACTION [option …] END-EXEC.
-
オプション
オプション 説明 TRANSACTION
生成されるトランザクションの4文字の名前を指定します。
ATTRIBUTES
生成されるトランザクションの属性を指定します。
ATTRIBUTESは、システム定義の属性をそのまま入力してOSCのRTSDに生成されるようにします。
ATTRLEN
ATTRIBUTESの長さを指定します。
LOG
ログに記録するように指定します。
NOLOG
ログに記録されないように指定します。
LOGMESSAGE
ログに記録するかどうかを指定します
LOG、NOLOG、LOGMESSAGEオプションはサポートしていません。
5. 動的領域の制御
OSCアプリケーション・サーバーは、アプリケーション・プログラムを実行するとき、固定長のプログラム・ローカル領域(COBOLプログラムの場合、WORKING-STORAGE SECTION)を割り当て、プログラムはその領域を活用して業務ロジックを構成します。しかし、業務ロジックに従って動的領域の割り当てを受けて使用する方がより効率的な場合もあります。このため、OSCアプリケーション・サーバーはプログラムがメモリを動的に割り当てられる機能を提供します。割り当てられるメモリの保存領域は1バイトから整数型の最大値まで可能です。このサイズは要求時点のシステム状態によって制限されることもあります。
割り当てられた領域は一般的にタスク単位でシステムに自動的に返されますが、SHAREDオプションを指定すると、タスク終了後も返されず、タスク間でデータを送受信できる領域として活用できます。SHAREDオプションを使用する場合、CICSでの使用とは異なる部分があるため、タスク間のメモリ共有を参照してください。
動的領域の制御コマンド
以下は、動的領域の制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
GETMAINで割り当てられた保存領域をユーザーが明示的に返します。 |
|
動的にメモリ割り当てを要求します。 |
5.1. FREEMAIN
GETMAINで割り当てられた保存領域をユーザーが明示的に返すために使用します。
-
構文
EXEC CICS FREEMAIN [option …] END-EXEC.
-
オプション
オプション 説明 DATA|DATAPOINTER
以下のオプションから選択します。
-
DATA : 返す領域を指定します。
-
DATAPOINTER : 返す領域のアドレスを指定します。
-
5.2. GETMAIN
動的にメモリ割り当てを要求するコマンドです。割り当てを受けたメモリの返却時点はSHAREDオプションの有無によって変わります。SHAREDオプションを指定していない場合は、FREEMAINコマンドを呼び出さなくてもタスク終了時点に自動的に返されます。SHAREDオプションを指定すると、ユーザーが直接FREEMAINコマンドを使用してメモリを返す必要があります。
-
構文
EXEC CICS GETMAIN [option …] END-EXEC.
-
オプション
オプション 説明 FLENGTH|LENGTH
取得するデータ領域のサイズを指定します。
INITIMG
初期化値を指定します。
SET
割り当てられるポインター参照を指定します。
SHARED
ユーザーが直接FREEMAINを呼び出した場合に返却するように指定します。
-
BELOWオプションはサポートしていません。
-
CICSDATAKEY、NOSUSPEND、USERDATAKEYオプションは構文解析のみサポートしています。
-
5.3. タスク間のメモリ共有
SHAREDオプションを指定してGETMAINコマンドで取得した保存領域は、タスク間のデータ転送のために活用できます。
OSCアプリケーション・サーバーの各タスクは相互異なるサーバー・プロセスによって実行されるため、現在のタスクで使用するメモリ・アドレスを他のタスクに渡しても、対象タスクで同じメモリ領域のアクセスを保証できません。同一メモリ領域にアクセスするようにするには、ENCODEMAIN、DECODEMAIN関数を使用してメモリ・アドレスを変換して転送します。
-
ENCODEMAIN関数
ENCODEMAIN関数は、GETMAINコマンドで取得したメモリの特定アドレスを他のタスクでDECODMAIN関数に逆変換してアクセスできるようにアドレスの変換機能を実行します。ENCODEMAIN関数に他のプロセスと共有するためのメモリ・ブロックのアドレス値と相対アドレス値を取得する整数型変数の参照を転送すると、ENCODEMAIN関数は取得したアドレス値を相対アドレス値に変換して渡した整数型変数に格納します。
以下は、ENCODEMAIN関数の使用例です。
. . . WORKING-STORAGE SECTION. 01 PTR USAGE IS POINTER. 01 OFFSET PIC S9(9) COMP. PROCEDURE DIVISION. . . . CALL "cics_encodemain" USING BY VALUE PTR BY REFERENCE OFFSET. . . .
-
DECODEMAIN関数
対象アプリケーション・プログラムでは、システム保存領域などを介して渡された相対アドレスをDECODEMAIN関数を使って変換した後、当該メモリにアクセスします。DECODEMAIN関数にメモリ・アドレスを取得する変数の参照と整数タイプの相対アドレスを入力すると、DECODEMAIN関数で取得した相対アドレスを絶対アドレスに変換して取得したメモリ・アドレスの参照に格納します。
以下は、DECODEMAIN関数の使用例です。
. . . WORKING-STORAGE SECTION. 01 PTR USAGE IS POINTER. 01 OFFSET PIC S9(9) COMP. PROCEDURE DIVISION. . . . CALL "cics_decodemain" USING BY REFERENCE PTR BY VALUE OFFSET. . . .
6. 一時保存キュー(TSQ)
TSQ(Temporary Storage Queue)は、ユーザーがキュー(queue)形式のデータ構造にデータを保存したり、キュー・データ全体を削除できるように提供するリソースです。
TSQは、OSCアプリケーション・サーバーが予め準備するのではなく、キューの最初のレコード・データが作成されるときに生成されます。したがって、既に属性が定義されているリソースと違って、キューが生成されるときに各キューの個別属性が決まります。キューの属性は保存領域と復旧の有無で区分されます。
-
保存領域
TSQには、キュー・データを他のデスティネーション(Destination)で管理する特徴があります。
MAINまたはAUXILIARY保存領域は異なりますが、アプリケーションで使用する方法は同じです。保存領域の属性は、EXEC CICS WRITEQ TSコマンドでMAINまたはAUXILIARYオプションを設定するか、TSMODELリソース定義に設定することで指定できます。その他の場合はデフォルト値としてAUXILIARYが指定されます。このデフォルト値は、OpenFrame環境設定のosc.{servername}サブジェクト、TSQセクションのDFLTDESTキー値を「MAIN」に設定して変更することができます。
保存領域 特徴 MAIN
キューの内容は、サーバーの設定に指定された共有メモリ領域で管理されます。
システム共有メモリに構成されるため、TSAMデータセットを使用するAUXILIARY保存領域より高速のI/O性能を提供します。
OpenFrame環境設定のosc.{servername}サブジェクト、TSQセクションのMAINDESTキー値を「DB」に設定すると、キューの内容を共有メモリ領域に保存せずに、DBに保存することができます。この機能は、マルチノード・クラスターを構成時に使用することができます。
AUXILIARY
キューの内容は、サーバーの設定に指定されているQINFO、QDATAなど2つのTSAMデータセットを利用して管理されます。性能は低下しますが、トランザクション単位の復旧が可能である上、システムが再起動するときも以前の情報が残ります。(デフォルト値)
osc.{servername}サブジェクトの設定方法については、OpenFrame OSC『環境設定ガイド』を参照してください。
-
復旧/非復旧
復旧/非復旧の属性はTSMODELリソース定義によって決まりますが、TSMODELが存在しない場合はNON-RECOVERABLEで設定されます。TSQリソースは関数シッピングの対象であるため、特定アプリケーション・サーバーで動作するアプリケーションから他のサーバーにあるTSQにアクセスすることができます。
保存領域 キュー RECOVERABLE
AUXILIARY
NON-RECOVERABLE
MAIN, AUXILIARY
TSQリソースの詳細については、関数シッピングを参照してください。
TSQおよびTSMODELコマンド
ユーザーはアプリケーション・プログラムを利用してTSQのデータを読み込み、書き込み、削除ができます。TSQの名前は最大16バイトまでサポートします。8バイトまではQUEUEオプションを使用して名前を指定し、最大16バイトまで使用する場合にはQNAMEオプションを使用します。単純にキュー名の長さに基づいてオプションを選択して指定します。
TSQおよびTSMODELアクセス・コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
特定TSQを削除します。当該キューが保持しているすべての内容を削除します。 |
|
特定TSQの情報を読み込むシステム・コマンドです。 |
|
TSMODELのリソース情報を読み込みます。 |
|
特定TSQのデータを読み込みます。 |
|
特定TSQを管理します。 |
|
指定TSQにデータを記録します。 |
6.1. DELETEQ TS
特定TSQを削除するコマンドです。当該キューが保持するすべての内容も一緒に削除されます。
-
構文
EXEC CICS DELETEQ TS [option …] END-EXEC.
-
オプション
オプション 説明 QUEUE
1~8バイトの文字列で削除するキュー名を指定します。
QNAME
1~16バイトの文字列で削除するキュー名を指定します。
SYSID
関数シッピングするSYSIDを指定します。
6.2. INQUIRE TSMODEL
TSMODELのリソース情報を読み込むコマンドです。
-
構文
EXEC CICS INQUIRE TSMODEL [option …] END-EXEC.
-
オプション
オプション 説明 LOCATION
当該TSMODELにマッチされるキューの保存領域の情報を返します。
POOLNAME
共有プールの名前を返します。
PREFIX
モデルに対するプレフィックスを指定します。
REMOTEPREFIX
リモート・システムのプレフィックス名として使用する文字列を返します。
REMOTESYSTEM
TSMODELが定義されているリモート・システムの識別子を指定します。
TSMODEL
閲覧したいTSMODELを指定します。
-
TSMODELの詳細については、OpenFrame OSC『リソース定義ガイド』を参照してください。
-
CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、DEFINESOURCE、DEFINETIME、EXPIRYINT、INSTALLAGENT、INSTALLTIME、INSTALLUSRID、RECOVSTATUS、SECURITYSTオプションはサポートしていません。
-
6.3. INQUIRE TSQUEUE|TSQNAME
特定TSQの情報を読み込むシステム・コマンドです。
-
構文
EXEC CICS INQUIRE TSQUEUE|TSQNAME [option …] END-EXEC.
-
オプション
オプション 説明 FLENGTH
当該キューの全長を返します。
LASTUSEDINT
最後にキューが使われた時間と現在の時間との間隔を返します。
LOCATION
AUXILLIARYとMAINのうち、必要な保存領域を指定します。
MAXITEMLEN
保存されたレコードのうち、最大レコード長を返します。
MINITEMLEN
保存されたレコードのうち、最小レコード長を返します。
NUMITEMS
保存されたレコードの総数を返します。
RECOVSTATUS
復旧できる情報を返します。
TRANSID
キューを最初に生成したトランザクションIDを返します。
TSQNAME
1~16バイトの文字列で照会しようとするキュー名を指定します。
TSQUEUE
1~8バイトの文字列で照会しようとするキュー名を指定します。
POOLNAME、SYSIDオプションはサポートしていません。
6.4. SET TSQUEUE|TSQNAME
特定TSQを管理するコマンドです。DELETEQ TSと違い、最後にキューが使われた時間と現在の時間の間隔を条件に指定してキューを削除できます。
-
構文
EXEC CICS SET TSQUEUE|TSQNAME [option …] END-EXEC.
-
オプション
オプション 説明 ACTION
実行する動作に合わせてCVDA値を指定します。CVDA値のうち現在はDELETE値のみサポートします。
DELETE
CVDA値の代わりにキューの削除を実行します。
LASTUSEDINT
最後の使用時間の間隔が指定された値以上である場合のみ削除します。
TSQNAME
1~16バイトの文字列で管理しようとするキュー名を指定します。
TSQUEUE
1~8バイトの文字列で管理しようとするキュー名を指定します。
POOLNAME、SYSIDオプションはサポートしていません。
6.5. READQ TS
特定TSQのデータを読み込むコマンドです。ITEMの番数を指定して保存されたレコード数を読み込むこともでき、NEXTオプションを利用して順番に次のレコードを読み込む順次検索もサポートします。レコードを読み込んでもキューからデータが削除されません。
-
構文
EXEC CICS READQ TS [option …] END-EXEC.
-
オプション
オプション 説明 ITEM
取得するレコードの番数を指定します。
INTO
取得するデータの保存領域を指定します。
LENGTH
取得するデータの保存領域の長さを指定します。
NEXT
次のレコードを順次読み込みます。
NUMITEMS
キューに蓄積されているデータ・レコードの数を返します。
QNAME
1~16バイトの文字列で読み込もうとするキュー名を指定します。
QUEUE
1~8バイトの文字列で読み込もうとするキュー名を指定します。
SET
取得するデータの保存先のポインター参照を指定します。
保存領域はシステムが割り当てます。
SYSID
関数シッピングするSYSIDを指定します。
6.6. WRITEQ TS
指定したTSQにデータを記録するコマンドです。既存で生成されたTSQがない場合、キューが動的に生成され、動的に生成されたキューにデータが蓄積されます。
-
構文
EXEC CICS WRITEQ TS [option …] END-EXEC.
-
オプション
オプション 説明 AUXILIARY
データセットにTSQを保存します。
FROM
記録するデータの保存領域を指定します。
ITEM
記録するレコードの番数を指定します。
LENGTH
記録するデータ長を指定します。
MAIN
メモリにTSQを保存します。
NOSUSPEND
WRITEQ TS要求のためのスペースが充分でない場合、アプリケーション・プログラムが停止しません。
NUMITEMS
キューに蓄積されているデータ・レコードの数を返します。
QUEUE
1~8バイトの文字列で記録するキュー名を指定します。
QNAME
1~16バイトの文字列で記録するキュー名を指定します。
REWRITE
特定番地数のレコードを上書きする場合、当該オプションを指定します。
REWRITEオプションがない場合、単純にキューにデータが蓄積される形式で保存され、REWRITEオプションを指定した場合、既に作成されたレコードを上書きします。
SYSID
関数シッピングするSYSIDを指定します。
7. データ転送キュー(TDQ)
TDQ(Transient Data Queue)は、データを転送するためにデータを蓄積するキューです。
TDQは以下の用途で使用します。
-
OSCアプリケーション間のデータ通信
-
OSCと他のシステムを連携するときにデータを一時保存
-
UNIXファイルのログ形式でデータを蓄積する機能
TDQは、機能的な特徴によって分類できるIntra-partition、Extra-partition、Logの3つのタイプと管理面で有効なIndirect、Remoteの2つのタイプを含む計5つのタイプがあります。
-
パーティション内TDQ(Intra-partition TDQ)
TDQUEUEリソース定義でTYPEをINTRAに指定したTDQであり、OSCアプリケーション間でデータを送受信するときに使われます。OSCアプリケーション・サーバーは、パーティション内TDQに保存されるレコードをTSAMデータセットを利用して管理します。
パーティション内TDQは、リソース定義にRECOVSTATUSを設定して障害が発生した場合に復旧できるようにすることができます。パーティション内TDQが他のタイプのTDQと区別されるもう1つの特徴はATI(Automatic Transaction Initiation)機能にあります。これは、キューに蓄積されたレコード数がリソース定義に設定された値に至る場合、指定されたトランザクションを自動で起動させる機能です。
ATIFACILITYをTERMINALに設定した場合、端末が登録されていなければ自動起動は失敗します。端末が登録はされていても接続されていなければ、内部スケジューリング・キューに蓄積され、端末が接続されたときにトランザクションが起動します。
WRITEQ TDコマンドを実行したときに、キューに蓄積されたレコード数がTRIGGERLEVELより大きい場合はATIが実行されません。このような例外的な状況では、oscadminツールを利用して問題となるTDQを削除することができます。RECOVSTATUSがLOGICALである場合は、WRITEQ TDの実行時にキューに蓄積されたレコード数がTRIGGERLEVELを超えても、SYNCPOINTコマンドまたはRETURNコマンドを実行したときにATIが実行されます。
-
パーティション外TDQ(Extra-partition TDQ)
OSCシステム内部のデータ共有ではなく、他のシステムにデータを送信するために使われます。TDQリソース定義におけるTYPEはEXTRAに定義されます。
-
ログTDQ(Log TDQ)
ログTDQは、OSCアプリケーション・プログラムでログ機能として使用できるTDQリソース・タイプです。アプリケーション・プログラムがパーティション外TDQを通じてログを記録することに着目し、ファイルI/Oの性能を改善して追加された機能です。ログTDQはTDQリソース定義でTYPEをLOGに定義します。
OSCアプリケーションの補助サーバーであるOSC TDQ Logサーバーが当該サーバーのすべてのログTDQのI/O処理を担当します。アプリケーション・プログラムが当該TDQにデータを記録すると、サーバー名と同一名のスプール・ディレクトリのDDNAMEと同一名のファイルにログデータが順番に蓄積されます。OSC TDQ Logサーバーが複数プロセスで保存するデータを内部でバッファリングしてファイルに記録するため、全体システムの負荷を低減できます。
アプリケーション・サーバーとOSC TDQ LogサーバーはTCP/IP通信を行います。
-
間接TDQ(Indirect TDQ)
間接TDQはシステム管理面で有効なTDQであり、TDQリソース定義のTYPE項目にINDIRECTを定義します。アプリケーション・プログラムで当該TDQを使用すると、INDIRECTNAMEに指定されたキューを使用するのと同じ効果を出せます。
-
リモートTDQ(Remote TDQ)
アプリケーション・プログラムはリモート・アプリケーション・サーバーにあるTDQにアクセスできます。この際、関数シッピングの対象として使われるTDQは、リソース定義のTYPE項目にRemoteという値を設定する必要があります。関数シッピング機能については、関数シッピングを参照してください。リモートTDQを指定する場合、TDQリソース定義のTYPE項目には何も指定せず、REMOTESYSTEM項目にリモート・アプリケーション・サーバーを指定します。
TDQアクセス・コマンド
TDQのアクセス方法はタイプによって少しずつ異なりますが、基本的にDELETEQ TD、READQ TD、WRITEQ TDなど、それぞれTDQのデータを削除し、レコードを読み込み、新規レコードを記録するコマンドをサポートします。
以下は、TDQアクセス・コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
TDQを削除します。 |
|
TDQの情報を検索します。 |
|
TDQのレコードを読み込みます。 |
|
TDQの一部属性を変更できます。 |
|
TDQにレコード・データを記録します。 |
|
TDQを動的に作成します。 |
|
動的に作成されたTDQを削除します。 |
7.1. DELETEQ TD
TDQを削除するコマンドです。パーティション内TDQおよびこれを指す間接TDQ、そしてリモートのパーティション内TDQに対してのみ、削除機能をサポートします。
-
構文
EXEC CICS DELETEQ TD [option …] END-EXEC.
-
オプション
オプション 説明 QUEUE
キュー名を指定します。
SYSID
リモート・システムの識別子を指定します。
7.2. INQUIRE TDQUEUE
特定のTDQの情報を検索します。
-
構文
EXEC CICS INQUIRE TDQUEUE [option …] END-EXEC.
-
オプション
オプション 説明 ATIFACILITY
キューに接続している端末またはセッションの有無を返します。
BLOCKFORMAT
キューに関連するデータセットがブロック・レコード形式であるかどうかを返します。
BLOCKSIZE
ブロックのサイズをバイト単位で返します。
DDNAME
開始文字JCLに使用されたデータセット名を参照できる8文字の識別子を返します。
DISPOSITION
関連データセットの状態を返します。
DSNAME
関連するダミー・データセットを表す1~44文字の名前を返します。
ENABLESTATUS
アプリケーション・プログラムで待機列にアクセスできるかどうかを返します。
END
ブラウジングを中止します。
INDIRECTNAME
間接キューが指すキューの4文字の名前を返します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義が返されます。
OPENSTATUS
キューの開閉状態を返します。
PRINTCONTROL
キューに定義されているプリント制御タイプを返します。
RECORDFORMAT
キューの固定長または可変長レコードの有無を返します。
RECORDLENGTH
キューのレコード長を返します。キューのタイプがEXTRAでない場合は-1を返します。
RECOVSTATUS
キューに定義されている復旧タイプを返します。
REMOTENAME
REMOTESYSTEMオプションに設定されたOSCリージョンのファイルの8文字を返します。
REMOTESYSTEM
OSCリージョンの4文字の名前を返します。
SYSOUTCLASS
SYSOUTデータセットのクラス属性を表す文字を返します。DSNAMEが使用される場合、空白を返します。
START
ブラウジングを開始するために指定します。データは返しません。
TRIGGERLEVEL
自動トランザクション初期化(ATI)を発生させるためにキューに到達する必要のある項目数を返します。
TYPE
キューのタイプを返します。
TDQUEUE
一時的なデータ・キューの4文字の名前を指定します。
ATITERMID、ATITRANID、ATIUSERID、CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、DATABUFFERS、DEFINESOURCE、DEFINETIME、EMPTYSTATUS、ERROROPTION、INDOUBT、INDOUBTWAIT、INSTALLAGENT、INSTALLTIME、INSTALLUSRID、IOTYPE、MEMBER、NUMITEMS、REWINDオプションはサポートしていません。
7.3. READQ TD
TDQのレコードを読み込むコマンドです。パーティション内TDQおよびこれを指す間接TDQ、そしてリモートのパーティション内TDQに対してのみ、読み込み機能をサポートします。
-
構文
EXEC CICS READQ TD [option …] END-EXEC.
-
オプション
オプション 説明 INTO
取得するデータの保存領域を指定します。
LENGTH
取得するINTOデータ保存領域の最大長を指定します。
NOSUSPEND
アプリケーション・プログラムが、出力のためにすでに使用しているキューから読み込みを試みる場合、キューを使用できるまでタスクを中断しません。
QUEUE
キュー名を指定します。
SET
取得するデータの保存先のポインター参照を指定します。
SYSID
取得するリモートTDQのシステム識別子を指定します。
7.4. SET TDQUEUE
TDQの一部属性を変更することができます。
-
構文
EXEC CICS SET TDQUEUE [option …] END-EXEC.
-
オプション
オプション 説明 ATIFACILITY
キューに関連する端末またはセッションの有無を指定します。
ENABLESTATUS
アプリケーション・プログラムが待機列にアクセスできるかどうかを指定します。
-
DISABLED
-
ENABLED
OPENSTATUS
キューに関連するデータセットの開閉を指定します。
-
CLOSED
-
OPEN
TDQUEUE
属性を変更中のTDQの4文字の名前を指定します。
TRIGGERLEVEL
キューに蓄積される項目数が、ここで指定した値に達すると、ATIが発生します。フルワード・バイナリ値で指定します。0を指定した場合は、ATIが発生しません。
-
ATITERMID、ATITRANID、ATIUSERIDオプションはサポートしていません。
-
END、NEXT、STARTオプションは構文解析のみサポートしています。
-
SET TDQUEUEコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用してOPENSTATUSを変更することもできます。
CEMT SET TD<TDQ名> CLOSED | OPEN
-
7.5. WRITEQ TD
TDQにレコード・データを記録するコマンドで、すべてのTDQタイプに使用できます。
-
構文
EXEC CICS WRITEQ TD [option …] END-EXEC.
-
オプション
オプション 説明 FROM
キューに記録するデータ保存領域を指定します。
LENGTH
記録するデータの長さを指定します。
QUEUE
キュー名を指定します。
SYSID
記録するリモートTDQのシステム識別子を指定します。
7.6. CREATE TDQUEUE
パーティション外TDQを動的に作成します。
-
構文
EXEC CICS CREATE TDQUEUE [option …] END-EXEC.
-
オプション
オプション 説明 TDQUEUE
作成するTDQの4文字の名前を指定します。
ATTRIBUTES
作成するTDQの属性を設定します。
システム定義の属性と同様に設定して、OSCのRTSDに作成します。
現在、設定可能な属性は以下のとおりです。
-
TYPE( { EXTRA } )
-
TYPEFILE( { INPUT | OUTPUT | RDBACK } )
-
DISP( { SHR | OLD | MOD } )
-
DD or DDNAME( ddname )
-
DSN or DSNAME( dsname )
ATTRLEN
属性の長さを指定します。
LOG
ログに記録するように指定します。
NOLOG
ログに記録しないように指定します。
LOGMESSAGE
ログに記録するかどうかを指定します。
LOG、NOLOG、LOGMESSAGEオプションはサポートしていません。
-
8. チャンネルとコンテナ
チャンネル(Channel)とコンテナ(Container)は、アプリケーション・プログラム間でデータを送受信できるように提供するリソースです。コンテナはプログラム間でデータを送受信するために考案されたデータ保存領域であり、名前が指定されています。つまり、指定された名前を持つCOMMAREA領域といえます。チャンネルはコンテナの集合であり、複数のコンテナを含みます。
OSCアプリケーション・プログラムは基本的にCOMMAREA領域を介してデータを送受信します。チャンネルとプログラムは一層アップグレードされたデータの送受信方式を提供し、COMMAREA領域の場合は32KBのサイズ制約がある反面、チャンネルとコンテナは制約がありません。
チャンネルとコンテナには以下の3つの特徴があります。
-
チャンネルとコンテナは、それらを作成したプログラムとLINKおよびXCTLコマンドでチャンネルとコンテナを受信したプログラムでのみアクセスできます。それらのプログラムで使用できるチャンネルを有効チャンネル(current channel)といいます。
-
プログラムの終了後は自動的にコンテナとその中のデータが削除されます。
-
チャンネルとコンテナは復旧が不可能なデータ保存領域です。
DFHで始まるコンテナは、チャネルを指定しない場合、DFHTMPCHチャネルに保存されます。
チャンネルとコンテナ・コマンド
以下は、チャンネルとコンテナに関連するコマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
チャンネルのコンテナとその中に保存されているデータを削除します。 |
|
チャンネルのコンテナからデータを読み込みます。 |
|
チャンネルのコンテナを他のチャンネルに移動させます。 |
|
特定チャンネルのコンテナにデータを記録します。 |
8.1. DELETE CONTAINER
チャンネルのコンテナとその中に保存されているデータを削除するコマンドです。
-
構文
EXEC CICS DELETE CONTAINER [option …] END-EXEC.
-
オプション
オプション 説明 CHANNEL
コンテナを保存しているチャンネルを指定します。明示的にCHANNELオプションが与えられていない場合は有効チャンネルからコンテナを削除します。
CONTAINER
コンテナ名を指定します。
8.2. GET CONTAINER
チャンネルのコンテナからデータを読み込むコマンドです。明示的にCHANNELオプションが与えられていない場合、有効チャンネルからコンテナを読み込みます。
-
構文
EXEC CICS GET CONTAINER [option …] END-EXEC.
-
オプション
オプション 説明 CONTAINER
コンテナ名を指定します。
CHANNEL
コンテナを保存しているチャンネルを指定します。明示的にCHANNELオプションが与えられていない場合は有効チャンネルからコンテナを読み込みます。
FLENGTH
記録するデータの長さを指定します。
INTO
取得するデータの保存領域を指定します。
SET
取得するデータの保存先のポインター参照を指定します。
NODATAオプションは構文解析のみサポートしています。
8.3. MOVE CONTAINER
チャンネルのコンテナを他のチャンネルに移動させるコマンドです。移動後、コンテナの内容は残りません。明示的にCHANNELおよびTOCHANNELオプションが与えられていない場合、有効チャンネルが適用されます。したがって、MOVE CONTAINERコマンドを使ってチャンネル間でコンテナを移動させるか、同じチャンネル内でコンテナ名を変更する目的で使用できます。
-
構文
EXEC CICS MOVE CONTAINER [option …] END-EXEC.
-
オプション
オプション 説明 AS
対象コンテナの名前を指定します。
CHANNEL
コンテナを保存しているチャンネルを指定します。
CONTAINER
コンテナ名を指定します。
TOCHANNEL
対象コンテナを保存しているチャンネルを指定します。
FROMACTIVITY、FROMPROCESS、TOACTIVITY、TOPROCESSオプションは構文解析のみサポートしています。
8.4. PUT CONTAINER
特定チャンネルのコンテナにデータを記録します。
-
構文
EXEC CICS PUT CONTAINER [option …] END-EXEC.
-
オプション
オプション 説明 APPEND
コンテナに転送されるデータを既存のデータの後ろに追加するように指定します。
BIT
ビット・データです。FROMCCSIDを指定しない場合、この値がデフォルト値になります。
CONTAINER
コンテナ名を指定します。
CHANNEL
コンテナを保存しているチャンネルを指定します。明示的にCHANNELオプションが与えられていない場合、有効チャンネルにコンテナを記録します。
CHAR
文字データです。
DATATYPE
コンテナに保存するデータ型を指定します。
FLENGTH
記録するデータの長さを指定します。
FROM
記録するデータが保存されているパスを指定します。
FROMCCSID
現在のCCSIDを指定します。
9. ジャーナル制御
ジャーナル(Journal)は、ユーザーの必要に応じてシステムのイベントやデータ変更などの復旧を容易にするために、いかなるデータも記録できます。たとえば、データベースの変更事項やトランザクションの実行内容などを記録できます。ジャーナル制御は、ジャーナル・レコードを作成するWRITEコマンドとジャーナル結果を同期化(Synchronize)するWAITコマンドによって行われます。
OSCシステムではWRITEコマンドのみ提供し、WAITコマンドはサポートしていません。したがって、ジャーナル結果を同期化するには、WAITコマンドを使用する代わりにWRITEコマンドのWAITオプションを指定します。
ジャーナルは、BATCHのMTPBATCHの次のコマンドを使用して、ストリームを処理する前に現在のすべてのレコードがログ・ストリームに記録されるようにすることができます。
CEMT SET JO <ジャーナル名> FLUSH
ジャーナル制御コマンド
以下は、ジャーナル制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
ジャーナル・レコードを作成します。 |
|
インストールされた特定のジャーナル・モデルの情報を返して該当するログ・ストリーム名を取得することができます。 |
|
ジャーナル・レコードを作成します。JOURNALコマンドとオプションのみ異なります。 |
|
ジャーナル・レコードを作成します。WRITE JOURNALNAMEではジャーナル名を指定しますが、ここではジャーナル番号を指定します。 |
9.1. JOURNAL
ジャーナル・レコードを作成するコマンドです。JOURNALコマンドは旧バージョンとの互換性を維持するために提供しており、WRITE JOURNALNAMEコマンドを使用することを推奨します。
-
構文
EXEC CICS JOURNAL [option …] END-EXEC.
-
オプション
オプション 説明 FROM
ユーザー・データが保存されたパスを指定します。
JFILEID
ジャーナルIDであり、1から99までの値を指定できます。
JTYPEID
2バイトのIDであり、ジャーナル・レコードのoriginを指定します。
LENGTH
ユーザー・データの長さを指定します。
PREFIX
プレフィックス・データが保存されたパスを指定します。
PFXLENG
プレフィックス・データの長さを指定します。
WAIT
ジャーナル・レコードを作成するときに同期化するか否かを指定します。
NOSUSPEND、REQID、STARTIOオプションは構文解析のみサポートしています。
9.2. INQUIRE JOURNALMODEL
インストールされた特定のジャーナル・モデルの情報を返して該当するログ・ストリーム名を取得することができます。
-
構文
EXEC CICS INQUIRE JOURNALMODEL [option …] END-EXEC.
-
オプション
オプション 説明 END
ブラウジングを中止します。
JOURNALMODEL
インストールされたジャーナル・モデルの1~8文字の名前を指定します。
JOURNALNAME
1~8文字のジャーナル名を返します。
NEXT
INQUIREコマンドを繰り返し実行します。1つのリソース定義が返されます。
STREAMNAME
JOURNALMODEL項目に関連するログ・ストリーム名を返します。
START
ブラウジングを開始します。
TYPE
ログ・ストリームのタイプを指定します。
CHANGEAGENT、CHANGEAGREL、CHANGETIME、CHANGEUSRID、DEFINESOURCE、DEFINETIME、INSTALLAGENT、INSTALLTIME、INSTALLUSRIDオプションはサポートしていません。
9.3. WRITE JOURNALNAME
ジャーナル・レコードを作成します。
-
構文
EXEC CICS WRITE JOURNALNAME [option …] END-EXEC.
-
オプション
オプション 説明 FROM
ユーザー・データが保存されているパスを指定します。
FLENGTH
ユーザー・データの長さを指定します。
JOURNALNAME
ジャーナル名を指定します。
JTYPEID
2バイトIDであり、ジャーナル・レコードのoriginを指定します。
PREFIX
プレフィックス・データが保存されているパスを指定します。
PFXLENG
プレフィックス・データの長さを指定します。
WAIT
ジャーナル・レコードを作成するときに同期化するか否かを指定します。
NOSUSPEND、REQID、STARTIOオプションは構文解析のみサポートしています。
9.4. WRITE JOURNALNUM
ジャーナル・レコードを作成するコマンドです。WRITE JOURNALNUMコマンドは旧バージョンとの互換性を維持するために提供しており、WRITE JOURNALNAMEコマンドを使用することを推奨します。
-
構文
EXEC CICS WRITE JOURNALNUM [option …] END-EXEC.
-
オプション
オプション 説明 FROM
ユーザー・データが保存されているパスを指定します。
FLENGTH
ユーザー・データの長さを指定します。
JOURNALNUM
ジャーナル番号であり、1から99までの値を指定します。
JTYPEID
2バイトIDであり、ジャーナル・レコードのoriginを指定します。
PREFIX
プレフィックス・データが保存されているパスを指定します。
PFXLENG
プレフィックス・データの長さを指定します。
WAIT
ジャーナル・レコードを作成するときに同期化するか否かを指定します。
NOSUSPEND、REQID、STARTIOオプションは構文解析のみサポートしています。
10. ドキュメント制御
データをドキュメント化して使用することができます。DOCTOKENオプションでドキュメントのトークンを指定して特定のドキュメントを使用することができます。
ドキュメント制御コマンド
以下は、ドキュメント制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。
コマンド | 説明 |
---|---|
ドキュメントを作成します。 |
|
作成済みのドキュメントにテキスト、ブックマーク、またはドキュメントを追加します。 |
10.1. DOCUMENT CREATE
ドキュメントを作成します。
-
構文
EXEC CICS DOCUMENT CREATE [option …] END-EXEC.
-
オプション
オプション 説明 DOCTOKEN
作成したドキュメントのトークンを指定します。
FROM
ドキュメントの作成に使用されるデータを指定します。
HOSTCODEPAGE
ドキュメントのコードページを指定します。
LENGTH
使用されるデータのサイズを指定します。
LISTLENGTH
シンボル・リストの長さを指定します。
SYMBOLLIST
シンボル・リストを含むバッファーを指定します。シンボル・リストは、アンパサンド(&)で区切られた1つ以上のシンボル定義で構成される文字列です。
TEMPLATE
テンプレートの48バイトの名前を指定します。
TEXT
作成中の新しいドキュメントのテキストとして使用するデータ・バッファーを指定します。
10.2. DOCUMENT INSERT
作成済みのドキュメントにテキスト、ブックマーク、またはドキュメントを追加します。
-
構文
EXEC CICS DOCUMENT INSERT [option …] END-EXEC.
-
オプション
オプション 説明 DOCTOKEN
内容を追加する作成済みのドキュメントのトークンを指定します。
TEXT
追加するテキストを指定します。
TEMPLATE
テンプレートの48バイトの名前を指定します。
LENGTH
追加するテキストのサイズを指定します。
FROMDOC
追加するドキュメントのトークンを指定します。
BOOKMARK
追加するブックマークの名前を指定します。
AT
テキスト、ブックマーク、ドキュメントを追加する位置を指定します。あらかじめ追加されたブックマークがATのターゲットになります。
ATが省略された場合、ドキュメントの末尾に内容が追加されます。ドキュメントの先頭にはデフォルトでブックマークがサポートされます。その他の位置に追加する場合は、ブックマークを追加してATを指定します。