CIB workbench Anwenderhandbuch
6. Verwendung von Datenquellen in der CIB workbench
6.5. Struktur von Datenquellen in der Variablenverwaltung
Die Funktionalität der Variablenverwaltung hängt von der vorliegenden Datenstruktur ab.
Übersicht über unterschiedliche DatenstrukturenDatenquellen im Einzel CSV-Format
Datenquellen im Multi CSV-Format
Datenquelle mit XML-Strukturen mit <Comod>
Datenquelle im XML-Format (Typ 2) ohne <Comod>
Übersicht über unterschiedliche Datenstrukturen
Folgende Datenquellenstrukturen werden von der Variablenverwaltung (Menü „Variablen“) der CIB workbench unterschiedlich unterstützt:
- flache Einzel-CSV (Typ 0a)
- Multi-CSV Struktur (Typ 0b)
- XML Struktur mit CoMod Strukturinformation (Typ 1a) - dataroot
- XML Struktur mit erweiterter CoMod Information (Typ 1b) - job
- XML Struktur mit umfangreicher CoMod Information ( Typ 1c) – gtv
- XML Struktur mit CoModStrukturinformation (Typ 1d) - merge
- XML Struktur ohne CoMod Information (Typ 2)
In den meisten Fällen empfiehlt sich die Verwendung einer XML Datenquelle mit CoMod Strukturinformation vom Typ 1b.
Die Funktionalität der Variablenverwaltung hängt von der vorliegenden Datenstruktur ab:
|
CSV |
XML |
|||||
|
Einzel |
Multi |
mit CoMod |
ohne CoMod |
|||
Typ |
0a |
0b |
1a |
1b |
1c |
1d |
2 |
Struktur-information |
- |
- |
dataroot |
job |
gtv |
merge |
- |
Menü-bezeichnung |
REF Name |
REF Name |
REF Name |
sprechend |
sprechend |
REF Name |
REF Name |
Testwert |
ja |
ja |
ja |
ja |
ja |
ja |
nein |
Menükaskaden |
nein* |
ja |
ja |
ja |
ja |
ja |
ja |
Feldattribute |
nein |
nein |
nein |
ja |
ja |
nein |
nein |
prefix-delimiter |
nein |
nein |
ja |
ja |
ja |
ja |
nein |
Datenquellen im Einzel CSV-Format
Die Einträge der CSV Datei werden flach in dem Variablenmenü angezeigt. Überschreitet die Liste eine festgelegte Anzahl an Einträgen, dann werden automatisch Untermenüs mit angelegt. Diese Untermenüs enthalten eine feste Anzahl an Variablen. Dieses Verfahren dient der Übersichtlichkeit großer CSV Dateien.
Datenquellen im Multi CSV-Format
Optional können auch mehrere CSV Dateien (=Multi-CSV) importiert werden. Die Menüdarstellung innerhalb der CIB workbench erfolgt dann auf 2 Ebenen. Die erste Ebene enthält den Aliasnamen unter dem eine CSV Tabelle angesprochen werden kann. In der 2ten Ebene jedes Aliasnamen erscheinen alle verfügbaren Variablen in der jeweiligen Tabelle.
Datenquelle mit XML-Strukturen mit <CoMod> Knoten - Typ 1
Datenquellen vom Typ 1 werden XML-Datenquellen genannt, die einen CoMod Knoten enthalten.
Dieser kann Informationen zu Struktur, Datenbereich, Verarbeitungsweisen und mehr beinhalten. Der Comod-Knoten befindet sich immer direkt unter dem obersten Knoten, dessen Name beliebig gewählt werden kann.
Für die Verwendung in der CIB workbench entscheidend sind vor allem die Angaben zur Datenstruktur, Details dazu finden Sie auf den folgenden Seiten.
Ausführliche Informationen zu den weiteren Inhalten des CoMod Knoten finden Sie im Technischen Leitfaden zu CIB job.
Jede XML-Datendatei mit Comod-Knoten gehört zu einem der Untertypen 1a, 1b, 1c oder 1d. Der genaue Untertyp ist im Wert des Attributes „structure“ des Comod-Knoten definiert.
<Template> <Comod>
<defaults>
<properties command="workbench">
<property name="structure">dataroot</property>
Datenquelle im XML-Format (Typ 1a) mit CoMod-Knoten und structure: dataroot
Dieser Typ erlaubt lediglich die Angabe des DataRoot zu den Daten innerhalb der XML-Datei.
Es sind keine weiteren Attribute zu den einzelnen Variablen möglich.
<?xml version="1.0" encoding="ISO-8859-1"?>
<Template> <Comod>
<defaults>
<properties command="workbench">
<property name="structure">dataroot</property>
<property name="DataRoot">Template/data</property>
</properties>
</defaults> </Comod> <data>
<Adresse>
<Vorname>Peter</Vorname>
<Nachname>Clever</Nachname> <PLZ>90401</PLZ>
<Ort>Nürnberg</Ort>
<Telefonnummer>0911/123456789</Telefonnummer> </Adresse>
<Kontodaten>
<Kontotyp>Giro</Kontotyp>
<Saldo>1.234,59</Saldo>
<Kontonummer>08154711</Kontonummer> </Kontodaten>
</data>
</Template>
Datenquelle im XML-Format (Typ 1b) mit CoMod-Knoten und structure:job
Die CIB workbench versteht XML Strukturen die speziell für die Nutzung im Umfeld des CIB documentservers oder für die Nutzung als XML Auftrag für das CIB job Modul konzipiert sind.
Innerhalb des <Comod> Knoten ist Sie dazu eine Property command=„job“ erforderlich.
Großer Unterschied zum Typ 1a ist, dass ein multi Knoten hinzukommt, der alle Datengruppen und Tabellen definiert. Auch hier wird das Attribut DataRoot genutzt. Allerdings zeigt der XPath unter „DataRoot“ nicht auf die Daten selbst, sondern auf den multi Knoten innerhalb der XML-Datei.
<?xml version="1.0" encoding="ISO-8859-1"?>
<root> <Comod>
<defaults>
<properties command="workbench">
<property name="structure">job</property>
<property name="DataRoot">//multi</property>
</properties>
</defaults>
</Comod>
Zusätzlich kann hier auch ein prefix-delimiter definiert werden.
<property name="PrefixDelimiter">.</property>
Die Einstiegspunkte für die konkreten Daten sind unter dem Multi Knoten hinterlegt. Unter dem multi Knoten sind alle wichtigen Informationen zu den im XML vorhandenen Datengruppen hinterlegt:
<multi>
<allgemeineVariablen type="superGroup" info="Allgemeine Variablen" level="1"> XML:datenquelle.xml;/*/data/allgemeineVariablen</allgemeineVariablen> <adresse type="group" info="Adresse" isTable="1" level="1" minOccurs="1" maxOccurs="unbounded">XML:datenquelle.xml;/*/data/adresse</adresse> <kontobezogendeDaten type="superGroup" info="Kontodaten" level="1"> XML:datenquelle.xml;/*/data/kontoDaten</kontobezogendeDaten> <konto type="group" info="Standard" isTable="0" level="2" minOccurs="1" maxOccurs="1"> XML:datenquelle.xml;/*/data/konto</konto>
</multi>
Element |
Pflicht |
Werte |
Beschreibung |
Name |
Ja |
|
Aliasname, mit dem die Daten in der Vorlage angesprochen werden können |
Wert |
Ja |
XPath Ausdruck |
XPATH zu den Daten |
Attribut |
Pflicht |
Werte |
Beschreibung |
type |
Ja |
group/supergroup |
Typ des Datensatzes |
info |
Ja |
|
Beschreibung – wird im Menü angezeigt |
level |
Ja |
1/2/… |
definiert die Ebene im Menü |
isTable |
Ja |
0/1 |
zeigt, ob es sich um eine dynamische Tabelle handelt. Hinweis: Auf dynamische Tabellen können in der Textprogrammierung Schleifenanweisungen verwendet werden. |
minOccurs |
Ja |
>=1 |
Mindestanzahl an Wiederholungen dieses Datensatzes |
maxOccurs |
ja |
1/2/…/unbounded |
Maxmialanzahl an Wiederholungen dieses Datensatzes |
Ab dem XML-Format Typ 1b können auch Details zu den Variablen hinterlegt werden:
<data>
<allgemeineVariablen>
</allgemeineVariablen>
<adresseKunde>
<vorname field="id001" type="text" info="Vorname " group="adresseKunde" varPath="adresseKunde.Vorname">Peter</vorname>
<nachname field="id002" type="text" info="Nachname " group="adresseKunde" varPath="adresseKunde.Nachname">Clever</nachname>
<telefonnummer field="id003" type="text" info="Telefonnummer" group="adresseKunde" varPath="adresseKunde.telefonnummer">0911-1234560</telefonnummer>
</adresseKunde>
<kontoDaten>
</kontoDaten>
<konto>
<nummer field="kto_id001" type="text" info="Kontonummer" group="konto" varPath="konto.nummer">Peter</nummer>
<saldo field="kto_id002" type="text" info="Saldo" group="konto" varPath="konto.saldo">1.234,56</saldo>
<typ field="kto_id003" type="text" info="Art des Kontos" group="konto" varPath="konto.typ">Giro</typ>
</konto>
</data>
</root>
Element |
Pflicht |
Werte |
Beschreibung |
Name |
Ja |
|
Name der Variablen |
Wert |
Ja |
|
Wert, der beim Test angezeigt wird |
Attribut |
Pflicht |
Werte |
Beschreibung |
type |
Ja |
int/text/… |
Typ der Variablen |
info |
Ja |
|
Beschreibung – wird im Menü angezeigt |
group |
Ja |
|
Name der Gruppe, zu der die Variable gehört |
varPath |
Ja |
Gruppenname.Varname |
Aliasname + Prefix + Variablenname Wird bei Einfügen der Variable ins Dokument als Name des REF Feldes verwendet |
format |
Nein |
|
Unterschiedliches Format je Variablentyp |
Bei der Verwendung von Prefix-Delimitern wird empfohlen, das Attribut varPath zu befüllen. So können die Variablen per Mausklick in das Dokument eingefügt werden. Eventuell wird es in zukünfigen Versionen eine automatische Ermittlung des Varpaths aus Aliasnamen + Prefixdelimiter + Name geben.
Falls aus den Vorlagen auch HTML Eingabemasken erzeugt werden sollen, stehen zusätzliche Attribute zur Verfügung, mit denen das Eingabefeld zu jeder Variablen genau definiert werden kann. Ausführliche Informationen dazu finden Sie im CIB format Leitfaden.
Format (Typ 1c) mit erweiterter CoMod-Knoten-Struktur: gtv
Diese XML Struktur ist nicht ganz so dynamisch wie die vom Typ 1b. Hier können aber die Attribute zur Variablenbeschreibung beliebig gewählt werden. Im CoMod-Knoten wird dafür dann eine Art Mappingliste hinterlegt.
Es bleibt auch frei, ob die zusätzliche Variablenbeschreibung als Attribut im Variablenknoten hinterlegt wird, oder ob die Variable die Informationen selber als Kinderknoten enthält.
Mit Attributen:
<Variable Anzeigeformat="100" Beispiel="Filiale Kassel" InternerFeldName="ZWGST"
Info="Kunde: zuständige Geschäftsstelle" Typ="ZEICHENFELD"/>
Mit Kinderknoten:
<Variable>
<Anzeigeformat>100</Anzeigeformat> <Beispiel>Filiale Kassel</Beispiel>
<Name>ZWGST</Name>
<Info>Kunde: zuständige Geschäftsstelle</Info>
<Typ>ZEICHENFELD</Typ>
</Variable>
Der CoMod-Knoten
Mit dieser Mappingtabelle können Sie eigene Namen für die Attribute der CIB workbench definieren. Folgende Attribute können gemappt werden:
Name |
Konstante |
Beschreibung |
GroupNode |
cCOMOD_ATTVAL_GROUP |
Knoten ist vom Typ Gruppe |
GroupKey |
cCOMOD_ATTVAL_GROUP_KEY |
Bezeichner der Gruppe im Menü |
TableNode |
cCOMOD_ATTVAL_TABLE |
Knoten ist vom Typ Tabelle |
TableKey |
cCOMOD_ATTVAL_TABLE_KEY |
Aliasname der Tabelle |
TableName |
cCOMOD_ATTVAL_TABLE_NAME |
Bezeichner der Tabelle im Menü |
FieldNode |
cCOMOD_ATTVAL_FIELD |
Knoten ist vom Typ Variable |
FieldKey |
cCOMOD_ATTVAL_FIELD_KEY |
Eindeutige Bezeichner der Variablen und Name des REF Feldes |
FieldValue |
cCOMOD_ATTVAL_FIELD_VALUE |
Testdaten der Variablen |
FieldInfo |
cCOMOD_ATTVAL_FIELD_INFO |
Bezeichner der Variablen im Menü |
FieldType |
cCOMOD_ATTVAL_FIELD_TYPE |
Type der Variablen |
FieldFormat |
cCOMOD_ATTVAL_FIELD_FORMAT |
Format der Variablen |
EnumNode |
cCOMOD_ATTVAL_ENUM |
Knoten ist vom Typ Enumeration |
EnumEntityNode |
cCOMOD_ATTVAL_ENUMENTITY |
Knoten ist vom Typ Enumerationslistenpunkt |
EnumEntityKey |
cCOMOD_ATTVAL_ENUMENTITY_KEY |
Schlüssel des Enumerationslistenpunkt |
EnumEntityValue |
cCOMOD_ATTVAL_ENUMENTITY_VALUE |
Wert des Enumerationslistenpunkt |
DataRoot |
cCOMOD_ATTVAL_DATAROOT |
XPATH Pfad zum Datenbereich |
Der Datenbereich beginnt direkt nach dem CoMod-Knoten. Die Struktur der Gruppen und Variablen wird 1 zu 1 in das Variablenmenü übernommen.
<?xml version="1.0" encoding="ISO-8859-1"?>
<Template>
<Comod>
<defaults>
<properties command="workbench">
<property name="structure">gtv</property>
<property name="GroupNode">Gruppe</property>
<property name="GroupKey">@Name</property>
<property name="TableNode">Tabelle</property>
<property name="TableKey">@Id</property>
<property name="TableName">@Name</property>
<property name="FieldNode">Variable</property>
<property name="FieldType">@Typ</property>
<property name="FieldKey">@InternerFeldName</property>
<property name="FieldInfo">@Info</property>
<property name="FieldValue">@Beispiel</property>
<property name="FieldFormat">@Anzeigeformat</property>
<property name="EnumNode">Enum</property>
<property name="EnumEntityNode">EnumValue</property>
<property name="EnumEntityKey">@Nr</property>
<property name="EnumEntityValue">Value</property>
</properties>
</defaults> <jobs/> </Comod>
<Gruppe Name="Allgemeine Variablen">
<Variable Anzeigeformat="5" Beispiel="15:07" InternerFeldName="CURRENTTIME" Info="Aktuelle Zeit" Typ="ZEICHENFELD"/> <Variable Anzeigeformat="10" Beispiel="YC8MC06" InternerFeldName="GENOUSERID" Info="Geno User Id" Typ="ZEICHENFELD"/> <Variable Anzeigeformat="10" Beispiel="01.12.2000" InternerFeldName="CURRENTDATE" Info="Heutiges Datum" Typ="DATUM"/>
<Variable Anzeigeformat="25" Beispiel="DE1234567890" InternerFeldName="STEUERNUMMER" Info="Nr. Steuer-Nr./USt.-ID-Nr." Typ="ZEICHENFELD"/>
<Gruppe Name="zust. Gesch.stelle">
<Variable Anzeigeformat="70" Beispiel="bank@bank.de" InternerFeldName="KUNZWSTTEMAIL" Info="zuständige Geschäftsstelle: E-Mail" Typ="ZEICHENFELD"/> <Variable Anzeigeformat="32" Beispiel="+49 111 328161" InternerFeldName="KUNZWSTTFAX" Info="zuständige Geschäftsstelle: Fax" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="Zweite Zeile Name" InternerFeldName="KUNZWSTNAME2" Info="zuständige Geschäftsstelle: Name2" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="München" InternerFeldName="KUNZWSTORT" Info="zuständige Geschäftsstelle: Ort" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="90111" InternerFeldName="KUNZWSTPLZ" Info="zuständige Geschäftsstelle: PLZ" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="Musterstraße 10" InternerFeldName="KUNZWSTSTR" Info="zuständige Geschäftsstelle: Straße" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="+49 111 328161 000" InternerFeldName="KUNZWSTTTEL" Info="zuständige Geschäftsstelle: Telefon" Typ="ZEICHENFELD"/>
<Variable Anzeigeformat="32" Beispiel="www.bank.de" InternerFeldName="KUNZWSTTURL" Info="zuständige Geschäftsstelle: URL" Typ="ZEICHENFELD"/>
</Gruppe>
</Gruppe>
</Template>
Datenquelle im XML-Format (Typ 1d) mit CoMod-Knoten und Struktur: merge
Dieser XML-Datenquellentyp kann für die XSS Edition der CIB workbench verwendet werden, die nicht zwingend ein führendes System benötigt. Dieser Typ ist in der Struktur sehr einfach gehalten, ist für CIB merge optimiert und unterscheidet sich dadurch stark von den übrigen XML-Datenquellentypen:
Der CoMod-Knoten
Innerhalb des <CoMod> Knoten wird dieser Typ durch das Struktur-Attribut „merge“ gekennzeichnet. Darüber hinaus enthält der <CoMod>-Knoten die Angaben zu den Daten innerhalb der XML über den DataRoot-Knoten und den Prefixdelimiter. Der XPath im DataRoot-Knoten zeigt in der Regel auf den multi-Knoten innerhalb der XML Datei.
Ist kein CoMod Knoten enthalten, so nimmt die CIB workbench die im folgenden Beispiel verwendeten Werte als default und als Datenquellen-Typ 1d an.
<Comod>
<defaults>
<properties command="workbench">
<property name="structure">merge</property>
<property name="DataRoot">//multi</property>
<property name="PrefixDelimiter">.</property>
</properties> </defaults>
</Comod>
Datenbereich
Analog zum Datenquellentyp 1b enthält der multi-Knoten die Informationen zu den Datengruppen der XML, die als Einstiegspunkte für die konkreten Daten dienen.
<multi>
<AliasName1>XML:<Datenquellenname>;<Pfad zum Knoten1></AliasName1>
<AliasName2>XML:<Datenquellenname>;<Pfad zum Knoten2></AliasName2>
…
</multi>
Beispiel:
<root>
<Comod>
<defaults>
<properties command="workbench">
<property name="structure">merge</property>
<property name="DataRoot">//multi</property>
<property name="PrefixDelimiter">.</property>
</properties> </defaults>
</Comod>
<multi>
<kontakt>XML:Datenquelle.xml;/root/Informationen/Kontakt</kontakt>
<dokument>XMLDatenquelle.xml;/root/Informationen/Dokument</dokument>
</multi>
<Informationen>
<Kontakt>
<Name>Marta Musterfrau</Name>
<Vorname>Marta</Vorname>
<Nachname>Musterfrau</Nachname>
<Adresse>Musterstr.1, 10000 Musterstadt</Adresse>
</Kontakt>
<Dokument>
<Datum>29/12/11</Datum>
<Beschreibung>Test</Beschreibung>
<Betreff/>
</Dokument>
</Informationen>
</root>
Anders als bei anderen Datenquellentypen enthält der Typ 1d weder im Multi- noch im Datenbereich Pflichtattribute, die z.B. zur Darstellung im Variablenmanager oder zur Festlegung eines Datentypen für bestimmte Datenknoten dienen.
Beim Einlesen der Datenfelder unter einem Aliasknoten werden je nach Art des Datenbereichs unter dem im Aliasnamen referenzierten XPATH in erster Linie alle Attributwerte und dann alle Unterknoten erster Ebene eingelesen und im Variablenmanager angezeigt. Duplikate werden nicht aussortiert.
Datenquelle im XML-Format (Typ 2) ohne <CoMod> Knoten
XML-Strukturen ohne Comod-Knoten werden im Variablenmenü vollständig dargestellt. Es findet keine Unterscheidung nach Daten- oder anderen Bereichen statt.
Beim Einfügen von Variablen in das Dokument aus dem Variablenmenü wird immer der Variablenname allein verwendet.
Es werden keine Aliasnamen oder prefix-delimiter ergänzt. Falls Sie einen prefix-delimiter verwenden, fügen Sie Aliasnamen und prefix-delimiter manuell zum Feldnamen hinzu. Als Alternative für das automatische Hinzufügen bietet sich in diesem Fall der XML-Typ 1b an.