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.
Dieses Statement hat zwei verschiedene Syntax-Strukturen.
SUBTRACT
[ROUNDED ]
|
FROM
operand2 |
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
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:
Syntax-Element | Beschreibung |
---|---|
arithmetic-expression |
Siehe Arithmetischer
Ausdruck beim COMPUTE -Statement.
|
Operanden:
Bezüglich der Formate der Operanden siehe auch Formatwahl im Hinblick auf die Verarbeitungszeit im Abschnitt Regeln für arithmetische Operationen im Leitfaden zur Programmierung. |
|
ROUNDED
|
ROUNDED-Option:
Wird das Schlüsselwort Weitere Informationen siehe Abschneiden und Runden von Feldwerten im Abschnitt Regeln für arithmetische Operationen im Leitfaden zur Programmierung. |
SUBTRACT
[ROUNDED ]
|
FROM
|
GIVING
operand3 |
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
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:
Syntax Element | Description |
---|---|
arithmetic-expression |
Siehe Arithmetischer
Ausdruck beim COMPUTE -Statement.
|
GIVING
|
GIVING-Klausel:
Wird die |
Operanden:
Bezüglich der Formate der Operanden siehe auch Formatwahl im Hinblick auf die Verarbeitungszeit im Abschnitt Regeln für arithmetische Operationen im Leitfaden zur Programmierung. |
|
ROUNDED
|
ROUNDED-Option:
Wird das Schlüsselwort Weitere Informationen siehe Abschneiden und Runden von Feldwerten im Abschnitt Regeln für arithmetische Operationen im Leitfaden zur Programmierung. |
** 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