COMPUTE ステートメントは、1 つまたは複数のデータ項目に算術式の値を 割り当てます。
COMPUTE ステートメントを使うと、ADD、SUBTRACT、MULTIPLY、および DIVIDE ステ ートメントの規則による受け入れデータ項目に関する制約に拘束されることなく、算術 演算を組み合わせることができます。
COMPUTE ステートメント - 形式 .-------------------. V | >>-COMPUTE----ID-1--+---------+-+--+-=-----+--算術式------------> '-ROUNDED-' '-EQUAL-' >--+------------------------------------------+-----------------> '-+----+--SIZE ERROR--命令ステートメント-1-' '-ON-' >--+-----------------------------------------------+------------> '-NOT--+----+--SIZE ERROR--命令ステートメント-2-' '-ON-' >--+-------------+--------------------------------------------->< '-END-COMPUTE-'
しかし、可搬性が求められるのであれば、COMPUTE を使用する代わりに ADD、SUBTRACT、MULTIPLY、および DIVIDE を使用してください。 これは、システム特有の中間結果が異なる可能性があるためです。
算術演算を組み合わせた場合には、COMPUTE ステートメントは、別個の算術ステートメントを続けてするよりも効率的です。
+----------------------------------IBM 拡張----------------------------------+
基本浮動小数点データ項目が可能です。
+------------------------------End of IBM 拡張-------------------------------+
COMPUTE ステートメントの実行時には、算術式の値が計算され、 その結果の値が、ID-1 によって参照される各データ項目の新しい値として保管されます。
単一の ID、数字、関数、または数字リテラルから成る算術式を使用すれば、ID-1 によって参照されるデータ項目の値を、 算術式の ID またはリテラルの値に等しく設定できます。