OSC管理サービス

本章では、プログラム、インターバルなどを制御するOSC管理サービスについて説明します。

1. 概要

EXEC CICSインターフェースでは、プログラムの実行、業務フローの制御、データの一時保存やプログラム間のデータ共有などの作業をサポートする、以下のようなプログラミング・サービスを提供します。

2. プログラム制御

OSCアプリケーションは1つまたは複数プログラムの組み合わせで構成されます。プログラム制御サービスは、1つのOSCプログラムで他のプログラムに接続したり、制御権を転送・返却する機能を提供します。

  1. プログラムのコンパイルやデプロイの詳細については、OpenFrame OSC『管理者ガイド』を参照してください。.

  2. OSCアプリケーション・サーバーは他のサーバーに位置している接続中のプログラムを実行する機能も提供します。この機能の詳細については、DPLを参照してください。

プログラム制御コマンド

以下は、プログラム制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

INQUIRE PROGRAM

リージョンにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの情報を返します。

LINK

現在実行中のプログラムから他のプログラムにリンクします。

LOAD

アプリケーション・プログラム、テーブル、またはマップのコピーをタスクで使用できるようにロードします。

RELEASE

LOADコマンドによりロードされたプログラム、テーブル、またはマップを解放します。

RETURN

現在実行中のプログラムを終了し、以前実行していたプログラムに制御権を戻します。

SET PROGRAM

システムにインストールされている特定のプログラム、マップ・セット、またはパーティション・セットの定義を修正します。

XCTL

現在実行中のプログラムを終了し、他のプログラムをリンクします。

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オプションはサポートしていません。

現在実行中のプログラムから他のプログラムにリンクします。

対象になるプログラムはシステムによって自動でメモリにロードおよび実行されます。対象プログラムに転送されていたプログラムの制御権は、対象プログラムの実行が完了したら、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のいずれかを指定します。

    1. COPY、EXECUTIONSET、JVMCLASS、JVMPROFILE、RUNTIME、SHARESTATUS、VERSIONオプションはサポートしていません。

    2. END、NEXT、STARTオプションは構文解析のみサポートしています。

    3. 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関連コマンドに分けられます。

時間関連コマンド

以下は、インターバル制御コマンドのうち時間関連コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

ASKTIME

現在の日付と時間情報を取得します。

CANCEL

DELAYまたはSTARTコマンドの要求を取り消します。

FORMATTIME

ASKTIMEコマンドで取得した日付および時間情報、またはEIBDATEおよびEIBTIMEに保存された日付および時間情報をユーザーが要求するフォーマットに変換します。

INQUIRE REQID

START、DELAYコマンドを使用して待機中の要求の情報を返します。

RETRIEVE

STARTコマンドで起動したトランザクションがSTARTコマンドの各種オプションを使って渡されたデータを取得します。

START関連コマンド

以下は、インターバル制御コマンドのうちSTART関連コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DELAY

特定時刻まで、あるいは特定期間の間タスクの実行を遅延させます。

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

    開始を要求するトランザクションのユーザー識別子を指定します。

    1. ATTACHオプションは構文解析のみサポートしています。

    2. STARTコマンド以外に、BATCHのMTPBATCHの次のコマンドを使用してトランザクションを実行することもできます。

    CEMT STAR <トランザクション名> [ <端末名> <ll data> ]

4. タスク制御

OSCアプリケーションは、一般的にクライアントのトランザクション要求によって実行されます。トランザクション要求を受けてサーバーは一連の作業を処理しますが、こうした一連の作業をタスクと言います。

OSCアプリケーション・サーバーは、多数のサーバー・プロセスを利用してタスクを並列的に処理します。ユーザーは複数のタスクが同時に同じリソースにアクセスすることを業務的に制御するために、リソースを中心にタスクに順番を付けることができます。

以下はその例です。

  1. タスクTがENQコマンドで特定名のリソースRを先取りします。

  2. 他のタスクUがリソースRを先取りするためにENQコマンドを実行します。

  3. タスクTがリソースRを先取りしているため、タスクUは待機状態になります。

  4. タスクTがDEQコマンドでリソースRに対する先取りを解除します。

  5. タスクUが待機状態から出てリソースRを先取りします。

ENQコマンドで先取りされたリソースは、ユーザーが直接DEQコマンドを呼び出さなくても、当該UOWまたはタスクが終わるときに自動で解除されます。この先取りの持続時間はENQコマンドのオプションで指定できます。現在OSCアプリケーション・サーバーはENQコマンドによるリソース先取りがリソース名を使用してのみ可能であるため、LENGTHオプションを指定する必要があります。

タスク制御コマンド

以下はタスク制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DEQ

リソースの先取りを解除します。

ENQ

リソースの先取りを要求します。

INQUIRE TASK

特定のユーザー・タスク情報を返します。

INQUIRE TASK LIST

ユーザー・タスク一覧を返します。ユーザー・タスクは、一般的に運用者が呼び出すOSC提供トランザクションまたはユーザー定義トランザクションに関連するタスクです。

INQUIRE TRANCLASS

トランザクション・クラスおよびクラス内の現在のアクティビティに定義された限界を問い合わせます。

INQUIRE TRANSACTION

OSCシステムにインストールされている特定のトランザクション情報を検索します。

SET TRANCLASS

特定のトランザクション・クラス内で管理できるタスクの限界を変更することができます。

SET TRANSACTION

トランザクション定義の一部属性を変更することができます。

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文字の名前を指定します。

    1. DUMPING、PRIORITY、PURGEABILITY、RUNAWAY、RUNAWAYTYPE、STATUS、TRACINGオプションはサポートしていません。

    2. END、NEXT、STARTオプションは構文解析のみサポートしています。

    3. 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での使用とは異なる部分があるため、タスク間のメモリ共有を参照してください。

動的領域の制御コマンド

以下は、動的領域の制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

FREEMAIN

GETMAINで割り当てられた保存領域をユーザーが明示的に返します。

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を呼び出した場合に返却するように指定します。

    1. BELOWオプションはサポートしていません。

    2. 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アクセス・コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DELETEQ TS

特定TSQを削除します。当該キューが保持しているすべての内容を削除します。

INQUIRE TSQUEUE|TSQNAME

特定TSQの情報を読み込むシステム・コマンドです。

INQUIRE TSMODEL

TSMODELのリソース情報を読み込みます。

READQ TS

特定TSQのデータを読み込みます。

SET TSQUEUE|TSQNAME

特定TSQを管理します。

WRITEQ TS

指定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を指定します。

    1. TSMODELの詳細については、OpenFrame OSC『リソース定義ガイド』を参照してください。

    2. 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 TDREADQ TDWRITEQ TDなど、それぞれTDQのデータを削除し、レコードを読み込み、新規レコードを記録するコマンドをサポートします。

以下は、TDQアクセス・コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DELETEQ TD

TDQを削除します。

INQUIRE TDQUEUE

TDQの情報を検索します。

READQ TD

TDQのレコードを読み込みます。

SET TDQUEUE

TDQの一部属性を変更できます。

WRITEQ TD

TDQにレコード・データを記録します。

CREATE TDQUEUE

TDQを動的に作成します。

DISCARD TDQUEUE

動的に作成された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が発生しません。

    1. ATITERMID、ATITRANID、ATIUSERIDオプションはサポートしていません。

    2. END、NEXT、STARTオプションは構文解析のみサポートしています。

    3. 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オプションはサポートしていません。

7.7. DISCARD TDQUEUE

動的に作成されたTDQを削除します。

  • 構文

    EXEC CICS DISCARD TDQUEUE [option …] END-EXEC.
  • オプション

    オプション 説明

    TDQUEUE

    動的に作成されたTDQの4文字の名前を指定します。

8. チャンネルとコンテナ

チャンネル(Channel)とコンテナ(Container)は、アプリケーション・プログラム間でデータを送受信できるように提供するリソースです。コンテナはプログラム間でデータを送受信するために考案されたデータ保存領域であり、名前が指定されています。つまり、指定された名前を持つCOMMAREA領域といえます。チャンネルはコンテナの集合であり、複数のコンテナを含みます。

OSCアプリケーション・プログラムは基本的にCOMMAREA領域を介してデータを送受信します。チャンネルとプログラムは一層アップグレードされたデータの送受信方式を提供し、COMMAREA領域の場合は32KBのサイズ制約がある反面、チャンネルとコンテナは制約がありません。

チャンネルとコンテナには以下の3つの特徴があります。

  • チャンネルとコンテナは、それらを作成したプログラムとLINKおよびXCTLコマンドでチャンネルとコンテナを受信したプログラムでのみアクセスできます。それらのプログラムで使用できるチャンネルを有効チャンネル(current channel)といいます。

  • プログラムの終了後は自動的にコンテナとその中のデータが削除されます。

  • チャンネルとコンテナは復旧が不可能なデータ保存領域です。

DFHで始まるコンテナは、チャネルを指定しない場合、DFHTMPCHチャネルに保存されます。

チャンネルとコンテナ・コマンド

以下は、チャンネルとコンテナに関連するコマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DELETE CONTAINER

チャンネルのコンテナとその中に保存されているデータを削除します。

GET CONTAINER

チャンネルのコンテナからデータを読み込みます。

MOVE CONTAINER

チャンネルのコンテナを他のチャンネルに移動させます。

PUT CONTAINER

特定チャンネルのコンテナにデータを記録します。

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

ジャーナル・レコードを作成します。

INQUIRE JOURNALMODEL

インストールされた特定のジャーナル・モデルの情報を返して該当するログ・ストリーム名を取得することができます。

WRITE JOURNALNAME

ジャーナル・レコードを作成します。JOURNALコマンドとオプションのみ異なります。

WRITE JOURNALNUM

ジャーナル・レコードを作成します。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オプションでドキュメントのトークンを指定して特定のドキュメントを使用することができます。

ドキュメント制御コマンド

以下は、ドキュメント制御コマンドの一覧です。各コマンドの詳細については該当する節を参照してください。

コマンド 説明

DOCUMENT CREATE

ドキュメントを作成します。

DOCUMENT INSERT

作成済みのドキュメントにテキスト、ブックマーク、またはドキュメントを追加します。

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を指定します。