" [ * 1 4 A B C D E F G H I J K L M N O P R S T U V W X Z

automatische Variablen GIV/SIV

 

Dokumentation zu den Funktionalitäten

GIV, SIV, INIT_IV, INIT_IT, INIT_GIV, INIT_SIV,
ADD_GIV, ADD_SIV
SUMME_IV, SUMME_SIV und SUMME_GIV

In den Formularen
Kundenstatistik Umsatz/Roh Jahr/Vorjahr            ADRESSDATEN    FMTFAAUS.004
Lieferantenstatistik Umsatz Jahr/Vorjahr            ADRESSDATEN    FMTFAAUS.008
Artikelstatistik Umsatz/Roh Jahr/Vorjahr            ARTIKELDATEN    FMTFAAUS.120
Umsatzstatistik Artikel/Warengruppen/Gesamt        ARTIKELDATEN    FMTFAAUS.130

kann die Verwendung dieser Funktionalitäten exemplarisch nachvollzogen werden.

GIV, SIV: Diese Variablen werden automatisch zu den freien Rechenvariabeln(IV) angelegt. Zu einer IV1 wird dann vom System automatisch eine GIV1 und eine SIV1 zur Verfügung gestellt. Diese Variabeln dienen primär der Kumulation der Rechenvariabeln ohne dafür eigene Variabeln anlegen zu müssen. Diese Variabeln können und sollen auch nicht wie IV’s, IT’s und IE’s manuell im Editor angelegt werden!

Beispiel:
In einer Adreßstatistik sollen pro Adresse die Umsätze pro Periode und über alle Perioden gesamt gezeigt werden. Diese Informationen sollen dann auch pro Adressgruppe und für alle selektierten Adressen in der Summe dargestellt werden.
In der Auswertung mit der Ausdrucksbasis ADRESSDATEN wird eine feste freie Selektion und Gruppenwechsel Stufe 1 nach der Adressgruppe(ADR_1219_2) hinterlegt:

AL_FREISORT=ADR_1219_2
AL-ZWS1=ADR_1219_2

Für jede Umsatzperiode pro Adresse und für die Adresse gesamt wird eine freie Rechenvariable angelegt:

IV1,Umsatz Adresse Periode 1
IV2,Umsatz Adresse Periode 2
IV3,Umsatz Adresse Periode 3
IV4,Umsatz Adresse Periode 4
IV5,Umsatz Adresse Periode 5
IV6,Umsatz Adresse Periode 6
IV7,Umsatz Adresse Periode 7
IV8,Umsatz Adresse Periode 8
IV9,Umsatz Adresse Periode 9
IV10,Umsatz Adresse Periode 10
IV11,Umsatz Adresse Periode 11
IV12,Umsatz Adresse Periode 12
IV13,Umsatz Adresse Gesamt

Zu diesen Variablen legt BüroWARE jetzt automatisch die korrespondierenden GIV’s und SIV’s an: GIV[1 bis 13] und SIV[1 bis 13]

Innerhalb des Ausdruckes pro Adresse[PA] wird den Rechenvariablen der entsprechende Umsatz in den Rechenanweisungen zugewiesen:
Zunächst müssen die Variabeln aber auf 0 gesetzt – initialisiert – werden, weil diese ja bei jeder Adresse benutzt werden und somit ein definierter Ausgangszustand erreicht wird:

INIT_IV[1!13]=0

Das bedeutet, daß jeder der Variabeln IV1 bis IV13 auf 0 gesetzt wird. Somit werden 13 Anweisungen:

IV1=0
IV2=0

IV13=0

durch eine

INIT_IV[1!13]=0

ersetzt.

Dann erfolgt die Zuweisung der Periodenumsätze:

IV1=STATADR[0!5!1!1!1]
IV2=STATADR[0!5!1!2!2]
….
IV12=STATADR[0!5!1!12!12]

Den Gesamtwert erhält man durch IV13=SUMME_IV[1!12]

Diese Anweisung ersetzt
IV13=IV1+IV2+IV3+IV4+IV5+IV6+IV7+IV8+IV9+IV10+IV11+IV12

Innerhalb des Gruppenwechselfusses für die Adressgruppe sollen die summierten Werte aller Adressen dieser Gruppe gedruckt werden. Ohne die GIV’s müssten dafür 13 weitere IV’s angelegt werden, bspw. IV14-IV26

Die Summierung erfolgt in den Rechenanweisungen in dem Ausdruck pro Adresse[PA] nach den Zuweisungen für die einzelne Adresse:

ADD_GIV[1!13]

Das ersetzt die Anweisungen

IV14=IV14+IV1
(Die Summe pro Adressgruppe Periode 1 wird um den Periodenwert 1 der Adresse erhöht.)
IV15=IV15+IV2

IV26=IV26+IV13

Abschließend müssen noch die Werte für alle selektierten Adressen ermittelt werden, die SIV’s:

ADD_SIV[1!13]
Ohne die SIV’s müssten weitere 13 Rechenvariablen, bspw. IV27-IV39, benutzt werden.
Diese müssten dann mit den Anweisungen:
IV27=IV27+IV1

IV39=IV39+IV13
ermittelt werden.

In dem Gruppenwechsel Stufe 1 Kopf müssen dann die Periodenvariabeln pro Adressgruppe wieder
vor der Berechnung der neuen Gruppe auf 0 gesetzt werden:
Rechenanweisungen: INIT_GIV[1!13[=0
Das ersetzt
IV14=0
IV15=0

IV26=0

Im variablen Fuß direkt nach dem Positionsteil[VA] könnten dann diese Gesamtsummenwerte
ausgegeben werden.

Zusammengefasst:
Rechenanweiungen pro Adresse[PA]
INIT_IV[1!13]=0
IV1=STATADR[0!5!1!1!1]
IV2=STATADR[0!5!1!2!2]
IV3=STATADR[0!5!1!3!3]
IV4=STATADR[0!5!1!4!4]
IV5=STATADR[0!5!1!5!5]
IV6=STATADR[0!5!1!6!6]
IV7=STATADR[0!5!1!7!7]
IV8=STATADR[0!5!1!8!8]
IV9=STATADR[0!5!1!9!9]
IV10=STATADR[0!5!1!10!10]
IV11=STATADR[0!5!1!11!11]
IV12=STATADR[0!5!1!12!12]
IV13=SUMME_IV[1!12]
ADD_GIV[1!13]
ADD_SIV[1!13]

Anmerkung: Die Summen aller Perioden pro Adressgruppe – GIV13, könnte auch im
Gruppenwechsel Stufe 1 Fuß mit GIV13=SUMME_GIV[1!12] ermittelt werden.

Konventionell wären dazu folgende Anweisungen notwendig:
IV1=0
IV2=0
IV3=0
IV4=0
IV5=0
IV6=0
IV7=0
IV8=0
IV9=0
IV10=0
IV11=0
IV12=0
IV13=0
IV1=STATADR[0!5!1!1!1]
IV2=STATADR[0!5!1!2!2]
IV3=STATADR[0!5!1!3!3]
IV4=STATADR[0!5!1!4!4]
IV5=STATADR[0!5!1!5!5]
IV6=STATADR[0!5!1!6!6]
IV7=STATADR[0!5!1!7!7]
IV8=STATADR[0!5!1!8!8]
IV9=STATADR[0!5!1!9!9]
IV10=STATADR[0!5!1!10!10]
IV11=STATADR[0!5!1!11!11]
IV12=STATADR[0!5!1!12!12]
IV13=IV1+IV2+IV3+IV4+IV5+IV6+IV7+IV8+IV9+IV10+IV11+IV12
IV14=IV14+IV1
IV15=IV15+IV2
IV16=IV16+IV3
IV17=IV17+IV4
IV18=IV18+IV5
IV19=IV19+IV6
IV20=IV20+IV7
IV21=IV21+IV8
IV22=IV22+IV9
IV23=IV23+IV10
IV24=IV24+IV11
IV25=IV25+IV12
IV26=IV26+IV13
IV27=IV27+IV1
IV28=IV28+IV2
IV29=IV29+IV3
IV30=IV30+IV4
IV31=IV31+IV5
IV32=IV32+IV6
IV33=IV33+IV7
IV34=IV34+IV8
IV35=IV35+IV9
IV36=IV36+IV10
IV37=IV37+IV11
IV38=IV38+IV12
IV39=IV39+IV13

Statt 52 werden also nur noch 16 Anweisungen benötigt. Das erhöht immens die Geschwindigkeit der Erstellung, die Übersichtlichkeit und die Wartbarkeit.

2 thoughts on - automatische Variablen GIV/SIV

LEAVE A COMMENT