Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SUBTRACT-Anweisung

&pagelevel(4)&pagelevel

Funktion

Die SUBTRACT-Anweisung wird benutzt, um den Wert eines numerischen Datenfeldes oder die Summe von zwei oder mehreren Werten numerischer Datenfelder von einem oder mehreren Operanden zu subtrahieren.

Format 1

der SUBTRACT-Anweisung speichert die Differenz im entsprechenden

Operanden ab. In einer SUBTRACT-Anweisung können mehrere Subtraktionen angegeben werden, indem mehr als ein Ergebnisfeld spezifiziert wird.

Format 2

der SUBTRACT-Anweisung verwendet die GIVING-Angabe.

Format 3

der SUBTRACT-Anweisung subtrahiert die Elemente einer Datengruppe von den entsprechenden Datenelementen einer anderen Gruppe.

Format 1


SUBSTRACT {bezeichner-1 | literal-1}...

FROM {bezeichner-n [ROUNDED]}...

[ON SIZE ERROR unbedingte-anweisung-1]

[NOT ON SIZE ERROR unbedingte-anweisung-2]

[END-SUBTRACT]


Syntaxregeln

  1. Jeder Bezeichner muss sich auf ein numerisches Datenelement beziehen.

  2. Die gemeinsame Stellenzahl der Operanden, die in einer gegebenen Anweisung ermittelt wird, darf nicht mehr als 31 Ziffernstellen betragen (siehe "Arithmetische Anweisungen").

  3. Alle Literale und Bezeichner, die dem Wort FROM vorangehen, werden addiert, und die Summe wird vom derzeitigen Wert von bezeichner-n... abgezogen. Die Ergebnisse der Subtraktion werden als neue Werte von bezeichner-n abgespeichert.

Für weitere Regeln siehe unter "Angaben in Anweisungen"; die ROUNDED-Angabe und die (NOT) ON SIZE ERROR-Angabe sind in diesem Abschnitt beschrieben.

Beispiel 8-78

Anweisung

Maskenzeichenfolge desErgebnisfeldes

Rechnung

SUBTRACT A, B FROM D

999

D - (A + B) abgespeichert in D als nnn

SUBTRACT A FROM B,C

9(3) für B

9(5) für C

B - A abgespeichert in B als nnn

C - A abgespeichert in C als nnnnn

Format 2


SUBSTRACT {bezeichner-1 | literal-1}... FROM {bezeichner-m | literal-m}

 GIVING {bezeichner-n [ROUNDED]}...

[ON SIZE ERROR unbedingte-anweisung-1]

[NOT ON SIZE ERROR unbedingte-anweisung-2]

[END-SUBTRACT]


Syntaxregeln

  1. Jeder Bezeichner, der dem Wort GIVING vorangeht, muss sich auf ein numerisches Datenelement beziehen.

  2. bezeichner-n kann sich sowohl auf ein numerisches Datenelement als auch auf ein numerisch druckaufbereitetes Datenelement beziehen.

  3. Die gemeinsame Stellenzahl der Operanden, die in einer gegebenen Anweisung ermittelt wird, mit Ausnahme der Datenfelder, die dem Wort GIVING folgen, darf nicht mehr als 31 Ziffernstellen betragen (siehe "Arithmetische Anweisungen").

  4. Alle Literale oder Bezeichner, die dem Wort FROM vorangehen, werden addiert, und die Summe wird von literal-m oder bezeichner-m subtrahiert. Das Ergebnis der Subtraktion ergibt den neuen Wert von bezeichner-n... .

Für weitere Regeln siehe unter "Angaben in Anweisungen"; die GIVING-Angabe, ROUNDED-Angabe und (NOT) ON SIZE ERROR-Angabe sind in diesem Abschnitt beschrieben.

Beispiel 8-79

Anweisung

Maskenzeichenfolge desErgebnisfeldes (C)

Rechnung

SUBTRACT A,B FROM

100 GIVING C.

9(5)

100 - (A + B) abgespeichert in C als nnnnn.

Format 3


SUBSTRACT { CORR | CORRESPONDING } bezeichner-1

 FROM bezeichner-2 [ROUNDED]

[ON SIZE ERROR unbedingte-anweisung-1]

[NOT ON SIZE ERROR unbedingte-anweisung-2]

[END-SUBTRACT]


Syntaxregeln

  1. Jeder Bezeichner muss sich auf eine Datengruppe beziehen.

  2. Die gemeinsame Stellenzahl der Operanden, die für jedes Paar von entsprechenden Datenfeldern getrennt bestimmt wird, darf nicht mehr als 31 Ziffernstellen betragen (siehe "Arithmetische Anweisungen").

  3. Die Datenelemente innerhalb des ersten Operanden (bezeichner-1) werden von den entsprechenden Datenelementen innerhalb des zweiten Operanden (bezeichner-2) subtrahiert. Die Ergebnisse werden in den Feldern des zweiten Operanden abgespeichert.

Für weitere Regeln siehe unter "Angaben in Anweisungen"; die CORRESPONDING-Angabe, ROUNDED-Angabe und (NOT) ON SIZE ERROR-Angabe sind in diesem Abschnitt beschrieben.

Beispiel 8-80

Siehe die Beschreibung der CORRESPONDING-Angabe als Beispiel für die Verwendung dieses Zusatzes ( "CORRESPONDING-Angabe").