ADD ステートメント
ADD ステートメントは、2 つ以上の数字オペランドを合計し、その結果を保管します。
| フォーマット 1 |
 .----------------. .-------------------.
V | V |
>>-ADD----+-ID-1-------+-+--TO----ID-2--+---------+-+----------->
'-リテラル-1-' '-ROUNDED-'
>--+------------------------------------------+----------------->
'-+----+--SIZE ERROR--命令ステートメント-1-'
'-ON-'
>--+-----------------------------------------------+------------>
'-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
'-ON-'
>--+---------+-------------------------------------------------><
'-END-ADD-'
|
キーワード TO の前にあるすべての ID やリテラルが加算され、この合計が、ID-2 に加算され保管されます。この処理は、ID-2 が連続する場合、それぞれの ID-2 ごとに、ID-2 が指定されている順序で左から右へと繰り返されます。
| フォーマット 2 |
 .----------------.
V |
>>-ADD----+-ID-1-------+-+--+----+--+-ID-2-------+-------------->
'-リテラル-1-' '-TO-' '-リテラル-2-'
.-------------------.
V |
>--GIVING----ID-3--+---------+-+-------------------------------->
'-ROUNDED-'
>--+------------------------------------------+----------------->
'-+----+--SIZE ERROR--命令ステートメント-1-'
'-ON-'
>--+-----------------------------------------------+------------>
'-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
'-ON-'
>--+---------+-------------------------------------------------><
'-END-ADD-'
|
キーワード GIVING の前にあるオペランドの値は互いに加算され、その合計は、ID-3 によって参照される各データ項目の新しい値として保管されます。
| フォーマット 3 |
 >>-ADD--+-CORRESPONDING-+--ID-1--TO--ID-2--+---------+---------->
'-CORR----------' '-ROUNDED-'
>--+------------------------------------------+----------------->
'-+----+--SIZE ERROR--命令ステートメント-1-'
'-ON-'
>--+-----------------------------------------------+------------>
'-NOT--+----+--SIZE ERROR--命令ステートメント-2-'
'-ON-'
>--+---------+-------------------------------------------------><
'-END-ADD-'
|
ID-1 内の基本データ項目が加算されて、対応する ID-2 内の基本項目に保管されます。
すべてのフォーマット全部に関して次のことが言えます。
- ID-1、ID-2
- フォーマット 1 では、基本数字項目を指定しなければなりません。
フォーマット 2 では、ワード GIVING の後にあるもの以外は、基本数字項目でなければなりません。ワード GIVING に続く各 ID には、
基本数字項目または数字編集項目を指名しなければなりません。
フォーマット 3 では、英数字グループ項目または国別グループ項目を指定する必要があります。
以下の制約事項は、日付フィールドに適用されます。
1 つ以上の日付フィールドに関連する ADD ステートメントの結果を判別するには、次の 2 つのステップがあります。
- 加算: 日付フィールドが関係する加算のようにして、加算の結果を判別します。
- 保管: その結果が受け取りフィールドにどのように保管されるかを判別します。
(フォーマット 1 と 3 では、受け取りフィールドは ID-2 です。フォーマット 3 では、
受け取りフィールドは GIVING ID-3 です。)
詳細については、日付フィールドに関連する算術演算結果の保管を参照してください。
- リテラル
- これは、数字リテラルでなければなりません。
数字データ項目または数字リテラルを指定できる場所であればどこでも、浮動小数点データ項目および浮動小数点リテラルも使用できます。
ARITH(COMPAT) コンパイラー・オプションが有効な場合は、オペランドの合成が最大 30 桁になります。
ARITH(EXTEND) コンパイラー・オプションが有効な場合は、オペランドの合成が最大 31 桁になります。詳しくは、算術ステートメント・オペランドおよび「COBOL for Windows プログラミング・ガイド」の算術計算の中間結果の説明を参照してください。
フォーマット 1、2、および 3 については、ROUNDED 句を参照してください。
フォーマット 1、2、および 3 については、SIZE ERROR 句を参照してください。
CORRESPONDING 句を参照してください。
END-ADD 句
この明示的範囲終了符号は、ADD ステートメントの範囲を区切るために使用されます。
END-ADD を使用すると、
条件付き ADD ステートメントを別の条件ステートメントにネストさせることができます。END-ADD は、命令の ADD ステートメントと共に使用することもできます。
詳しくは、範囲区切りステートメントを参照してください。
|