Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


PGMNAME

PGMNAME オプションは、プログラム名および入り口点名の処理を制御します。

構文図を読む構文図をスキップする
PGMNAME オプションの構文

            .-COMPAT----.     
>>-PGMNAME(-+-LONGMIXED-+-)------------------------------------><
            '-LONGUPPER-'     

デフォルト: PGMNAME(COMPAT)

省略形: PGMN(LM|LU|CO)

LONGUPPER は、UPPERLU、または U と省略することができ、LONGMIXED は、MIXEDLM、または M と省略することができます。

PGMNAME オプションは、以下のコンテキストで使用される名前の処理を制御します。

PGMNAME(COMPAT)

PGMNAME(COMPAT) を使用すると、次のように、プログラムは、COBOL コンパイラーの旧バージョンと互換性の ある方法で処理されます。

  • プログラム名の長さは最大 30 文字です。
  • 名前で使用される文字はすべて英字、数字、またはハイフンでなければならず (ただし、プログラム名がリテラル形式で入力されており、最外部のプログラムにある場合を除く)、リテラルには拡張文字の @、#、および $ を含めることができる。
  • 少なくとも 1 文字は英字にする必要があります。
  • ハイフンを先頭文字や末尾文字として使用することはできません。

外部プログラム名はコンパイラーによって次のように処理されます。

  • 大文字に変換される。
  • 8 文字に切り捨てられる。
  • ハイフンはゼロ (0) に変換される。
  • 先頭文字が英字でない場合は、次のように変換される。
    • 1 から 9 は A から I に変換される。
    • その他はすべて J に変換される。

PGMNAME(LONGUPPER)

PGMNAME(LONGUPPER) を使用する場合、PROGRAM-ID 段落で COBOL ユーザー定義語として指定されるプログラム名は、次のようなユーザー定義語に関する通常の COBOL 規則に従って いなければなりません。

  • プログラム名の長さは最大 30 文字です。
  • 名前で使用される文字はすべて英字、数字、またはハイフンでなければならない。
  • 少なくとも 1 文字は英字にする必要があります。
  • ハイフンを先頭文字や末尾文字として使用することはできません。

定義または参照のいずれかで、プログラムをリテラルとして指定する場合は、次のようになります。

  • プログラム名の長さは最高 160 文字まで。
  • 名前で使用される文字はすべて英字、数字、またはハイフンでなければならない。
  • 少なくとも 1 文字は英字にする必要があります。
  • ハイフンを先頭文字や末尾文字として使用することはできません。

外部プログラム名はコンパイラーによって次のように処理されます。

  • 大文字に変換される。
  • ハイフンはゼロ (0) に変換される。
  • 先頭文字が英字でない場合は、次のように変換される。
    • 1 から 9 は A から I に変換される。
    • その他はすべて J に変換される。

ネストされたプログラムの名前はコンパイラーによって大文字に変換されますが、それ以外はそのまま処理され、切り捨ても変換も行われません。

PGMNAME(LONGMIXED)

PGMNAME(LONGMIXED) を使用する場合、プログラム名は、切り捨てられたり、変換されたり、 大文字への変換をされることなく、現状のまま処理されます。

PGMNAME(LONGMIXED) を使用する場合、すべてのプログラム名定義は、プログラム名のリテラル形式を使用して、PROGRAM-ID 段落または ENTRY ステートメントで指定する必要があります。

(PGMNAME オプションの影響を受ける、上記にリストされたコンテキストの中で) プログラム名に使用されるリテラルには、X'41'-X'FE' の範囲の文字を含めることができます。

使用上の注意

  • 以下のエレメントは、PGMNAME オプションの影響を受けません。
    • クラス名およびメソッド名。
    • システム名 (SELECT .. . ASSIGN の中の割り当て名、および COPY ステートメントの中のテキスト名またはライブラリー名)。
    • 動的呼び出し。動的呼び出しはターゲット・プログラム名で解決されます。このとき、ターゲット・プログラム名は 8 文字に切り詰められ、大文字に変換されて、埋め込まれたハイフンや先行桁は変換されます。
    • ネストされていないプログラムの CANCEL。ネーム・レゾリューションは動的呼び出しのメカニズムと同じものを使用します。
  • PGMNAME オプションは、ネストされたプログラムの呼び出し、および呼び出し側と一緒にリンクされる プログラムへの静的呼び出しに影響を与えます。
  • リンク・エディットの考慮事項: PGMNAME(LONGUPPER) または PGMNAME(LONGMIXED) オプションを使用してコンパイルされた COBOL プログラムは、AMODE 31 でリンク・エディットする必要があります。
  • プログラム名が 8 バイト以下ですべて大文字でない限り、PGMNAME(LONGMIXED) または PGMNAME(LONGUPPER) オプションでコンパイルされた COBOL プログラムへの動的呼び出しは許可されません。さらに、プログラムの名前はそれが入っているモジュールの名前に対して固有でなければなりません。
  • PGMNAME(LONGMIXED) によってサポートされる拡張文字セットを使用するときは、名前の解決に使用されるメカニズムに応じて、リンケージ・エディター、バインダー、プリリンカー、またはシステム規則のうちの該当するものに適合する名前を使用してください。

    コンマや括弧などの文字は使用しないでください。これらの文字は、リンケージ・エディターやバインダーの制御ステートメントの構文で使用されます。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)