======Listgenerator - Wie mache ich es? ======
[[dienstprogramme:listgenerator:start|Listgenerator]]
===== Grundlagen der Listendefinition =====
++++|
Die Listendefinition im [[dienstprogramme:listgenerator:start|Listgenerator]] ist die Grundlage für Struktur und Inhalte einer Liste. Die Auswertung wird ggf. eingeschränkt durch die genutzte Selektionsdefinition und die verwendeten Ausgabeparameter beim Aufruf der Liste. Eine Liste besteht aus mehreren nebeneinander angeordneten Spalten. In der Listendefinition können Sie folgende Eigenschaften einer Liste festgelegt:
* Titel der Listendefinition: Listenname
* Sortierreihenfolge über bis zu drei Sortiervariablen
* Berechnung von Summen über bis zu drei Sortiervariablen
* Überschrift der Spalten
* Breite und Ausrichtung der Spalten
* Inhalt der Spalten
* Berechnung von Zwischensummen
====Feldvariablen====
Die Spalten einer Liste werden im Listgenerator ''Felder'' genannt. Um den Inhalt der Spalten festzulegen, verwenden Sie ''Feldvariablen'', z. B. für eine Personennummer oder die Anrede eines Kreditors. Eine Auflistung aller zur Verfügung stehenden Feldvariablen finden Sie in Abschnitt 01.12. Im Programm können Sie mit ''F2'' die Auswahl der verfügbaren Feldvariablen aufrufen. Jede Feldvariable stammt aus einem bestimmten Datensatzbereich, welche durch die ersten drei Buchstaben als Präfix festgelegt ist.
^ Präfix ^ Datenbereich ^ assoziierte Daten zu Spalte01 ^
| ''Adr'' | Adressverwaltung | |
| ''Buc'' | Buchungsdaten | ''Obj'', ''Ksa'' (außer Fließkommafunktionen) |
| ''Eig'' | Eigentümerstamm | ./. |
| ''Ezg'' | Einzugsermächtigung | |
| ''Flb'' | Flächenbelegung | ''Per'', ''Kto'', ''Fls'', ''Obj'' |
| ''Fls'' | Flächenstamm | ''Obj'', ''Per'' |
| ''Idx'' | Flächenindex | '' Flb'', ''Per'', ''Kto'', ''Fls'', ''Obj'' |
| ''Kpe'' | Personenkonten | |
| ''Kre'' | Kreditor | ./. |
| ''Ksa'' | Sachkonto | ''Obj'' |
| ''Kto'' | Personenkonto | ./. |
| ''Obj'' | Objekt und Objektstamm | |
| ''Per'' | Personenstamm | ''Obj'', ''Kto'' |
| ''Sys'' | Systemdaten | |
| ''Vtg'' | Vertragsoptionen und -kündigungen | ''Flb'', ''Per'', ''Ktp'', ''Fls'', ''Obj'' |
===Beispiel===
Die Variable ''PerA1Ort'' stammt aus dem Datenbereich Personenstamm. Einige dieser Datenbereiche sind miteinander verknüpft, andere nicht. So ist z. B. jeder Person ein bestimmtes Objekt zugeordnet, es gibt aber keine solche Zuordnung zwischen einem Sachkonto und einer Person. Innerhalb einer Listendefinition können nur Variablen aus miteinander verknüpften Datensätzen verwendet können. Ausschlaggebend ist der Datenbereich der Feldvariablen in Spalte ''01'' in einer Listendefinition.
Die Variable für die erste Listenspalte stammt aus dem Datenbereich des Personenstamms, z. B. ''PerObj''. Dann können Sie in den weiteren Spalten neben weiteren ''Per''-Variablen nur Variablen aus den Datenbereichen Objektstamm (''Obj'' ...) und Personenkonto (''Kto'' ...) verwenden. Nutzen Sie für die erste Spalte statt ''PerObj'' die Variable ''**Flb**Obj'', steht Ihnen in den weiteren Spalten ein erweiterter Datenbereich, nämlich zusätzlich der Flächenstamm zur Verfügung (insgesamt also ** ''Flb,Per'', ''Kto'', ''Fls'' ** und ** ''Obj'' **).
Selektionsdefinitionen schränken die Ausgabe das Datenmaterials einer Listendefinition ein. Um eine uneingeschränkte Ausgabe zu erreichen, nutzen Sie eine leere Selektionsdefinition, deren Titel Sie frei bestimmen z. B. ''Alle''. Nutzen Sie einen Titel, den Sie schnell wiederfinden, indem er anhand seines Namens oben in der Liste auftritt.
++++
===== Liste als Datei ausgeben =====
++++|
Sie können den Inhalt einer Liste als Datei ausgeben. Damit können Sie z. B. individuelle Auswertungen in MS-Excel© auf Basis Ihres iX-Haus Datenbestandes vornehmen.
- Wählen Sie mit Doppelklick eine Listendefinition aus, die Sie ausgeben möchten.\\ Der Titel der gewählten Listendefinition wird oberhalb der Tabelle angezeigt.\\
- Wählen Sie mit Doppelklick eine Selektionsdefinition aus.\\ Der Titel der gewählten Selektionsdefinition wird oberhalb der Tabelle angezeigt\\
- Wählen Sie die Funktion ''Dateiausgabe'' in der Kommandoleiste. Es öffnet sich das Eingabefenster ''Parameter-Auswahl''.\\ Als Eingabefelder stehen Ihnen die gleichen wie beim Drucken zur Verfügung.\\ Hinzu kommt das Eingabefeld ''Ausgabepfad'': \\ ''Ausgabepfad'': Verzeichnis und Dateiname der zu erstellenden Datei.\\ Um die Liste z. B. auf einer lokalen Festplatte auszugeben, tragen Sie als Pfad ''C:/'' ein (bzw. den Laufwerksbuchstaben des gewünschten Laufwerks) und den Dateinamen. Mit der ''F2''-Auswahlbox öffnen Sie einen Dateiexplorer als Dialog ''Speichern unter'', wo Sie einen Pfad und eine vorhandene Zieldatei, welche überschrieben werden soll, auswählen können. Vorgeschlagen wird im ''F2''-Dialog ''Speichern unter'' die Verwendung des Dateityps ''*.csv''. Verwenden Sie Excel-kompatible Trennzeichen (** ''059 '' **Semikolon), können Sie die Datei direkt in Excel öffnen. Wollen Sie die Datei nur in Word öffnen, können Sie als Trennzeichen auch den vorgeschlagenen Tabulator (Trennzeichen ** ''009'' **) nutzen. (s. u. ''Trennzeichen Feld-Trennung'')
- Geben Sie die Parameter ein und bestätigen Sie mit ''OK''.
Um die Formatierung der ausgegebenen Datei einer Listendefinition zu bestimmen, klicken Sie auf ''Einstellungen''. Daraufhin erscheint die Maske ''Eingabe der Trennzeichen''.
| ''Trennzeichen\\ Feld-Trennung'' | ASCII-Code des Zeichens, das zur Trennung der Spalten verwendet wird. Für CSV-kompatible Dateien wählen Sie hier z. B. den ASCII-Code für das Semikolon. (Semikolon ';' oder ASCII-Code ''**059**'' als Ziffernfolge per Tastatur. Die Vorgabe 009 (Tabulator-Zeichen) ist geeignet für die Übernahme in Textverarbeitungen wie Winword.\\ |
| ''Zeichen\\ '' | Darstellung des Zeichens, dessen ASCII-Code im jeweils linken Feld eingetragen ist. |
| ''Datensatz Ende 1 '' | ASCII-Code des Zeichens, das am Ende eines Datensatzes (Zeilenende) verwendet wird. Default: ''**013**'' CarriageReturn\\ |
| ''Datensatz Ende 2 '' | ASCII-Code eines weiteren Zeichens, das am Ende eines Datensatzes (Zeilenende) verwendet wird. Default: ''**010**'' LineFeed\\ |
| ''Begrenzer f. Text'' | ASCII-Code des Zeichens, das zur Kennzeichnung von Textfeldern verwendet wird. Default: ''**034**'' doppeltes Hochkomma\\ |
| ''Variable Feldlänge'' | Checkbox\\ ''[X] '' Eventuelle Leerzeichen in einer Spalte werden vor dem Datenexport entfernt.\\ Wenn diese Option aktiv ist, muss im Feld ''Feld-Trennung'' ** **unbedingt ein Spaltentrennzeichen gewählt werden. Default: aktiv\\ ''[ ] '' Eventuelle Leerzeichen in einer Spalte bleiben erhalten. Diese Einstellung kann sinnvoll sein, wenn die Zielanwendung mit festen Spaltenbreiten arbeitet.\\ |
| ''Header drucken'' | Checkbox\\ ''[X] '' Spaltentitel werden mit ausgegeben. Default: aktiv\\ ''[ ] '' Spaltentitel werden nicht mit ausgegeben. |
| ''Ausgabe der Systemparameter'' | Checkbox\\ ''[ ] '' Systemparameter werden nicht mit ausgegeben (Default)\\ ''[X] '' Systemparameter werden mit ausgegeben. Welche Systemparameter dies sind, entscheiden Sie über die separate Schaltfläche ''Sysparameter'' in der Kommandozeile. Default: nicht aktiv\\ |
Sie können für die Eingabe der Trennzeichen wahlweise mit einem Schalter die 'Excel-Standardbelegung' eintragen lassen oder Sie geben die gewünschten ASCII-Dezimalcodes manuell vor. Für darstellbare Trennzeichen können Sie das Zeichen auch direkt eingeben, z. B. das Semikolon ; (Dezimalcode ''059'') als Feld-Trennung, wenn Sie eine CSV-Datei vorbereiten wollen oder das doppelte Hochkomma " (ASCII-Dezimalcode ''034'') als Begrenzer für Text. Solche Zeichen werden nach der Eingabe im Eingabefeld mit dem jeweiligen ASCII-Dezimalcode umgewandelt und rechts davon in der Ausgabeform dargestellt.
Nicht darstellbare Trennzeichen, also i. d. R. Zeichen, welche sich nicht als Taste auf der Tastatur befinden oder Zeichen, die in der Eingabemaske zur Navigation oder Dateneingabe genutzt werden, werden rechts vom jeweiligen Eingabefeld mit ''n/a'' angezeigt. Der ASCII-Dezimalcode für solche Trennzeichen muss dann jeweils als dreistellige Ziffer eingegeben werden, z. B. ''009'' für das Tabulatorzeichen, ''013'' für CarriageReturn oder ''010'' für Linefeed.
Bei der Ausgabe können Sie zusätzlich zu den ermittelten Listendaten auch bestimmte Systemparameter mit anzeigen, z. B. um die Aussagekraft einer Liste transparenter zu gestalten. Die anzuzeigenden Systemdaten wählen Sie über die Schaltfläche ''Sysparameter'' aus. Die Bedeutung der einzelnen Felder der Systemparameter ist nachfolgend beschrieben.
| ''Stichdatum'' | Datum\\ Verwendetes Stichdatum der Listenerstellung. Hiervon abhängig sind z. B. Auswertungen über Flächenbelegungsdaten. |
| ''Systemdatum'' | Datum\\ Systemdatum zum Zeitpunkt der Listenerstellung. |
| ''Zeitraum von'' | Datum\\ Verwendetes Datum für Zeitraumbeginn der Listenerstellung. |
| ''Zeitraum bis'' | Datum\\ Verwendetes Datum für Zeitraumende der Listenerstellung. |
++++
===== Liste drucken =====
++++|
- Wählen Sie mit Doppelklick eine Listendefinition aus, die Sie drucken möchten. Die ausgewählte Listendefinition erscheint über der Tabelle.
- Wählen Sie mit Doppelklick eine Selektionsdefinition aus, die Sie drucken möchten. Die ausgewählte Selektionsdefinition erscheint über der Tabelle.
- Wählen Sie die Funktion ''Drucken'' in der Kommandoleiste, um direkt auf dem voreingestellten Drucker zu drucken.\\ Um eine Voransicht über den Bildschirmdrucker zu erzeugen, wählen Sie die stattdessen die Funktion ''Druckvorschau'' in der Kommandoleiste. Von hier aus können Sie später ebenfalls über ''Datei => Drucken'' einen Ausdruck erzeugen. Es öffnet sich in beiden Fällen ein Eingabefenster für die Parameter-Auswahl.
Abhängig von den in der Listendefinition verwendeten Datensätzen enthält die Maske unterschiedliche Felder. Folgende Eingabefelder können auftreten:
| Objektbereich | Angabe eines Objektbereiches. |
| Mit BANK-Obj. | nur für Datensatz EBR (E-Banking-Regeln):\\ [X] Neben dem angegebenen Objektbereich werden auch die Objekte ausgewertet, in denen die Bankkonten gemäß der Kontentabelle liegen. |
| Stichdatum | Stichdatum, zu dem der Datenbestand ausgewertet wird. |
| Von Datum\\ Bis Datum | Beginn und Ende des Datumsbereiches, der ausgewertet wird. |
| Von Buch.-Nr.\\ Bis Buch.-Nr. | Erste und letzte Buchungsnummer des Bereich über Buchungen\\ (bei Ausgabe von Buc-Daten). |
| Von Standort\\ Bis Standort | Erster und letzter Raum-Standort, der ausgewertet wird\\ (bei Listen über Raumstamm). |
| Listenwährung | Darstellungswährung für die Liste. |
| Nur Summen | Nur die Gesamtsummen und evtl. Zwischensummen werden ausgegeben. |
++++
===== Listendefinitionen bearbeiten=====
++++|
==== Listendefinition anlegen ====
- Klicken Sie mit der rechten Maustaste in die Tabelle der ''Listendefinitionen'' und wählen Sie die Funktion ''Neu''.\\ Es öffnet sich eine Maske, in der Sie die Listendefinition festlegen können.
- Im oberen Teil der Eingabemaske können Sie die Parameter direkt eingeben. Im unteren Teil doppelklicken Sie mit der Maus auf die Feldnummer, es öffnet sich ein weiteres Eingabefenster für die Listendefinition.
- Machen Sie auch hier Ihre Eingabe und bestätigen Sie mit ''OK''.\\ Mit ''Abbrechen'' verwerfen Sie die aktuelle Dateneingabe ohne Änderung.
Alternativ nutzen Sie das Kontextmenü der rechten Maustaste oder die Tastenfunktionen:
| Funktionstaste ''F2'' | Bearbeiten der aktuellen Zeile |
| Insert- bzw. Einfüge-Taste | Einfügen einer neuen Definitionszeile. Die Definition wird an der markierten Position um eine Zeile erweitert. Die nachfolgenden Definitionszeilen werden um eine Feldnummer nach unten verschoben.\\
Haben Sie schon alle 19 Definitionszeilen mit Definitionen befüllt, wird die aktuelle Zeile mit Einfügen nur zum Bearbeiten geöffnet. Unterbrechen Sie dann die Dateneingabe mit der Escape-Taste oder dem Schalter ''Abbrechen'', wird die Definitionszeile entfernt und die nachfolgenden Definitionszeilen werden um eine Position nach oben verschoben!
|
| ''Delete- bzw. Entfernen-Taste'' | Löschen der aktuelle Definitionszeile. Die Definition wird an der markierten Position gelöscht. Die nachfolgenden Definitionszeilen werden um eine Position nach oben verschoben. |
====Spaltendefinitionsfelder====
| ''FeldNr'' | Nummer des Listenfeldes\\ Beachten Sie die besondere Bedeutung des Feldes 01 für die Abfragemöglichkeit Ihrer Listendefinition. |
| ''Titel'' | Spaltenüberschrift\\ Es wird in Abhängigkeit der gewählten Variable ein Vorschlag für den Titel erzeugt, welchen Sie nach eigenem Ermessen ändern können. |
| ''Breite'' | gewünschte Feldbreite\\ Falls der Titel länger als die Feldbreite ist, wird die Titellänge als Feldbreite genommen. Für Datumsfelder können Sie als Breite 8 oder 10 angeben. Die Darstellung erfolgt dann im Format ''tt.mm.jj'' (8-stellig) bzw. ''tt.mm.jjjj'' (10-stellig) Bei der Datumsausgabe wird bei Spalten mit Breite Null der Titel unterdrückt. |
| ''Variable'' | Listgeneratorvariable\\ Mit ''F2'' öffnen Sie die Auswahl der verfügbaren Variablen. Hier können Sie nach Name oder Bezeichnung der Variable suchen oder durch Eingabe des ersten Zeichens zum ersten Treffer in der Auswahl springen.\\ |
| ''L/R'' | Auswahlfeld zum Spaltenformat.\\ ''L'' linksbündige Ausgabe\\ ''R'' rechtsbündige Ausgabe\\ ''N'' numerische Ausgabe. Der Eintrag ''N'' bewirkt zwei Dinge:\\ \\ **1.** Das Feld wird ausdrücklich als Zahl-enthaltend markiert, der Feldinhalt wird also nicht einfach als Text, sondern als Zahl behandelt (also z. B. auch aufsummiert). Auf diese Weise können auch Textfelder, wie z. B. Hinweisfelder im Personenstamm, als Zahlenfelder interpretiert werden.\\ \\ **2.** Die Ausgabe erfolgt mit zwei Nachkommastellen, dem Komma als Nachkomma-Trennzeichen und dem Punkt als Tausender-Trennzeichen, z. B.\\ ''10.234.743,99'' Tipp: Wenn Sie eine Liste in eine Datei ausgeben möchten, um die Daten z. B. in Microsoft® Excel zu verarbeiten, sollten Sie für die Option ''N'' wählen. Dadurch wird das Komma ',' als Dezimaltrennzeichen verwendet und Microsoft® Excel erkennt die entsprechende Spalte automatisch als Zahl.\\ Ist das Feld originär schon eine Fließkommazahl (15.2) kann in Einzelfällen die Ausgabe durch das Spaltenformat ''N'' wegfallen. Nutzen Sie alternativ das Format ''R'' für eine rechtsbündige Ausrichtung.\\ |
| ''Sum'' | Auswahlfeld zur Summierung.\\ ''S'' Summe (Standard)\\ ''D'' Durchschnitt\\ ''F'' Formel\\ ''N'' Nichts\\ Einzelheiten zu Zwischensummen finden Sie oben in der Erklärung der Sortierfelder im Abschnitt ''Sortieren und Summieren''. |
==== Listendefinition ändern ====
- Klicken Sie mit der rechten Maustaste in der Tabelle der **Listendefinitionen** auf einen Eintrag und wählen Sie die Funktion ''Ändern''.\\ Es öffnet sich eine Maske, in der Sie die Listendefinition verändern können. Zur Bedeutung der Maskenfelder siehe Abschnitt Listendefinition anlegen.
==== Listendefinition löschen ====
- Klicken Sie mit der rechten Maustaste in der Tabelle der Listendefinitionen auf einen Eintrag und wählen Sie die Funktion ''Löschen''.
- Bestätigen Sie die Sicherheitsabfrage mit ''Ja''. Der Eintrag wird gelöscht.
++++
=====Listenlayout=====
++++|
Über die Sortierfelder können Sie Sortierung und Layout der Listenausgabe beeinflussen. Hierzu können Sie bis zu drei Variablen einsetzen, welchen Sie funktionale Eigenschaften für das Layout zuordnen.
====Seitenumbruch====
Markieren Sie im Bereich Sortierfelder die Option ''S-Umbr.'' für den Seitenumbruch. Es erfolgt ein Seitenumbruch, wenn sich der Wert der Sortier-Variablen ändert.
==== Sortierung ====
Die Sortierung erfolgt wahlweise alphabetisch oder numerisch (Markierungsfeld ''N-Sort'' für die Einstellung der numerischen Sortierung). Haben Sie keine Vorgaben gemacht, wird die Liste anhand der logischen Reihenfolge der abgefragten Felder sortiert. Dies führt oft schon zu den gewünschten Ergebnissen.
====Zwischensummen====
Um eine Zwischensumme auszugeben, wenn sich der Wert der Sortiervariablen ändert, muss das Feld ''Summe'' angekreuzt werden.
Beispiel: Sie haben ''PerObj'' als erste und ''PerNr'' als zweite Sortiervariable eingetragen und bei ''PerObj '' das Summe-Feld angekreuzt. Dann erhalten Sie pro Objekt eine Zwischensumme der Daten. Falls Sie zusätzlich noch das Feld ''Zähler'' markiert haben, wird in der Summe außerdem noch die Anzahl der aufsummierten Zeilen mit ausgegeben.
Weiterhin können Sie steuern, in welcher Weise Zwischensummen gebildet werden. Dazu dient das Feld ''Sum'' in den Zeilen der Listendefinition. Folgende Eingaben sind dort pro Zeile möglich:
''** S**'' Summe (Standardwert).
''** D**'' Durchschnitt. Die Summe der Spalten wird durch die Anzahl der Zeilen geteilt.
''** F**'' Formel. Die Berechnungsformel in der Felddefinition wird auch für die Summenbildung zugrunde gelegt.
''** N**'' Nicht. Die Ausgabe einer Summe wird unterdrückt.
Beachten Sie bitte, dass bei einer Zwischensumme am linken Listenrand ein Text**** ''Summe für ...'' ausgegeben wird, der eine Breite von 13 Stellen benötigt (30 Stellen bei der ersten Sortiervariablen). Dadurch könnten in den ersten Spalten evtl. Summen überschrieben werden. Sie können dies vermeiden, wenn Sie in den ersten Felddefinitionen nur Texte unterbringen.
++++
===== Listendefinitionen und -selektionen importieren/exportieren =====
++++|
In der jeweiligen Tabelle für die Listendefinitionen bzw. die Selektionsdefinitionen können Sie über das Kontextmenü der rechten Maustaste eine markierte Definition exportieren bzw. eine auszuwählenden Definition importieren. Sollte sich beim Import herausstellen, dass der Titel der Definition schon genutzt wird, müssen Sie ggf. den Titel der vorhandene Definition zuvor umbenennen. Mit Hilfe der Export-Funktion können Sie sich bestimmte Definitionen sichern oder kopieren.
Für die verwendeten Dateinamen haben Sie freie Wahl. In Anlehnung an die Classic-Version empfehlen wir jedoch, für die Export/Import-Dateien der Definitionen die Dateiendung ''.bin'' zu verwenden, damit solche Dateien nicht während Transport oder am Ablageort versehentlich mit einem Standard-Editor geöffnet und verändert werden.
++++
===== Listendefinitionen und -selektionen schützen =====
++++|
Sie können einzelne Listen- und Selektionsdefinitionen administrativ schützen. Sind die Änderungsrechte auf bestimmte Anwender eingeschränkt, können alle anderen Anwender dann diese Definitionen nur noch nutzen, aber nicht mehr verändern oder löschen. Die Bearbeitungsmaske wird dann Benutzern ohne Änderungsrechte nur zur Information inaktiv angezeigt. Details hierzu siehe Systemeinstellungen.
++++
===== Selektionsdefinitionen bearbeiten =====
++++|
==== Selektionsdefinition anlegen ====
- Klicken Sie mit der rechten Maustaste in der Tabelle der ''Selektionsdefinitionen'' auf einen Eintrag und wählen Sie die Funktion **Neu**.\\ Es öffnet sich das Eingabefenster für die Selektionsdefinition.
- Im oberen Feld benennen Sie die Selektionsdefinition. Für die eigentliche Definition stehen Ihnen sieben Felder zur Verfügung. Beachten Sie, dass Sie einen Einzelausdruck nicht auf mehrere Zeilen aufteilen dürfen.
- Geben Sie die Parameter ein und bestätigen Sie mit ''O''*.
In der Selektionsdefinition wird durch einen logischen Ausdruck festgelegt, welche Datensätze gedruckt werden und welche nicht.
* Basis einer Selektionsdefinition ist ein Einzelausdruck, der folgende Form besitzt:
* Einzelausdrücke können auch durch **UND** oder **ODER** miteinander verknüpft werden.
* Bei mehreren Und/Oder-Verknüpfungen in einer Selektionsdefinition setzen Sie bei Bedarf Klammern.
* Bei Variablennamen und Operatoren wird nicht zwischen Groß- und Kleinschreibung unterschieden.
* In der Selektionsdefinition gelten für Variablen aus unterschiedlichen Datenbereichen die gleichen Einschränkungen wie in der Listendefinition (siehe Erläuterungen zu Feldvariablen).\\
**** ist der Name einer Feldvariablen. Eine Übersicht der zur Verfügung stehenden Variablen finden Sie im nachfolgenden Abschnitt 01.12.
**** ist einer der folgenden Ausdrücke (Anstelle der Ausdrücke 'gleich', 'größer' und 'kleiner' können Sie auch die mathematischen Symbole =, > und < verwenden):
| ''=''\\ ''gleich'' | Variableninhalt muss gleich dem angegebenen Wert sein. |
| ''passt auf'' | Wie 'gleich', aber der angegebene Wert kann 'Platzhalter' '*' enthalten. Ein '*' wird so interpretiert, dass an dieser Stelle ein beliebiger Text (auch leer) stehen darf. Dies funktioniert ähnlich wie unter DOS. |
| ''nicht gleich'' | Variableninhalt muss ungleich dem angegebenen Wert sein. |
| ''>='' | Variableninhalt muss größer als oder gleich dem angegebenen Wert sein. |
| ''>''\\ ''größer'' | Variableninhalt muss größer als der angegebene Wert sein. |
| ''<'' \\ ''kleiner'' | Variableninhalt muss kleiner als der angegebene Wert sein. |
| ''<='' | Variableninhalt muss kleiner als oder gleich dem angegebenen Wert sein. |
| ''enthält'' | Der angegebene Text muss im dem Variableninhalt enthalten sein. |
| ''enthält nicht'' | Der angegebene Text darf nicht im dem Variableninhalt enthalten sein. |
| ''leer'' | Der Variableninhalt muss leer sein. |
| ''nicht leer'' | Der Variableninhalt darf nicht leer sein. |
| ''in'' | Variableninhalt muss im angegebenen Bereich liegen. |
| '' nicht in'' | Variableninhalt darf nicht im angegebenen Bereich liegen. |
Der **** ist je nach Variablentyp eine Zahl oder Zeichenkette, die mit dem Variableninhalt verglichen wird.
* und müssen den gleichen Datentyp haben. Die Variable 'PerVBeg' z. B. ist vom Typ 'Datum'. Daher muss auch der angegebene Wert vom Typ 'Datum' sein.
* Die Operatoren 'enthält' und 'enthält nicht' dürfen nur auf Zeichenketten (Text) angewendet werden.
Klammersetzung mit runden Klammern kann erforderlich sein, um bei logischen Verkettungen entsprechend kombinierte Aussagen zu erhalten. Korrekt eingesetzt, erleichtern Sie aber auch für den Bearbeiter der Definition das Verständnis komplexerer Selektionsdefinitionen.
==Selektion nach Datum==
Mit einigen speziellen Variablen können Sie auf das Systemdatum zugreifen, um dieses mit Datumsfeldern in Crem®iX-Haus vergleichen zu können. Sie können so z. B. alle Personen selektieren, deren Vertragsendedatum größer als das aktuelle Datum ist. Folgende Variablen stehen für Datumsvergleiche zur Verfügung:
Bedeutung der Systemvariablen
''SysDatum'' Tagesdatum
''SysMonBeg'' erster Tag des aktuellen Monats
''SysMonEnd'' letzter Tag des aktuellen Monats
''SysJahrBeg'' erster Tag des aktuellen Jahres
''SysJahrEnd'' letzter Tag des aktuellen Jahres
==Beispiele==
Personennummern größer als '10':\\
''PerNr größer 10'' \\
''PerNr > 10''
Datensätze mit Berliner Adresse:\\
''ObjOrt enthält Berlin''
Keine Personen mit Restantennummer:\\
''Pernr enthält nicht -''
Vertragswechsel in 2019:\\
( FlbBeg > 31.12.2018 UND FlbBeg < 01.01.2020 ) ODER
( FlbEnd > 31.12.2018 UND FlbEnd < 01.01.2020 )
gültige Verträge in 2019:\\
( FlbBeg > 31.12.2018 UND FlbBeg < 01.01.2020 ) ODER
( FlbEnd > 31.12.2018 UND FlbEnd < 01.01.2020 ) ODER
( FlbBeg < 01.01.2020 UND FlbEnd Leer )
Aktuelle Netto-Mietverträge:\\
FlbMwCode = 3 UND FlbEnd Leer ODER
FlbMwCode = 3 UND FlbEnd > SysDatum
===== Selektionsdefinition ändern =====
- Klicken Sie mit der rechten Maustaste in der Tabelle der ''Selektionsdefinition'' auf den gewünschten Eintrag.
- Wählen Sie die Funktion ''Ändern''\\ Es öffnet sich eine Maske, in der Sie die Selektionsdefinition verändern können. Zur Bedeutung der Maskenfelder siehe vorheriger Abschnitt.
===== Selektionsdefinition löschen =====
- Klicken Sie mit der rechten Maustaste in der Tabelle der ''Selektionsdefinition'' auf den gewünschten Eintrag.
- Wählen Sie die Funktion ''Löschen''.
- Bestätigen Sie die Sicherheitsabfrage mit ''Ja''. Der Eintrag wird gelöscht.
++++
===== Flächenleerstände auswerten =====
++++|
Listen, die Daten zur Flächenbelegung ausgeben, können auch Leerstände darstellen. Dazu sind allerdings einige Randbedingungen zu beachten:
* Der führende Datensatz muss der Flächenstamm sein, d. h., die erste verwendete Variable muss mit **Fls** beginnen (z. B. ''FlsNrFlächennummer'').
* In der Liste dürfen nur Variablen der Datensätze ''Fls'' und ''Flb'' verwendet werden.
* Bei Flächen, die zum Stichdatum leerstehen, enthält die Variable ''FlbBem'' den Wert LEERSTAND. Für diese Flächen liefern die Variablen ''FlbBeg'' und ''FlbEnd'' das Beginn- bzw. Endedatum des Leerstands.
* Zur Einschränkung der Sicht auf Leerstände nutzen Sie z. B. folgende Selektionsdefinition: ''FlbBem Enthält Leerstand''
++++
===== Komplette Ausgabe eines Stammdatenbereichs =====
++++|
Sie haben die Möglichkeit, ganze Datenbereiche in eine Ausgabedatei zu schreiben - also ggf. auch mehr als zwanzig Spalten. Dazu müssen Sie in der Listendefinition spezielle Variablenbezeichnungen eintragen. Hierzu geben Sie für das erste Feld der Abfrage nur die ersten drei Zeichen eines Datenbereichs ein und fügen das Asterix-Zeichen ***** an. Zum Beispiel werden durch Eingabe von ''Obj*'' im Feld ''Variable'' einer Listendefinition beim Export nacheinander alle Variablen ausgegeben, die mit ''Obj'' beginnen. Die angegebene Feldbreite muss größer 0 sein!
===Einschränkungen: ===
* Feldvariablen, welche gesonderte Informationen benötigen, z. B. in Klammern angegebene Kontenklassen, können hiermit nicht allgemein ausgegeben werden.
* Diese Ausgabeform funktioniert wegen der hiermit erhaltenen hohen Spaltenanzahl und -breiten nicht als Druck oder Druckvorschau.
++++
=====Rechenoperationen in Listen=====
++++|
Sie können in einer Listenspalte auch Rechenoperationen definieren, z. B. die Addition oder Multiplikation von Spalten. In der Felddefinition steht anstelle eines Variablennamens ein Rechenausdruck, der mit dem Zeichen ''@'' beginnt (Klammeraffenzeichen mit Tastenkombination ''AltGr+Q''). Auf den Wert eines Feldes wird durch Eingabe des Buchstabens ' ''S'' ', gefolgt von der jeweiligen Feldnummer, zugegriffen. Beispiel:
''@(S5+S6)*2 '' Der Wert des 5. und 6. Feldes wird addiert und anschließend mit Ziffer Zwei multipliziert, die Summe beider Felder also verdoppelt.
Für Rechenoperationen können Sie nur Felder verwenden, deren Inhalt eine Fließkommazahl ist, z. B. ein EUR-Betrag (siehe Kennzeichnung in Abschnitt [[dienstprogramme:listgenerator:start#verfuegbare_feldvariablen|Verfügbare Feldvariablen]]). Steht in dem entsprechenden Feld keine Fließkommazahl, so wird in der Rechenoperation der Wert ''0.00'' angenommen.
Wenn Sie in der Listendefinition mit Rechenoperationen arbeiten, müssen Sie nach dem Ändern der Spaltenpositionen durch nachträgliches Entfernen oder Einfügen von Zeilen die Spaltenbezüge von Rechenformeln ggf. an geänderte Spaltenpositionen anpassen.
++++
=====Sortieren und Summieren=====
++++|
Sie können in Ihrer Liste Zwischensummen ausgeben lassen, z. B. pro Objekt. Dazu dienen die drei Sortierfelder** SortVar 1** bis **SortVar ****3** in der Eingabemaske.
Eingetragen wird dort ein Variablenname, dem ein bestimmtes Feld beispielsweise des Personenstamms entspricht. Diese Sortierfelder bestimmen, in welcher Reihenfolge die Datensätze der Liste ausgedruckt werden. Tragen Sie z. B. ''PerNr'' in das 1. Sortierfeld ein, erscheinen die Zeilen nach Personennummer sortiert.
++++
====== Listgenerator im Batchbetrieb ======
++++|
Der Listgenerator kann auch über einen Batch-Betrieb angesteuert werden. Der hierzu erforderliche Aufruf muss aus dem Programm-Hauptverzeichnis* erfolgen:
:\\ic7100.exe
z. B. '' I:\ixhaus\exe\ic7100.exe listgen1.par *'' Hosting-Kunden können Batchdateien vorbereiten und lassen diese dann durch die IT der CREM SOLUTIONS in das Hauptverzeichnis der iX-Haus-Installtion integrieren, ggf. mit einer Windowsaufgeabenplanung für eine zeitgesteuerte Ausführung.
Die Parameterdefinitionen in der Parameterdatei legen Sie als Auflistung zeilenweise nach dem Schema ''**PARAMETERNAME:Parameter**'' an. Sie können nicht benutzte Parameter weglassen oder auch nur den jeweiligen Parameternamen angeben. Die Reihenfolge der Parameterzeilen ist nicht fest vorgegeben. Es können nur schon definierte Listendefinitionen oder Selektionsdefinitionen genutzt werden. Beachten Sie beim Verwenden der Druckfunktion, dass die Druckereinrichtung auf der Workstation zum angegebenen User passt.
Wir empfehlen, die per Batchdatei anszusteuernde Listgeneratorabfrage mit den entsprechenden Parametern zum Test auch in Crem®iX-Haus einmal anzusteuern, damit Sie erkennen, welche Parameter zur Abfrage benötigt werden, z. B. Datumswerte für einen Zeitraum oder ein Stichdatum.
Gegebenenfalls kann das Set einer Listgeneratorabfrage (Listen- und Selektionsdefinition) im [[berichtscenter:berichtspaket:start|Berichtscenter]] eingebunden werden, falls die Abfrage der Daten unabhängig vom eingestellten Jahrgang ist.
=====Wildcards=====
Mit Hilfe von Wildcards („*“) ist es möglich, die Beschränkung auf 19 Spalten zu umgehen. Man nutzt die *-Definition, um alle Felder eines Datensatzes auszugeben. Wenn man nur einen Teil davon möchte, kann man mit Hilfe des **EDEF**-Parameters eine Auswahl treffen. Diese Einschränkung via **EDEF**-Parameter ist nur im Batchbetrieb möglich. Das Vorgehen hierzu wird im Folgenden beispielhaft erklärt.
Als Beispiel sei die Liste „Kreditoren“ genannt. Sie ist definiert als ''Kre*''. Mit dieser Definition werden alle Felder (aktuell 86 Stück) des jeweiligen Kreditor-Datensatzes ausgegeben. Tatsächlich werden aber z. B. nur 25 Felder davon benötigt. Diese 25 Felder müssen dann in der Parameterdatei explizit aufgelistet werden. Alle nicht genannten Kreditor-Datensatzfelder werden auf diese Weise unterdrückt. Hierfür existiert der Parameter
EDEF (= „erweiterte Definition“).
Der Parameter **EDEF** muss vor der Liste der auszugebenden Felder stehen. Es können auch mehrere EDEF-Blöcke genutzt werden. Die Liste der auszugebenden Felder folgt dann jeweils auf die zugehörige EDEF-Zeile.
===Beispiel===
Liste Kreditoren ist definiert als Kre* (alle Felder des Datensatzes werden ausgegeben - zur Zeit sind dies 70 Felder). In Wirklichkeit werden von Ihnen nur 20 Felder benötigt. Diese 20 Felder müssen in der Parameterdatei aufgelistet werden. Damit werden alle andere Datensatzfelder aus dem Kre-Bereich ausgeschlossen. Der Parameter **EDEF **muss vor der Liste der auszugebenden Felder stehen. Es können auch mehrere erweiterte Definitionen genutzt werden, die Liste der auszugebenden Felder steht dann jeweils nach der dazugehörenden EDEF-Zeile.
Inhalt der Parameterdatei zum vorgenannten Beispiel:
WDIR:c:\ix480\ixhaus
LDEF:OW Kreditor
SDEF:Alles
ADAT:
CDAT:
OBJR:1004
WRNG:EUR
FILE:listgen-kre.dat
OUTP:c:\ix480\ixhaus\ListGen
EDEF:KRE
// erweiterte Definition für Wildcard Kre*
// nachfolgend die Liste der auszugebenden Variablen
KRE:Nr
KRE:Typ
KRE:Gew
KRE:Kdn
KRE:Anr
KRE:Nam1
KRE:Nam2
KRE:Str
KRE:Ort
KRE:Tel1
KRE:Tel2
KRE:Fax
KRE:Email
KRE:AnsPar
KRE:Stellung
KRE:BnkNam
KRE:BnkBlz
KRE:BnkKto
KRE:EZ
KRE:ZVAus
KRE:Ford
KRE:Verb
KRE:Not1
KRE:Not2
KRE:Not3
KRE:Zz1T
KRE:Zz1S
===== Übersicht über die Parameter im Batchbetrieb =====
===Übersicht über die Parameter für die Steuerdatei des Listgenerators im Batchbetrieb===
| ''LDEF:'' | Name der zu verwendenden Listendefinition |
| ''SDEF:'' | Name der zu verwendenden Selektionsdefinition |
| ''OBJR:'' | Objektbereich |
| ''WRNG:'' | Listenwährung, z. B. ''EUR'' |
| ''FILE:'' | Ausgabedatei (wenn leer, wird der Drucker des Users verwendet) |
| ''OUTP:'' | Ausgabepfad |
| ''XSUM:'' | ''☑'' Nur Summen |
| ''FOBJ:'' | Von Objekt |
| ''TOBJ:'' | Bis Objekt |
| ''FKRE:'' | Von Kreditor |
| ''TKRE:'' | Bis Kreditor |
| ''FMON:'' | Von Monat |
| ''TMON:'' | Bis Monat |
| ''SMON:'' | Stichmonat |
| ''FJAR:'' | Von Jahr |
| ''TJAR:'' | Bis Jahr |
| ''SJAR:'' | Stichjahr = Auswertungsdatum (Auswertungsdatum hat Vorrang) |
| ''FDAT:'' | ''TT.MM.JJ'' Von Datum 8-stellig: 31.12.99 |
| ''TDAT:'' | ''TT.MM.JJ'' Bis Datum 8-stellig: 31.12.99 |
| ''SDAT:'' | ''TT.MM.JJ'' Stichdatum 8-stellig: 31.12.99 |
| ''XHJ1:'' | ''☑'' Halbjahr 1 |
| ''XHJ2:'' | ''☑'' Halbjahr 2 |
| ''XRES:'' | ''☑'' mit Restanten |
| ''FADR:'' | Von Adam-Adresse |
| ''TADR:'' | Bis Adam-Adresse |
| ''FSTO:'' | Von Raumbuch-Standort |
| ''TSTO:'' | Bis Raumbuch-Standort |
| ''FBUN:'' | Von Buchungsnummer |
| ''TBUN:'' | Bis Buchungsnummer |
| ''XBNK:'' | ''☑'' Bank |
| ''XEBS:'' | ''☑'' Buchungsstatus für Einzelsoll |
| ''EDIR: '' | Exedir - Pfad des Exe-Verzeichnisses |
| ''USER:'' | ID des Users (diese Nummer wird in der Header jeder Liste ausgegeben) |
| ''CDAT:'' | changedate - „Änderungsdatum“.\\ Es werden nur die Datensätze ausgegeben, die seit dem Änderungsdatum bearbeitet wurden.\\ Dieser Parameter wird ignoriert, wenn der CFIL-Parameter verwendet wird! |
| ''CTIM:'' | changetime - „Änderungszeit“.\\ Ergänzt den CDAT-Parameter um eine (minutengenaue) Uhrzeit.\\ Dieser Parameter wird ignoriert wenn der CFIL-Parameter verwendet wird! |
| ''CFIL:'' | Pfad zu einer CFIL-Parameterdatei, in der Datum und Uhrzeit des letzten Laufs gespeichert werden (:\\Parameterdatei).\\ Wenn die Datei nicht existiert, werden alle Datensätze ausgegeben und die Datei mit dem aktuellen Datum und der aktuellen Uhrzeit angelegt.\\ Existiert die Datei, werden nur die Datensätze ausgegeben, die seit dem letzten Lauf geändert wurden. Das Datum und die Uhrzeit in der Datei werden nach jedem Lauf automatisch aktualisiert.\\ Beispiel: ''CFIL: D:\iXHaus\ListGen\CFILFlaechenDatum.txt'' |
| ''EDEF:'' | Erweiterte Definition für eine Wildcard-Abfrage, s. o. |
===Hinweis für die Parameter CDAT/CTIM und CFIL:===
Die erste Feldvariable legt fest, welcher Datenbereich bei der CFIL-Prüfung berücksichtigt wird. Beginnt der Listenaufbau z. B. mit dem Personennamen (Per-Variable), erfolgt die Zeitstempel-Prüfung für alle Felder des Personenstamms.
===== Beispiel aus einer Parameterdatei für den Batchbetrieb =====
LDEF: Flächen2008
SDEF: Alles
OBJR: 0001-0004
WRNG: EUR
FILE: Listgen-Flaeche.dat
OUTP: D:\iXHaus\ListGen\Flaechen
XSUM:
FOBJ:
TOBJ:
FKRE:
TKRE:
FMON:
TMON:
SMON:
FJAR:
TJAR:
SJAR:
FDAT:
TDAT:
SDAT:
XHJ1:
XHJ2:
XRES: X
FADR:
TADR:
FSTO:
TSTO:
FBUN:
TBUN: X
BNK: X
XEBS: X
EDIR: D:\iXHaus\exe
USER: 56
CFIL: D:\IXHAUS\LISTGEN\CFILFLAECHENDATUM.TXT
++++