positiveSignIndicator

positiveSignIndicator ビルド記述子オプションは、パフォーマンスを向上させるために iSeries® 環境でのみ使用されます。

iSeries 用の COBOL プログラムを生成する際に、positiveSignIndicator ビルド記述子オプションで、 iSeries ベースの ILE COBOL コンパイラーがゾーン 10 進数データおよびパック 10 進数データの正符号として使用する文字を指定します。 次のタイプの数値データが影響を受けます。 潜在的な問題は、COBOL コンパイラーが、これらすべてのデータ型に対して指定された正符号文字を使用することです。これと対照的に、EGL は、以下のように、デフォルトで文字の混合を使用します。

COBOL コンパイラーがすべての正符号文字を C に設定した場合、EGL は通常、実行時にすべての NUM および PACF 変数を F に変更します。同様に、コンパイラーがすべての文字を F (デフォルト) に設定した場合、EGL は、すべての NUMC、DECIMAL、および MONEY 変数を C に変更します。

したがって、positiveSignIndicator ビルド記述子オプションを指定する通常の目的は、パフォーマンスを向上させることにあります。コードに含まれる NUMC、DECIMAL、および MONEY の変数の出現箇所が NUM および PACF の変数 よりも多い場合は、positiveSignIndicator を C に設定して パフォーマンスを向上させることができます。この場合、実行時に変更する変数の数が減るため、EGL が生成するコードも少なくなります。

デフォルトの EGL の振る舞いをオーバーライドするために、もう 2 つの値が使用可能です。 positiveSignIndicator を F-ALL に設定すると、EGL は、すべての NUMC、DECIMAL、および MONEY 変数を C に変更できません。同様に、C-ALL に設定すると、EGL は NUM および PACF 変数を F に変更できません。

独自のコードが NUM および PACF 変数のみの場合、またはすべての変数に F 正符号を付ける場合は、F-ALL を選択することによって、大幅なパフォーマンス上の利点が あります。この選択によって、符号を変更するための EGL ランタイム呼び出しの生成がすべて 避けられます。同様に、独自のコードが NUMC、DECIMAL、および MONEY 変数のみの場合、またはすべての変数に C 正符号を付ける場合は、C-ALL を選択することによって、大幅なパフォーマンス上の利点があります。

F (デフォルト値)
これは、COBOL コンパイラーにより、すべての DECIMAL、MONEY、NUM、NUMC、および PACF 変数が、正符号文字として「F」を使用するよう事前設定されることを指定します。EGL は、実行時に NUMC、DECIMAL、および MONEY 変数の符号を C に変更します。
C
これは、COBOL コンパイラーにより、すべての DECIMAL、MONEY、NUM、NUMC、および PACF 変数が、正符号文字として「C」を使用するよう事前設定されることを指定します。EGL は実行時に NUM および PACF 変数の符号を F に変更します。
F-ALL
これは、COBOL コンパイラーにより、すべての DECIMAL、MONEY、NUM、NUMC、および PACF 変数が、正符号文字として「F」を使用するよう事前設定されることを指定します。EGL は実行時に、どの正符号も C に変更しません。
C-ALL
これは、COBOL コンパイラーにより、すべての DECIMAL、MONEY、NUM、NUMC、および PACF 変数が、正符号文字として「C」を使用するよう事前設定されることを指定します。EGL は実行時にどの正符号も F に変更しません。

フィードバック