内部式処理を使用してのパフォーマンスの向上

単純な基準では、FM/IMS は REXX を呼び出す必要もなく、内部で式を処理できます。これにより、レイアウト識別およびフィールド選択基準の処理が高速化される可能性があります。式が内部処理に適格でない場合は、関連するパネルで Enter キーを押したときに、FM/IMSメッセージ REXX が必要を表示します。この場合、REXX が不要になるように式を変更するか、あるいは内部処理ではなく REXX 処理で式を使用するかを選択できます。

内部処理に適格な式は、以下の項目のみで構成する必要があります。
  • リテラル・ストリング: これには、通常の引用符で囲まれたストリングがバイナリー・ストリングおよび 16 進数ストリングとともに含まれています。
  • 数値: REXX とは異なり、内部式処理プログラムが文字タイプと数値タイプを識別します。内部処理で正しい数値が確実に使用されるようにするには、数値データを引用符なしストリングとして入力してください。

    例えば、内部式処理プログラムはストリング 5 を数値として扱い、5 の値を持つ他の数値と等しいとします。ただし、ストリング '5' は文字データとして扱われ、X'F5' を含むストリングと等しいとします (厳密でない比較では、前後のブランクは無視されます)。REXX は、両方のストリングを同じに扱い、これらを文字データとして処理しますが、適切なコンテキストでは数値としてこれらのストリングが扱われるようにします。

    浮動小数点数値以外は 31 小数桁数に制限され、浮動小数点数値は倍精度浮動小数点数として保管できる数の範囲に制限されます。

  • 比較演算子: 内部式処理プログラムはすべての REXX 比較演算子をサポートします。

    内部処理プログラムは、両方のオペランドが数値であるか、または数値データを含むときには (数値フィールドの定様式参照、または数値形式設定タイプを指定する FLD 参照) 数値比較を実行し、両方のオペランドがビット・フィールドのときにはビット比較を実行し、それ以外の場合には文字比較を実行します。

    両方のオペランドの値が同じ場合、そのデータの長さやタイプに関係なく、数値比較は一致します。ビット比較は、両方のビット・フィールドが同じときのみ一致します。フィールドが同じ長さでない場合には長いほうのフィールドの先行ゼロは無視されます。文字比較は、2 つのストリングが同一の場合のみ一致します。ただし、先行ブランクおよび末尾ブランクは、厳密でない演算子によって無視されます。内部式処理プログラムは EBCDIC 標準照合シーケンスに従ってバイトごとに文字ストリングを比較し、短いほうのストリングがそのストリング長の終わりまで長いほうのストリングと一致すると、長いほうのストリングはより大きいと考えられます。

  • 論理 AND (&) および OR (|) 演算子: 内部処理プログラムが許可する他の 2 項演算子は論理 AND (&) および包含 OR (|) 演算子のみです。プラス (+) とマイナス (-) 演算子は、10 進数の前 (符号を示す)、および REXX 構文によって定義される浮動小数点数値の前と内部で使用することができます。
  • File Manager フィールド参照: 内部式処理プログラムは定様式参照と不定形式参照の両方をサポートします。
  • 括弧

関連トピック