表 65 に、PL/I 言語エレメントの設定制限値を要約しています。 また、表 66 に、マクロ機能の言語エレメントの設定制限値を 要約しています。
| 言語エレメント | 説明 | 制限 |
|---|---|---|
| 配列 | 配列の次元の最大数 | 15 |
| 最小下限 (注 1) | -2147483648 | |
| 最大上限 (注 1) | +2147483647 | |
|
注 1:
コンパイル時オプション CMPAT(V1) が指定されている場合、
最小下限は -32768、最大上限は 32767 です。
また、これらの限界は注意して使用する必要があります。
例えば、A に最大上限が指定されていて、JX に属性 SIGNED
FIXED BIN(31) が指定されている場合、ループ DO JX = LBOUND(A) TO
HBOUND(A) は配列の最後のエレメントにヒットした後「ラップ」します。
TO の代わりに UPTHRU を使用した場合、ループはラップしません。 |
||
| 構造体 | 構造体内のレベルの最大数 | 15 |
| 構造体内の最大レベル番号 | 255 | |
|
算術値の 精度 |
FIXED DECIMAL の最大精度 | 31 (注 2) |
| FIXED BINARY の最大精度 | 63 (注 3) | |
| FLOAT DECIMAL の最大精度 | 33 (注 4) | |
| FLOAT BINARY の最大精度 | 109 (注 5) | |
| FIXED データの最大スケール因数 | 127 | |
| FIXED データの最小スケール因数 | -128 | |
|
注 2:
これはコンパイル時オプション LIMITS(FIXEDDEC(31)) を指定した
場合に限り当てはまります。デフォルトは 15 です。 |
||
|
注 3:
これはコンパイル時オプション LIMITS(FIXEDBIN(63)) を指定した
場合に限り当てはまります。デフォルトは 31 です。 |
||
|
注 4:
Intel の FLOAT DECIMAL 最大精度は 18 です。
FLOAT(DFP) を指定すると、FLOAT DECIMAL 最大精度は 34 になります。 |
||
|
注 5:
Intel の FLOAT BINARY 最大精度は 64 です。 |
||
| ストリング変数/定数と AREA 変数/定数 | CHARACTER の最大の長さ | 32767 |
| BIT の最大の長さ | 32767 | |
| GRAPHIC の最大の長さ | 16383 | |
| WIDECHAR の最大の長さ | 16383 | |
| AREA の最大サイズ | 2147483647 | |
| 組み込み関数 | IAND、IOR、MAX、および MIN 関数への引数の最大個数 | 64 |
| ADD、BINARY、DECIMAL、DIVIDE、 FIXED、FLOAT、MULTIPLY、 PRECISION、および SUBTRACT 関数内の精度 (p) の最大値 | 対応する算術精度の制限と同じ | |
| ADD、BINARY、DECIMAL、DIVIDE、 FIXED、MULTIPLY、PRECISION、および SUBTRACT 関数内のスケール (q) の最大値 | 対応する算術精度の制限と同じ | |
| CEIL、FLOOR、MAX、MIN、MOD、 ROUND および TRUNC 関数内の桁 (N) の最大数 | 対応する算術精度の制限と同じ | |
| プログラム・サイズ | ID の最大の長さ | 100 |
| プログラム内のプロシージャーの最大数 | 255 | |
| ステートメント・タイプが変更される前の字句単位 (キーワード、ID、区切り文字など) の最大数 | 511 | |
| ブロック内の DEFAULT ステートメントの最大数 | 31 | |
| %PUSH ステートメントの最大数 | 63 | |
| %INCLUDE ステートメントの最大数 | 2047 | |
| %INCLUDE ステートメントの最大ネスト | 2046 | |
| ソース・ファイル内の最大行数 | 1048575 | |
| ステートメントの最大数 | 16777215 | |
| ブロック内の LIKE 属性の最大数 | 63 | |
| データ・リスト内の出力式の最大数 | 60 | |
| データ・リスト内の反復 DO 指定の最大数 | 50 | |
| 位置合わせされていないビットを含まないデータ集合の最大サイズ | 2147483647 | |
| 位置合わせされていないビットを含むデータ集合の最大サイズ | 268435455 | |
| CALL または関数参照内の引数の最大数 | 255 | |
| プロシージャーの最大パラメーター数 | 4095 | |
| 分配された属性の最大ネスト | 15 | |
| BEGIN および PROCEDURE ステートメントの最大ネスト | 30 | |
| DO グループの最大ネスト | 49 | |
| IF ステートメントの最大ネスト | 49 | |
| SELECT ステートメントの最大ネスト | 49 | |
| 式の最大ネスト | 383 | |
| %NOTE メッセージの最大の長さ | 32767 | |
| その他 | 文字ピクチャー内のピクチャー文字の最大数 | 511 |
| 数値ピクチャー内の最大バイト数 | 253 | |
| 数値ピクチャー内の数値ピクチャー文字の最大数 | 31 | |
| CHARACTER、X、BIT、BX、GRAPHIC、
GX、WX および M ストリング定数の外部表示の最大バイト数
外部表示には、すべての引用符とストリング接尾部が含まれます。 例えば、ストリング '01010110'B にはその外部指定内に 11 バイトありますが、内部指定には 1 バイトしかありません。 同様に、ストリング 'Ain''t Misbehavin''' にはその外部指定内に 21 バイトありますが、 内部表示には 17 バイトしかありません。 |
3072 | |
| KEYTO 文字ストリングの最大の長さ | 120 | |
| KEYTO グラフィックまたはワイド文字ストリングの最大長 | 60 | |
| KEY の最大の長さ | 32763 | |
| LINESIZE の最大行サイズ | F フォーマットあるいは U フォーマットでは 32,759、V フォーマットでは 32,751 | |
| LINESIZE の最小行サイズ | 1 | |
| PAGESIZE の最大ページ・サイズ | 32,767 | |
| PAGESIZE コンパイラー・オプションの最小ページ・サイズ | 1 | |
| DISPLAY 文字ストリングの最大サイズ | 126 | |
| 最大の DISPLAY 応答メッセージ | 72 バイト | |
| IEEE 正規化浮動小数点数値の範囲 | +3.30E-4932 から +1.21E+4932、0、 -3.30E-4932 から -1.21E+4932 | |
| 16 進浮動小数点数値の範囲 | +10E-78 から +10E75、0、-10E-78 から +10E+75 | |
| 言語エレメント | 説明 | 制限 |
|---|---|---|
| 配列 | 最大次元数 | 15 |
| 下限の最小値 | -32768 | |
| 上限の最大値 | +32767 | |
|
算術値の 範囲 |
最大および最小の FIXED(DECIMAL) オプションによる FIXED 変数 | FIXED DECIMAL(5) ID と同じ |
| 最大および最小の FIXED(BINARY) オプションによる FIXED 変数 | FIXED BINARY(31) ID と同じ | |
|
マクロ・ プロシージャー |
最大ネスティング・レベル | 1 |
| キー | キーワード・パラメーターの最大個数 | 4096 |
| ストリング結果 | 最大長 | 512K |