Dieses Dokument behandelt folgende Themen:
Verwandte Statements: ADD
| COMPRESS
|
COMPUTE
|
DIVIDE
|
EXAMINE
|
MOVE
|
MOVE ALL
|
MULTIPLY
|
RESET
|
SEPARATE
Gehört zur Funktionsgruppe: Arithmetische Funktionen und Datenzuweisungen
Mit dem Statement SUBTRACT
können Sie die Werte zweier oder
mehrerer Operanden voneinander abziehen.
Verwenden Sie ein Datenbankfeld als Ergebnisfeld, so ändert sich der Wert des Feldes nur programmintern. Der Wert, den das Feld in der Datenbank hat, wird davon nicht beeinflusst.
SUBTRACT [ROUNDED ]
operand1
FROM operand2
|
Operanden-Definitionstabelle:
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | N | N | P | I | F | D | T | ja | nein | |||||||
operand2 | S | A | M | N | P | I | F | D | T | ja | nein |
Syntax-Element-Beschreibung:
operand1 FROM operand2 |
Operanden:
operand1 ist der Minuend, operand2 ist der Subtrahend, folglich ist das Statement äquivalent zu: Zum Format der Operanden siehe auch Regeln für arithmetische Operationen, Formatwahl im Hinblick auf die Verarbeitungszeit im Leitfaden zur Programmierung. |
---|---|
ROUNDED |
Runden:
Wenn Sie das Ergebnis gerundet wünschen, geben Sie das
Schlüsselwort Die für das Runden gültigen Regeln finden Sie im Abschnitt Regeln für arithmetische Operationen, Abschneiden und Runden von Feldwerten im Leitfaden zur Programmierung. |
SUBTRACT [ROUNDED ] operand1
FROM operand2 GIVING
operand3
|
Operanden-Definitionstabelle:
Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | N | N | P | I | F | D | T | ja | nein | ||||||||
operand2 | C | S | A | N | N | P | I | F | D | T | ja | nein | ||||||||
operand3 | S | A | M | A | U | N | P | I | F | B* | D | T | ja | ja |
* Format B von operand3 kann nur mit einer Länge von kleiner gleich 4 verwendet werden.
Syntax-Element-Beschreibung:
GIVING |
Ergebnisfeld:
Wenn Sie die |
---|---|
operand1 FROM operand2 GIVING operand3 |
Operanden:
operand2 ist der Minuend, operand1 ist der Subtrahend, operand3 ist das Ergebnisfeld, folglich ist das Statement äquivalent zu: Zum Format der Operanden siehe auch Regeln für arithmetische Operationen, Formatwahl im Hinblick auf die Verarbeitungszeit im Leitfaden zur Programmierung. Zum Format der Operanden siehe auch Formatwahl im Hinblick auf die Verarbeitungszeit (im Leitfaden zur Programmierung). |
ROUNDED |
Runden:
Wünschen Sie das Ergebnis gerundet, geben Sie das Schlüsselwort
|
** Example 'SUBEX1': SUBTRACT ************************************************************************ DEFINE DATA LOCAL 1 #A (P2) INIT <50> 1 #B (P2) 1 #C (P1.1) INIT <2.4> END-DEFINE * SUBTRACT 6 FROM #A WRITE NOTITLE 'SUBTRACT 6 FROM #A ' 10X '=' #A * SUBTRACT 6 FROM 11 GIVING #A WRITE 'SUBTRACT 6 FROM 11 GIVING #A ' 10X '=' #A * SUBTRACT 3 4 FROM #A GIVING #B WRITE 'SUBTRACT 3 4 FROM #A GIVING #B ' 10X '=' #A '=' #B * SUBTRACT -3 -4 FROM #A GIVING #B WRITE 'SUBTRACT -3 -4 FROM #A GIVING #B' 10X '=' #A '=' #B * SUBTRACT ROUNDED 2.06 FROM #C WRITE 'SUBTRACT ROUNDED 2.06 FROM #C ' 10X '=' #C * END
Ausgabe des Programms SUBEX1
:
SUBTRACT 6 FROM #A #A: 44 SUBTRACT 6 FROM 11 GIVING #A #A: 5 SUBTRACT 3 4 FROM #A GIVING #B #A: 5 #B: -2 SUBTRACT -3 -4 FROM #A GIVING #B #A: 5 #B: 12 SUBTRACT ROUNDED 2.06 FROM #C #C: 0.3