2.4.37 SUBTRACT
Beschreibung:
Der SUBTRACT - Befehl subtrahiert von einem oder mehreren Datenfeldern die angegebenen Werte. Das Ergebnis kann in mehreren Feldern abgestellt und bei Bedarf gerundet werden.
| | | | | |
Format1
SUBTRACT Wert1 [Wert2 ...] FROM Datenfeld1 [ROUNDED]
[Datenfeld2 [ROUNDED] ...]
[ON SIZE ERROR Befehlssequenz1]
[NOT ON SIZE ERROR Befehlssequenz2]
[END-SUBTRACT]
| |
| | | |
| | | | | |
Format2
SUBTRACT Wert1 [Wert2 ...] FROM Datenfeld1
GIVING Datenfeld2 [ROUNDED]
[Datenfeld3 [ROUNDED] ...]
[ON SIZE ERROR Befehlssequenz1]
[NOT ON SIZE ERROR Befehlssequenz2]
[END-SUBTRACT]
| |
| | | |
Die Summe der angegebenen Werte wird von den Datenfeldern abgezogen und, falls angegeben, entsprechend gerundet und abgespeichert.
Bei der Angabe von GIVING wird die Summe der Werte von Datenfeld1 abgezogen und in Datenfeld2 [Datenfeld3 ...] entsprechend der angegebenen Rundung abgespeichert. Der Inhalt von Datenfeld1 bleibt unverändert.
Tritt ein Überlauf auf wird Befehlssequenz1 (falls angegeben) ausgeführt, wenn nicht, wird Befehlssequenz2 (falls angegeben) ausgeführt.
END-SUBTRACT beendet den Ausführungsbereich des SUBTRACT - Befehls.
Beispielprogramm subtract.cob
*c32 %;slink §
identification division.
program-id. SUBTRACT Demo
environment division.
set cwsize to '0:0 0:0 60:18'.
set cfont to 'fixedsys'.
data division.
working-storage section.
77 f1 pic 9(4)V99 value 1,0.
77 f2 pic 9(3) value -2.
77 f3 pic 9(5)v999 value 3,0.
77 ant pic x.
procedure division.
display 'Start: f1 pic 9(4)v99 f2 pic 9(3) f3 pic 9(5)v999'.
display ' ' f1 ' ' f2 ' ' f3.
display 'subtract 1 from f1 f2 f3'.
subtract 1 from f1 f2 f3.
perform showres
subtract f1 f2 from f3.
display 'subtract f1 f2 from f3'.
perform showres
display 'subtract f1 f2 from f3 giving f1 f2'.
subtract f1 f2 from f3 giving f1 f2.
perform showres.
display
"subtract 20 from f1 f2 f3 not on size error display 'ok'".
call getchar.
subtract 20 from f1 f2 f3 not on size error display 'ok'.
perform showres1.
display
"subtract 980 from f1 f2 f3 not on size error display 'ok'"
display " on size error display 'overflow'"
display " end-subtract"
call getchar.
subtract 980 from f1 f2 f3 not on size error display 'ok'
on size error display 'overflow'
end-subtract
perform showres1.
stop run.
showres section.
call getchar.
showres1.
display ' ' f1 ' ' f2 ' ' f3.
call getchar.
Siehe auch Add Multiply Divide Compute
Zurück zu Acc-Cobol String Statement
Hoch zu Procedure Divison in COBOL
Weiter zu UNLOCK
|