CICS コマンドの引数値

コマンド・オプションに関連付けられたデータは、引数と呼ばれます。 引数のタイプごとに異なるデータ・タイプを含めることができます。引数によっては、CICS ® からプログラムに情報を返すものと、プログラムによって設定されるものがあります。

CICS コマンドのオプションは、以下の引数値を取ることができます。
  • data-value
  • data-area
  • cvda (CICS 値データ域)
  • ポインター値 (ptr-value)
  • ポインター参照 (ptr-ref)
  • 名前
  • ファイル名
  • systemname
  • ラベル
  • hhmmss
AMODE (64) プログラムの場合のみ、CICS コマンドのオプションは以下の引数値を取ることもできます。
  • data-area64
  • ptr-value64
  • ptr-ref64

データ域およびデータ値

データ域およびデータ値は、基本引数型です。 この 2 つは、タスクがコマンドを実行するときに情報が流れる方向が違います。 data-value は、常に送信側になります。CICS がコマンドを処理するために使用するデータを CICS に伝達します。 データ域 は受信側です。CICS はこれを使用して、呼び出し側に情報を返します。 データ域 は、送信側になることもできます。例えば、CICS に伝達するデータが可変長 (FROM の場合) の場合や、フィールドが入力と出力の両方に使用される場合などです。

COBOL の引数値

引数値は以下のように置き換えることができます。
  • data-value」は、その引数にとって正しいデータ型の COBOL データ名に置き換えるか、またはその引数にとって正しい型に変換できる定数に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ COBOL 定義
    ハーフワード・バイナリー PIC S9(4) COMP
    フルワード・バイナリー PIC S9(8) COMP
    ダブルワード符号なし バイナリー値 PIC 9(18) COMP
    文字ストリング PIC X(n)。n はバイト数。
    UTF-8 の文字ストリング PIC X(n)。n はバイト数。
  • data-area」は、その引数にとって正しいデータ型の任意の COBOL データ名に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ COBOL 定義
    ハーフワード・バイナリー PIC S9(4) COMP
    フルワード・バイナリー PIC S9(8) COMP
    ダブルワード符号なし バイナリー値 PIC 9(18) COMP
    文字ストリング PIC X(n)。n はバイト数。
    UTF-8 の文字ストリング PIC X(n)。n はバイト数。

    データ型が指定されていない場合、「data-area」は基本項目またはグループ項目を参照できます。

  • cvda については、 CICS 値データ域 (CVDA)で説明されています。
  • ptr-value」は、ポインター変数、または ADDRESS 特殊レジスターに置き換えることができます。
  • ptr-ref」は、ポインター変数、または ADDRESS 特殊レジスターに置き換えることができます。
  • name」は、以下のいずれかの値に置き換えることができます。
    • 英数字リテラルとして指定されている文字ストリング。 このストリングが必要な長さに満たない場合は、ブランクが埋め込まれます。
    • その名前に必要な長さをもつ COBOL データ域。 「data-area」の値は、その引数に使用される名前です。 data-area が必要な長さより短い場合は、余った文字が未定義となるため、予測不能な結果となることがあります。

    FILE (filename) という形で使用される「filename」は、ファイルの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 8 文字含める必要があります。

    systemname は、SYSID(systemname) で使用されるように、要求の送信先のシステムの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 4 文字含める必要があります。

  • label」は、任意の COBOL パラグラフ名またはセクション名に置き換えることができます。
  • hhmmss」は、10 進数定数または PIC S9(7) COMP-3 形式のデータ名に置き換えることができます。 値は 0HHMMSS+ という形式でなければなりません。この値は以下のようになります。
    HH
    00 から 99 までの値で時間を示します。
    MM
    00 から 59 までの値で分を示します。
    SS
    00 から 59 までの値で秒を示します。

COBOL では、参照される変数と長さが異なるデータの読み取りまたは書き込みをプログラムで行わない限り、LENGTH オプションをコーディングする必要はありません。

C の引数値

引数値は以下のように置き換えることができます。
  • data-value」は、その引数にとって正しいデータ型に変換できる任意の C 式に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ C 定義
    ハーフワード・バイナリー short int
    フルワード・バイナリー long int
    ダブルワード・バイナリー char[8]
    文字ストリング char[n]。n はバイト数。
    UTF-8 の文字ストリング char[n]。n はバイト数。

    data-value」には、サブセットとして「data-area」が含まれています。

  • data-area」は、その引数にとって正しいデータ型の任意の C のデータ参照に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ C 定義
    ハーフワード・バイナリー short int
    フルワード・バイナリー long int
    ダブルワード・バイナリー char[8]
    文字ストリング char[n]。n はバイト数。
    UTF-8 の文字ストリング char[n]。n はバイト数。

    データ型を指定しない場合、「data-area」はスカラー・データ型、配列、または構造を参照できます。 参照は連続したストレージに対するものでなければなりません。

  • cvda については、 CICS 値データ域 (CVDA)で説明されています。
  • ptr-value」(サブセットとして「ptr-ref」を含む) は、アドレスに変換できる任意の C 式に置き換えることができます。
  • ptr-ref」は、任意の C のポインター型参照に置き換えることができます。
  • name」は、以下のいずれかの値に置き換えることができます。
    • 二重引用符内の文字ストリング (リテラル定数)。
    • 名前に許可されている最大長に等しい長さの文字配列に変換できる、C 式または参照。 文字配列の値はその引数が使用する名前です。

    FILE (filename) という形で使用される「filename」は、ファイルの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 8 文字含める必要があります。

    systemname は、SYSID(systemname) で使用されるように、要求の送信先のシステムの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 4 文字含める必要があります。

  • label」は、C 言語ではサポートされていません。
  • hhmmss は、整数定数に置き換えることができます。それ以外の場合は、アプリケーションが、CICS に渡される値がパック 10 進数形式であることを確認する必要があります。 言語はパック 10 進数型をサポートしません。
    HH
    00 から 99 までの値で時間を示します。
    MM
    00 から 59 までの値で分を示します。
    SS
    00 から 59 までの値で秒を示します。

多くのコマンドがアプリケーション・プログラムと CICS の間でデータの転送を行います。 ほとんどの場合、SET を使用するときには LENGTH オプションも指定する必要があります。各コマンドの構文およびそれに関連するオプションにより、この規則が適用されるかどうかが示されます。

PL/I の引数値

引数値は以下のように置き換えることができます。
  • data-value」は、その引数にとって正しいデータ型に変換できる任意の PL/I 式に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ PL/I 定義
    ハーフワード・バイナリー FIXED BIN(15)
    フルワード・バイナリー FIXED BIN(31)
    ダブルワード・バイナリー CHAR (8)
    文字ストリング CHAR(n)。n はバイト数。
    UTF-8 の文字ストリング CHAR(n)。n はバイト数。

    data-value」には、サブセットとして「data-area」が含まれています。

  • data-area」は、その引数にとって正しいデータ型の任意の PL/I データ参照に置き換えることができます。 次の表は、適切なデータ型を定義する方法を示しています。
    データ・タイプ PL/I 定義
    ハーフワード・バイナリー FIXED BIN(15)
    フルワード・バイナリー FIXED BIN(31)
    ダブルワード・バイナリー CHAR (8)
    文字ストリング CHAR(n)。n はバイト数。
    UTF-8 の文字ストリング CHAR(n)。n はバイト数。

    データ・タイプが指定されていない場合、 data-area はエレメント、配列、または構造を参照できます。例えば、FROM (P-> STRUCTURE) LENGTH (LNG) などです。 参照は連結ストレージでなければなりません。

    データ域はまた、適切な PL/I 位置合わせ属性 (バイナリー項目の場合は ALIGNED、ストリングの場合は UNALIGNED) をもっていなければなりません。

    明示的な長さをもたない可変データ・ストリングを使用する場合は、渡されるデータは 2 バイトの長さフィールドで始まり、その長さはストリングについて宣言された最大長です。 コマンドに明示的に長さを指定する場合は、渡される長さはその長さになります。 つまり、2 バイトの長さフィールドに、指定した長さまでのデータが続きます。

  • cvda については、 CICS 値データ域 (CVDA)で説明されています。
  • ptr-value」(サブセットとして「ptr-ref」を含む) は、POINTER に変換できる任意の PL/I 数式に置き換えることができます。
  • ptr-ref」は、タイプが POINTER ALIGNED の任意の PL/I 参照に置き換えることができます。
  • name」は、以下のいずれかの値に置き換えることができます。
    • 単一引用符で囲まれた文字ストリング (つまり、リテラル定数)。
    • 名前に許可されている最大長に等しい長さをもつ文字ストリングに変換できる 値をもつ PL/I 数式または参照。 文字ストリングの値はこの引数に使用される名前です。

    FILE (filename) という形で使用される「filename」は、ファイルの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 8 文字含める必要があります。

    systemname は、SYSID(systemname) で使用されるように、要求の送信先のシステムの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 4 文字含める必要があります。

  • label」は、その値がラベルである PL/I 式に置き換えることができます。
  • hhmmss」は、10 進定数または FIXED DECIMAL (7,0) に変換できる数式に置き換えることができます。 値は 0HHMMSS+ という形式でなければなりません。この値は以下のようになります。
    HH
    00 から 99 までの値で時間を示します。
    MM
    00 から 59 までの値で分を示します。
    SS
    00 から 59 までの値で秒を示します。

UNALIGNED 属性が DEFAULT DESCRIPTOR ステートメントによって CICS 変換プログラムによって生成された ENTRY 宣言に追加される場合、CICS コマンドに対するデータ域またはポインター参照の引数も UNALIGNED でなければなりません。 ALIGNED 属性の場合にも同様に、データ域またはポインター参照引数は、ALIGNED でなければなりません。

多くのコマンドがアプリケーション・プログラムと CICS の間でデータの転送を行います。 ほとんどの場合、転送するデータの長さは、アプリケーション・プログラムで提供する必要があります。 ただし、データ域がソースまたはターゲットとして指定されている場合には、長さを明示的に指定する必要はありません。これは、コマンド言語変換プログラムが、STG(data-area) または CSTG(data-area) のいずれかのデフォルトの長さ値を適切に生成するためです。

AMODE(24) および AMODE(31) アセンブラー言語プログラムの引数値

一般に、引数はデータのアドレスかデータそのもの (アセンブラー言語では再配置可能式または絶対式) のいずれかです。

再配置可能式には対になっていないブラケット (引用符の外) または対 になっていない (長さ属性参照からはずれている) 引用符があってはな りません。 この規則に従っていれば、=AL2 (100) などのリテラル定数、20 (0,R11) などの形式、およびマクロ置き換え機能を使用する形式を含めすべての式を使用することができます。

絶対式は、長さ属性参照、または自己定義定数のどちらかの単一の項目でなけ ればなりません。

等号を使用する際には注意する必要があります。等号は、レジスターを参照する場合 (ポインター参照) にのみ使用してください。 例えば、等号を長さに使用すると、アドレスの長さとして処理されて、予測不能なエラーが発生します。

AMODE(24) および AMODE(31) アセンブラー言語プログラムの場合、以下のようにして、引数値を置き換えることができます。
  • data-value」は、その引数にとって正しい型のデータへのアセンブラー言語参照である再配置可能式に置き換えるか、またはその引数にとって正しい型の定数に置き換えることができます。
  • data-area」は、その引数にとって正しい型のデータへのアセンブラー言語参照である再配置可能式に置き換えることができます。
  • cvda については、 CICS 値データ域 (CVDA)で説明されています。
  • ptr-value」は、レジスターへのアセンブラー言語参照である絶対式に置き換えることができます。
  • ptr-ref」は、レジスターへのアセンブラー言語参照である絶対式に置き換えることができます。
  • name」は、単一引用符で囲まれた文字ストリング、または文字ストリングを参照するアセンブラー言語の再配置可能式参照のいずれかに置き換えることができます。 長さは名前に許可されている最大長と同じです。 文字ストリングの値はこの引数に使用される名前です。

    FILE (filename) という形で使用される「filename」は、ファイルの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 8 文字含める必要があります。

    systemname は、SYSID(systemname) で使用されるように、要求の送信先のシステムの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 4 文字含める必要があります。

  • label」は、制御が渡される宛先アドレスを指します。 宛先命令のラベル、または宛先のアドレス定数のラベルのいずれかに置き換えることができます。 この定数は長さを指定してはなりません。

    式 =A(dest) も使用できます。「dest」は宛先を示す再配置可能式です。

    例えば、以下のコマンドは同じ意味になります。
    HANDLE CONDITION ERROR(DEST)
    HANDLE CONDITION ERROR(ADCON)
    HANDLE CONDITION ERROR(=A(DEST))
    ⋮
    DEST  BR 14
    ADCON DC A(DEST)
  • hhmmss」は、自己定義の 10 進定数、または PL4 と定義されたフィールドのアセンブラー言語参照に置き換えることができます。 値は 0HHMMSS+ という形式でなければなりません。この値は以下のようになります。
    HH
    00 から 99 までの値で時間を示します。
    MM
    00 から 59 までの値で分を示します。
    SS
    00 から 59 までの値で秒を示します。
多くのコマンドがアプリケーション・プログラムと CICS の間でデータの転送を行います。 ほとんどの場合、転送するデータの長さをアプリケーション・プログラムで指定する必要があります。 ただし、データ域がソースまたはターゲットとして定義されている場合 は、長さを明示的に指定する必要はありません。コマンド言語変換プロ グラムが自動的にデフォルトの長さを生成します。 例えば、次のようになります。
xxx DC CL8
 .
 .
EXEC CICS ... LENGTH(L'xxx)

AMODE(64) アセンブラー言語プログラムの引数値

一般に、引数はデータのアドレスかデータそのもの (アセンブラー言語では再配置可能式または絶対式) のいずれかです。

再配置可能式には対になっていないブラケット (引用符の外) または対 になっていない (長さ属性参照からはずれている) 引用符があってはな りません。 この規則に従っていれば、=AL2 (100) などのリテラル定数、20 (0,R11) などの形式、およびマクロ置き換え機能を使用する形式を含めすべての式を使用することができます。

絶対式は、長さ属性参照、または自己定義定数のどちらかの単一の項目でなけ ればなりません。

等号を使用する際には注意する必要があります。等号は、レジスターを参照する場合 (ポインター参照) にのみ使用してください。 例えば、等号を長さに使用すると、アドレスの長さとして処理されて、予測不能なエラーが発生します。

非 Language Environment ® (LE) AMODE (64) アセンブラー言語プログラムの場合、引数値は以下のように置き換えることができます。
  • data-value」は、その引数にとって正しい型のデータへのアセンブラー言語参照である再配置可能式に置き換えるか、またはその引数にとって正しい型の定数に置き換えることができます。
  • data-area」は、その引数にとって正しい型のデータへのアセンブラー言語参照である再配置可能式に置き換えることができます。
  • data-area64」は、その引数にとって正しい型のデータへのアセンブラー言語 64 ビット参照である再配置可能式に置き換えることができます。
  • cvda については、 CICS 値データ域 (CVDA)で説明されています。
  • ptr-value」は、レジスターへのアセンブラー言語参照である絶対式に置き換えることができます。
  • ptr-value64」は、レジスターへのアセンブラー言語 64 ビット参照である絶対式に置き換えることができます。
  • ptr-ref」は、レジスターへのアセンブラー言語参照である絶対式に置き換えることができます。
  • ptr-ref64」は、レジスターへのアセンブラー言語 64 ビット参照である絶対式に置き換えることができます。
  • name」は、単一引用符で囲まれた文字ストリング、または文字ストリングを参照するアセンブラー言語の再配置可能式参照のいずれかに置き換えることができます。 長さは名前に許可されている最大長と同じです。 文字ストリングの値はこの引数に使用される名前です。

    FILE (filename) という形で使用される「filename」は、ファイルの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 8 文字含める必要があります。

    systemname は、SYSID(systemname) で使用されるように、要求の送信先のシステムの名前を指定します。 名前には、A から Z、0 から 9、$、@、および # を 1 から 4 文字含める必要があります。

  • hhmmss」は、自己定義の 10 進定数、または PL4 と定義されたフィールドのアセンブラー言語参照に置き換えることができます。 値は 0HHMMSS+ という形式でなければなりません。この値は以下のようになります。
    HH
    00 から 99 までの値で時間を示します。
    MM
    00 から 59 までの値で分を示します。
    SS
    00 から 59 までの値で秒を示します。

label」は、AMODE(64) プログラムではサポートされていません。

多くのコマンドがアプリケーション・プログラムと CICS の間でデータの転送を行います。 ほとんどの場合、転送するデータの長さをアプリケーション・プログラムで指定する必要があります。 ただし、データ域がソースまたはターゲットとして定義されている場合 は、長さを明示的に指定する必要はありません。コマンド言語変換プロ グラムが自動的にデフォルトの長さを生成します。 例えば、次のようになります。
xxx DC CL8
 .
 .
EXEC CICS ... LENGTH(L'xxx)