PGMINFO(*PCML | *NO | *DCLCASE { : *MODULE ... } )
PGMINFO キーワードは、モジュールまたはプログラムのプログラム・インターフェース情報の生成方法を指定します。

- *NO
- *NO を指定すると、プログラム・インターフェース情報は生成されません。
- *PCML
- *PCML を指定すると、プログラム・インターフェース情報がプログラム呼び出しマークアップ言語の形式で生成されます。
- *MODULE
- *MODULE を指定すると、プログラム・インターフェース情報がモジュールに直接生成されます。 そのモジュールを後で使用して、プログラムまたはサービス・プログラムを作成すると、そのプログラムまたはサービス・プログラムにもプログラム・インターフェース情報が組み込まれます。 これによって、API QBNRPII を使用して、その情報を取り出すことができるようになります。
- *DCLCASE
- *DCLCASE を指定すると、PCML 内の名前は、名前の宣言の大/小文字の区別を使用して生成されます。 名前の宣言の大/小文字の区別を参照してください。
最初のパラメーターは *NO、*PCML、または *DCLCASE のいずれかでなければなりません。
最初のパラメーターが *NO または *DCLCASE の場合は、追加のパラメーターを使用することはできません。
最初のパラメーターが *PCML の場合は、少なくとも 1 つの追加パラメーターが必要となります。
有効な追加パラメーターは *DCLCASE または *MODULE、あるいはその両方です。
PGMINFO のデフォルトの設定値は、コマンド CRTRPGMOD または CRTBNDRPG のパラメーター PGMINFO および INFOSTMF で指定されている値になります。 キーワード PGMINFO がコマンド・パラメーター PGMINFO および INFOSTMF と競合する場合には、制御仕様書のキーワードの値が、コマンドで指定されている値よりも優先されます。 ただし、コマンド・パラメーターからの要求と PGMINFO キーワードからの要求が異なるが競合しない場合には、コマンド・パラメーターの値と PGMINFO キーワードの値がコンパイラーによってマージされます。

名前の宣言の大/小文字の区別
- 定義ステートメントによってデータ構造、フィールド、またはサブフィールドが定義された場合は、その定義ステートメントに使用された大/小文字の区別が、名前の宣言の大/小文字の区別と見なされます。
- データ構造が LIKEREC データ構造として定義された場合は、サブフィールドの宣言では大文字が使用されます。
- データ構造が外部記述データ構造として定義された場合は、サブフィールドが外部サブフィールド・ステートメント内に出現した場合を除き、サブフィールドの宣言には大文字が使用されます。
- 定義ステートメントによってフィールドが定義されない場合、ソース内で名前が次のいずれかの用途で使用された最初のオカレンスでの大/小文字の区別が、宣言の大/小文字の区別となります。
- 入力仕様
- 「長さ」記入項目が指定されている固定形式演算仕様
- 「結果フィールド」記入項目に名前が現れる *LIKE DEFINE ステートメント
- LIKEDS を使用してデータ構造が定義されると、新しいデータ構造のサブフィールドの宣言の大/小文字の区別は、親データ構造のサブフィールドと同じになります。
- プロシージャーの宣言の大/小文字の区別として、そのプロシージャーの DCL-PROC または「プロシージャーの始め」ステートメントで指定された名前の大/小文字の区別が使用されます。
