SUBTRACT ステートメントは、1 つまたは複数の数字項目から、1 つの数字項目または複数の数字項目の和を減算し、結果を保管します。
SUBTRACT ステートメントには 3 つの形式があります。
SUBTRACT ステートメント - 形式 1 .----------------. .-------------------. V | V | >>-SUBTRACT----+-ID-1-------+-+--FROM----ID-2--+---------+-+----> '-リテラル-1-' '-ROUNDED-' >--+------------------------------------------+-----------------> '-+----+--SIZE ERROR--命令ステートメント-1-' '-ON-' >--+-----------------------------------------------+------------> '-NOT--+----+--SIZE ERROR--命令ステートメント-2-' '-ON-' >--+--------------+-------------------------------------------->< '-END-SUBTRACT-'
形式 1 では、キーワード FROM の前のすべての ID またはリテラルが加算され、 この初期の和が ID-2 から減算され、ID-2 に保管されます。 初期の和は、その後、ID-2 が見つかるたびに、ID-2 が指定されている順序で左から右に減算され、保管されます。
SUBTRACT ステートメント - 形式 2 - GIVING .----------------. V | >>-SUBTRACT----+-ID-1-------+-+--FROM--+-ID-2-------+-----------> '-リテラル-1-' '-リテラル-2-' .-------------------. V | >--GIVING----ID-3--+---------+-+--------------------------------> '-ROUNDED-' >--+------------------------------------------+-----------------> '-+----+--SIZE ERROR--命令ステートメント-1-' '-ON-' >--+-----------------------------------------------+------------> '-NOT--+----+--SIZE ERROR--命令ステートメント-2-' '-ON-' >--+--------------+-------------------------------------------->< '-END-SUBTRACT-'
形式 2 では、キーワード FROM の前のすべての ID またはリテラルが加算され、この和が ID-2 またはリテラル-2 から減算されます。 減算の結果は、ID-3 によって参照されているデータ項目に保管されます。 ID-2 またはリテラル-2 は未変更のままです。
SUBTRACT ステートメント - 形式 3 - CORRESPONDING >>-SUBTRACT--+-CORRESPONDING-+--ID-1--FROM--ID-2--+---------+---> '-CORR----------' '-ROUNDED-' >--+------------------------------------------+-----------------> '-+----+--SIZE ERROR--命令ステートメント-1-' '-ON-' >--+-----------------------------------------------+------------> '-NOT--+----+--SIZE ERROR--命令ステートメント-2-' '-ON-' >--+--------------+-------------------------------------------->< '-END-SUBTRACT-'
形式 3 では、ID-1 内の基本データ項目が、ID-2 内の対応する基本データ項目から減算され、結果が ID-2 に保管されます。
すべての形式において、以下が適用されます。
形式 2 では、GIVING の後のそれぞれの ID-3 は数字または数字編集基本項目でなければなりません。
形式 3 では、ID-1 はグループ項目でなければなりません。
語 GIVING に続くデータ項目を除く該当のステートメント内のすべてのオペランドを使用して、オペランドの合成内容が決定されます。 オペランドの合成に関する詳細は オペランドのサイズを参照してください。
+----------------------------------IBM 拡張----------------------------------+
浮動小数点データ項目および浮動小数点リテラルは、数字データ項目または数字リテラルが指定できるところではどこでも使用できます。
+------------------------------End of IBM 拡張-------------------------------+