SUM

Addition eines ATTRIBUTS in einem Summenspeicher - +<n>

Mit «+<n>ATTRIBUT» wird der Inhalt des Attributes in den SUM Speicher <n> geschrieben. Wird auf demselben SUM Speicher nochmals «+<n>ATTRIBUT» durchgeführt, wird der neue Wert zum bestehenden addiert.
Mit dem Befehl «SUM<n>» wird der Speicher SUM <n> ausgegeben.
SUM Speicher sind, wie der Name bereits andeutet, rein numerische Speicherelemente.

Form

«+<n>ATTRIBUT»

«SUM(<n>)»
Wert des numerischen ATTRIBUT in SUM <n> speichern.
Wert des Speicher SUM <n> ausgeben.

Beispiel 1

«+1<Betrag Pos. 1>»
«+2<Rabatt Pos. 1>»
«+1<Betrag Pos. 2>»
«+2<Rabatt Pos. 2>»
«+1<Betrag Pos. 3>»
«+2<Rabatt Pos. 3>»
«SUM(1)»
«SUM(2)»
Die Betragswerte von drei Positionen werden im SUM(1) aufaddiert. Mit «SUM(1)» wird anschliessend die aufgelaufene Summe ausgegeben.
Die Rabattwerte von drei Positionen werden im SUM(2) aufaddiert. Mit «SUM(2)» wird anschliessend die aufgelaufene Summe ausgegeben.

Achtung

Es stehen neun Summenspeicher (1 bis 9) zur Verfügung.
Der Summenspeicher 0 («SUM») ist identisch mit «CARRY» und wird speziell für Seitenüberträge verwendet.

Summenspeicher löschen

Form

«SUM(<n>,NULL)» 

Typ

N (Numerisch)
"<n>" steht für eine Zahl zwischen 1 und 9. Mit «SUM(<n>,NULL)» wird der entsprechende Summenspeicher auf 0 gesetzt (gelöscht).

Beispiel 2

# Kunden-Umsatz-Liste mit Fusszeile
/headerreport
«nm1Umsatz für Jahr /nnnn/ ?(2012)»
/

/headerpage
Umsatz-Liste «MEM(1)»
«F+»Name «40»Umsatz «60»DB «F-»
/

/body #,3
«NAME\A30» «40»«-»
«z+1VUMS(ADR,$,JAHR«MEM(1)»)\N12,.00t'» «60»«-»
«+2DB\N12,.00t'»
/

/totalreport #,5
«10»«F+»Total «40»«SUM(1)\N12,.00t'» «60»«SUM(2)\N12,.00t'» «F-»
***** Ende der Liste *****
«FF»
/ 

Ausgabe:

Umsatz-Liste 2012
Name
Umsatz
DB
Meier AG
30'000.00
5'000.00
Fischer AG
15'000.00
1'000.00
Kistler AG
55'000.00
18'000.00
Total
100'000.00
24'000.00
***** Ende der Liste *****
Pro selektierte Adresse werden die Umsätze und die Deckungsbeiträge für das Jahr 2012 ausgewertet.
Mit dem Befehl «z+1VUMS(ADR,... wir der Umsatz der entsprechenden Adresse im SUM(1) aufaddiert.
Mit dem Befehl «+2DB... wird der Deckungsbeitrag der entsprechenden Adresse im SUM(2) aufaddiert.
In der Subroutine /totalreport werden die beiden Totalwerte mit «SUM(1)\12,.00t'» und «SUM(1)\12,.00t'» ausgegeben.

Beispiel 3

# Kunden-Umsatz-Liste mit Fusszeile
/headerreport
«nm1Umsatz für Jahr /nnnn/ ?(2012)»
/

/headerpage
Umsatz-Liste «MEM(1)»
«F+»Name «40»Umsatz «60»DB «F-»
/

/body #,3
«BREAK(«ADR-LAND»)»
«zBREAKST»«/subtotal»
«zBREAKSH»«/subheader»
«NAME\A30» «40»«z+1VUMS(ADR,$,JAHR«MEM(1)»)\N12,.00t'» «60»«+2DB\N12,.00t'»
/

/totalreport #,5
«/subtotal»
«F+»«10»Gesamt-Total «40»«SUM(3)\N12,.00t'» «60»«SUM(4)\N12,.00t'» «F-»
***** Ende der Liste *****
«FF»
/

/subheader #,6
Land: «ADR-LAND»
/

/subtotal
«10»«F+»Total Land «40»«+3SUM(1)\N12,.00t'» «60»«+4SUM(2)\N12,.00t'»«F-»
«SUM(1,NULL)» «SUM(2,NULL)»
/ 

Ausgabe:

Umsatz-Liste 2012
Name
Umsatz
DB
Land: D
   
Meier AG
30'000.00
5'000.00
Fischer AG
15'000.00
1'000.00
Total Land
45'000.00
6'000.00
Land: CH
   
Kistler AG
55'000.00
18'000.00
Total Land
55'000.00
18'000.00
Gesamt-Total
100'000.00
24'000.00
***** Ende der Liste *****
Pro selektierte Adresse werden die Umsätze und die Deckungsbeiträge für das Jahr 2012 ausgewertet. Dabei werden die Adressen gruppiert nach Land abgearbeitet und pro Land ein Subtotal ausgegeben.
Mit dem Befehl «z+1VUMS(ADR,... wir der Umsatz der entsprechenden Adresse im SUM(1) aufaddiert.
Mit dem Befehl «+2DB... wird der Deckungsbeitrag der entsprechenden Adresse im SUM(2) aufaddiert.
In der Subroutine /subtotal werden SUM(1) und SUM(2) in SUM(3) und SUM(4) gespeichert (aufaddieren Gesamttotal) bevor sie für den nächsten Durchgang wieder auf 0 zurückgesetzt werden.
In der Subroutine /totalreport werden die beiden Totalwerte mit «SUM(1)\12,.00t'» und «SUM(4)\12,.00t'» ausgegeben.

Summenspeicher: Anzahl, grösste/kleinste Summe

Form

«SUM(<n>,<COUNTER|MAX|MIN>)» 

Typ

N (Numerisch)
"<n>" steht für eine Zahl zwischen 1 und 9.
Nebst der Summen-Funktion wird auch ein Zähler mitgeführt, welcher jedes Mal um eins erhöht wird, wenn mit «+n... eine Addition erfolgt. Mit dem Befehl «SUM(<n>,COUNTER)» kann dieser Zähler ausgegeben werden.
Mit dem Befehl «SUM(<n>,MAX)» kann zudem die grösste und mit dem Befehl «SUM(<n>,MIN)» die kleinste Einzelsumme ausgegeben werden.

Beispiel 4

# Kunden-Umsatz-Liste mit Fusszeile
/headerreport
«nm1Umsatz für Jahr /nnnn/ ?(2012)»
/

/headerpage
Umsatz-Liste «MEM(1)»
Name «40»Umsatz «60»DB
/

/body #,3
«NAME\A30» «40»«z+1VUMS(ADR,$,JAHR«MEM(1)»)\N12,.00t'» «60»«+2DB\N12,.00t'»
/

/totalreport #,5
Gesamt-Total «40»«SUM(1)\N12,.00t'» «60»«SUM(2)\N12,.00t'»
Anzahl aufaddiert: «SUM(1,COUNTER)»
Grösste Summe: «SUM(1,MAX)»
Kleinste Summe: «SUM(1,MIN)»
***** Ende der Liste *****
«FF»
/ 

Ausgabe:

Umsatz-Liste 2012
Name
Umsatz
DB
Meier AG
30'000.00
5'000.00
Fischer AG
15'000.00
1'000.00
Kistler AG
55'000.00
18'000.00
Gesamt-Total
100'000.00
24'000.00
Anzahl aufaddiert:
3
 
Grösste Summe:
55'000.00
 
Kleinste Summe
15'000.00
 
***** Ende der Liste *****