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 Datenstrukturen
Datenquellen im Einzel CSV-Format
Datenquellen im Multi CSV-Format
Datenquelle mit XML-Strukturen mit <Comod> Knoten - Typ 1
Datenquelle im XML-Format (Typ 2) ohne <Comod> Knoten

Ü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.


Funktionen in der Variablenverwaltung nach Datenstrukturen

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

spre­chend

spre­chend

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.

Beispiel einer XML-Datendatei mit CoMod Knoten, Multi- und Datenbereich


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


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.