Die SUBTRACT-Anweisung

Die SUBTRACT-Anweisung kann in zwei verschiedenen Varianten erscheinen:

Fall 1:
SUBTRACT Zahl1 Zahl2 FROM Zahl3

Wenn Zahl1=10, Zahl2=20 und Zahl3=40 sind, dann hat Zahl3 nach dieser SUBTRACT-Anweisung den Wert 10. Grund:

[(10(Zahl1)+20(Zahl2))=30(internes Ergebnis); 40(Zahl3)-30(internes Ergebnis)=10(neuer Inhalt von Zahl3)]


Hier wird die Summe aller Zahlen, die vor dem Wort FROM stehen von der Zahl die hinter dem Wert FROM steht, abgezogen.


Fall 2:
SUBTRACT Zahl1 FROM Zahl2 GIVING Zahl3 Zahl3a

Wenn wiederZahl1=10, Zahl2=20 und Zahl3=40 sind, dann hat Zahl3 nach dieser SUBTRACT-Anweisung den Wert 10. Grund:

[20(Zahl2)-10(Zahl1)=10(Zahl3 und Zahl3a)]


"Die Summe aller Operanden, die vor dem Wert FROM angegeben sind, wird gebildet und vom Operanden, der nach dem Wort FROM angegeben ist, subtrahiert, die Differenz wird in alle 'GIVING-Felder' abgespeichert." (Raouf Habib; COBOL/2 Workbench; IWT-Verlag München 1992)
Also: Das Ergebnis wird in diesem Fall sowohl an Zahl3 wie auch an Zahl3a übertragen.

...