BREAK

BREAK Arten:

BREAK(<n,n,n,n,n,n,n,n,n,n>)

Der BREAK(<n,n,n,n,n,n,n,n,n,n>) wird mit den Gruppenbruch-Attributen initialisiert.

Form

«BREAK(<n,n,n,n,n,n,n,n,n,n>)»
«BREAK(ONLY-ONE-ARG)»
<n> sind variable Attribute (es sind maximal zehn Attribute erlaubt). Dabei ist zu beachten, dass diese hierarchisch aufgebaut sind.
Die Variante «BREAK(ONLY-ONE-ARG)» dient als Schalter um eventuelle Trennzeichen in einem alphanumerischen Attribut (z.B. ein Suchbegriff) nicht als Trennzeichen für separate Argumente zu interpretieren.

Typ

S (Funktion)
Mit BREAK können Gruppenbrüche vorgenommen werden.

Beispiel

/headerreport
# List ab Active-Funktionalität
«WRITE(1:DIRECT ..\TX\BREAK.TXT)»
«nzART-ACTIVE8(±4,400)»
«LIST(ART-ACTIVE8,INDEX,START,/go_list)»
«WRITE(1:CLOSE)»
/

/go_list
# Break auf Artikel-Hauptgruppe und -Gruppe
«BREAK(«ART-HG»,«ART-GR»)»
«zBREAKSH(1)\I»«/output_breaksh»
«zBREAKSH(2)\I»«/output_breaksh»
«WRITE(1: Artikel: «ART-NR», Hauptgruppe: «ART-HG», Gruppe: «ART-GR»)»
/

/output_breaksh
«WRITE(1: BREAKSH: [«sBREAKSH(1)\I»Hauptgruppe: «ART-HG» ][«sBREAKSH(2)\I»Gruppe: «ART-GR»])»
/
Sobald die Artikel-Hauptgruppe oder -Gruppe wechselt, wird ein BREAK ausgelöst und die Indikatoren BREAKSH(n) und BREAKST(n) auf true gesetzt.
n entspricht dabei der Nummer des Break-Attributs. (Bezogen auf obiges Beispiel ist 1 = ART-HG und 2 = ART-GR.)

BREAKSH

Sobald ein Gruppenbruch mit BREAK erfolgt, ist der Indikator BREAKSH(n)» true.

Form

«BREAKSH(<n>)»

Typ

I (Indikator)
Sobald ein Gruppenbruch mit BREAK erfolgt, ist der Indikator BREAKSH(n)» true.
n entspricht dabei der Nummer des Break-Attributs. (Bezogen auf obiges Beispiel ist 1 = ART-HG und 2 = ART-GR.)

Beispiel 1

/go_list
# Break auf Artikel-Hauptgruppe und -Gruppe
«BREAK(«ART-HG»,«ART-GR»)»
«zBREAKSH(1)\I»«/output_breaksh»
«zBREAKSH(2)\I»«/output_breaksh»
«WRITE(1: Artikel: «ART-NR», Hauptgruppe: «ART-HG», Gruppe: «ART-GR»)»
/

/output_breaksh
«WRITE(1: BREAKSH: [«sBREAKSH(1)\I»Hauptgruppe: «ART-HG» ][«sBREAKSH(2)\I»Gruppe: «ART-GR»])»
/
Es werden Artikel-Hauptgruppe und -Gruppe ausgegeben.
Sobald der eigentliche Gruppenbruch erfolgt, steht der Indikator BREAKSH(1) oder BREAKSH(2) auf true.
Der Output präsentiert sich dabei folgendermassen:
BREAKSH: Hauptgruppe: 4 Gruppe: 400
BREAKSH: Hauptgruppe: 4 Gruppe: 400
Artikel: L-100, Hauptgruppe: 4, Gruppe: 400
Artikel: L-101, Hauptgruppe: 4, Gruppe: 400
Artikel: L-102, Hauptgruppe: 4, Gruppe: 400
BREAKSH: Gruppe: 401
Artikel: L-108, Hauptgruppe: 4, Gruppe: 401
Artikel: L-109, Hauptgruppe: 4, Gruppe: 401
BREAKSH: Gruppe: 405
Artikel: L-190, Hauptgruppe: 4, Gruppe: 405
Artikel: L-191, Hauptgruppe: 4, Gruppe: 405
BREAKSH: Gruppe: 409
Artikel: L-195, Hauptgruppe: 4, Gruppe: 409
Artikel: L-197, Hauptgruppe: 4, Gruppe: 409
Artikel: L-198, Hauptgruppe: 4, Gruppe: 409
Artikel: L-199, Hauptgruppe: 4, Gruppe: 409

Beispiel 2

# Umsatz-Liste
/headerreport
«nm1Umsatz für Jahr /nnnn/ ?(2013)»
/

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

/body #,3
«BREAK(«ADR-LAND»)»
# Beim allerersten BREAK bleibt BREAKST auf false und /subtotal wird nicht abgearbeitet.
«zBREAKST»«/subtotal»
«zBREAKSH»«/subheader»
«NAME\A30» «40»«z+1VUMS(ADR,$,JAHR«MEM(1)»)\N12,.00t'»«-»
«60»«+2DB\N12,.00t'»
/

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

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

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

Ausgabe:

Umsatz-Liste 2013
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
Eine Kundenumsatzliste wird nach Land gruppiert, ausgegeben. Wenn das Land wechselt, wird durch BREAK ein Gruppenbruch ausgelöst.
Durch prüfen von BREAKST und BREAKSH werden entsprechende Subroutinen abgearbeitet, in welchen die Länderinfo und die kumulierten Umsätze pro Land ausgegeben werden.
Beachten Sie, dass das obige Code-Beispiel nicht vollständig ist. Um eine solche Liste nach Land abzuarbeiten müssen die Adressen nach dem entsprechenden Index aktiviert und abgearbeitet werden. Dieser Teil des F-Script Code wurde in obigem Beispiel bewusst weggelassen.

BREAKST

Sobald ein Gruppenbruch mit BREAK erfolgt, ist der Indikator BREAKST(n)» true.

Form

«BREAKST(n)»

Typ

I (Indikator)
Sobald ein Gruppenbruch mit BREAK erfolgt, ist der Indikator BREAKSH(n)» true.
n entspricht dabei der Nummer des Break-Attributs. (Bezogen auf das Beispiel von ganz oben ist 1 = ART-HG und 2 = ART-GR.)

Achtung

Beim ersten Gruppenbruch wird BREAKST auf false belassen. Dadurch kann verhindert werden, dass gleich beim ersten Datensatz welcher abgearbeitet wird, eine Subroutine abläuft

Beispiel

/go_list
# Break auf Artikel-Hauptgruppe und -Gruppe
«BREAK(«ART-HG»,«ART-GR»)»
«zBREAKST(1)\I»«/output_breakst»
«zBREAKST(2)\I»«/output_breakst»
«WRITE(1: Artikel: «ART-NR», Hauptgruppe: «ART-HG», Gruppe: «ART-GR»)»
/

/output_breakst
«WRITE(1: BREAKST: [«sBREAKST(1)\I»Hauptgruppe: «ART-HG» ][«sBREAKST(2)\I»Gruppe: «ART-GR»])»
/
Es werden Artikel-Hauptgruppe und -Gruppe ausgegeben.
Sobald der eigentliche Gruppenbruch erfolgt, steht der Indikator BREAKST(1) oder BREAKST(2) auf true.
Der Output präsentiert sich dabei folgendermassen:
Artikel: L-100, Hauptgruppe: 4, Gruppe: 400
Artikel: L-101, Hauptgruppe: 4, Gruppe: 400
Artikel: L-102, Hauptgruppe: 4, Gruppe: 400
BREAKST: Gruppe: 401
Artikel: L-108, Hauptgruppe: 4, Gruppe: 401
Artikel: L-109, Hauptgruppe: 4, Gruppe: 401
BREAKST: Gruppe: 405
Artikel: L-190, Hauptgruppe: 4, Gruppe: 405
Artikel: L-191, Hauptgruppe: 4, Gruppe: 405
BREAKST: Gruppe: 409
Artikel: L-195, Hauptgruppe: 4, Gruppe: 409
Artikel: L-197, Hauptgruppe: 4, Gruppe: 409
Artikel: L-198, Hauptgruppe: 4, Gruppe: 409
Artikel: L-199, Hauptgruppe: 4, Gruppe: 409