Zeige letzte Bearbeiter
1 {{content/}}
2
3 {{id name="fig_data_source"/}}
4 {{figure image="data_source_de.png" }}
5 Konfigurationsoberfläche zum Anlegen von Datenquellen: (1) Liste existierender Datenquellen, (2) Bereich zum Editieren der Datenquelle, (3) Einstellungspanel der Datenquelle, (4) Servlet-URL der Datenquelle, um auf diese zugreifen zu können.
6 {{/figure}}
7
8 Die Quellen bzw. Datenquellen werden als Text im Format CSV, JSON oder XML hinterlegt und können über den {{designer case="acc"/}} bzw. das Formular verarbeitet werden.
9
10 Um auch im Skriptbereich per Javaskript auf die Datenquellen Zugriff zu haben, werden alle Datenquellen in eine JSON-Struktur umgewandelt und im Objekt {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugänglich gemacht. Die Struktur dieser JSON-Struktur für die verschiedenen Datenquellen ist im jeweiligen Abschnitt erläutert.
11
12 == CSV ==
13
14 Hier können Sie Datensätze im CSV-Format eingeben.
15
16 * Wählen Sie unter //Typ// die Option //CSV//.
17 * Vergeben Sie einen eindeutigen Namen.
18 * Im Feld //Wert// geben Sie die Daten separiert mit einem Komma ein.
19
20 {{figure image="datenquelle_csv_8.png"}}
21 Die JSON-Struktur der CSV-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
22 {{/figure}}
23
24 === Beispiel für eine CSV-Datenquelle ===
25
26 {{info}}
27 Die CSV-Daten werden intern in ein JSON-Objekt umgewandelt, sodass die erste Zeile der //CSV-Datei// immer die Objektnamen für den späteren Zugriff definiert.
28 {{/info}}
29
30 {{code}}
31 Wert 1.1, Wert 1.2, Wert 1.3, Wert 1.4, ...
32 {{/code}}
33
34 Das Auslesen der Werte im {{designer case="dat"/}} erfolgt über das //Servlet// mit Namen //datenquellecsv//.
35
36 === Servlet-Parameter ===
37
38 {{info}}
39 **Servlet-URL**
40 http(s):~/~/<server>/formcycle/datenquellecsv?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
41 {{/info}}
42
43 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code}}XFC_METADATA.urls.datasource_csv{{/code}}.
44
45 Folgende Parameter sind möglich:
46
47 |=Parametername|=Beschreibung|=Erforderlich
48 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
49 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja, wenn //projektId// nicht gegeben.
50 |projektId|Muss der ID des Formulars entsprechen. Diese Information kann über {{code}}XFC_METADATA.currentProject.id{{/code}} abgerufen werden.|Ja, wenn //mandantName// nicht gegeben.
51 |kopfzeile|Gibt eine Komma-separierte Liste der Spaltennamen der CSV-Tabelle an. Ist dieser nicht angegeben, so wird hierfür die erste Zeile der CSV-Tabelle verwendet.|Nein
52 |spaltenNamen|Gibt eine kommaseparierte Liste der Spalten an, welche Spalten vom //Servlet// mit den entsprechenden Werten zurückgeliefert werden. Hierbei werden je nach Verwendung die Namen der Spalten aus dem Parameter //kopfzeile// oder die Namen der ersten Zeile der //CSV//-Datenquelle erwartet.|Nein
53 |csvTrennzeichen|Gibt das Trennzeichen zwischen den einzelnen Datenzellen an. Wird dieses nicht gesetzt, wird hier standardmäßig ein Komma {{code}},{{/code}} benutzt.|Nein
54 |csvQuote|Das Trennzeichen, mit dem die Werte der Zeilen getrennt sind. Wird dieses nicht gesetzt, wird hier standardmäßig ein Anführungszeichen verwendet {{code}}"{{/code}}.| Nein
55
56 === Anwendungsbeispiel ===
57
58 {{figure image="datenquelle_csv_7.png" width="300"}}
59 Ein Beispiel dafür, wie eine CSV-Datenquelle aussehen kann. Die Spalten werden durch Kommas getrennt.
60 {{/figure}}
61
62 {{code language="csv"}}
63 anrede,vorname,nachname,plz,ort
64 Herr,Max,Mustermann,1000,Musterhausen
65 Frau,Monika,Mustermann,2000,Musterdorf
66 Frau, Luise,Musterfrau,3000,Musterstadt
67
68 {{/code}}
69
70
71
72
73 Im {{designer case="dat"/}} wird dann folgendes Skript im [[Skriptbereich>>doc:Main.TAB - Script]] verwendet.
74
75 {{code language="javascript"}}
76 $.getJSON( XFC_METADATA.urls.datasource_csv + "?name=Demo&mandantName=xima.de", function(json) {
77 var obj = json.returnValue[0]
78
79 $('[name=tfAnrede]').val(obj.anrede)
80 $('[name=tfVorname]').val(obj.vorname)
81 $('[name=tfName]').val(obj.nachname)
82 $('[name=tfPLZ]').val(obj.plz)
83 $('[name=tfOrt]').val(obj.ort)
84 })
85 {{/code}}
86
87 {{lightbox image="datenquelle_csv_4.png" width="300"/}}
88
89 Dieses Beispiel als Datenquelle für den {{designer case="acc"/}} [[zum Herunterladen>>attach:beispiel_datenquelle_csv.json||rel="__blank"]].
90
91 === Sonderfall Auswahlelement ===
92
93 {{figure image="data_source_csv_designer_de.png"}}
94 Die Anbindung einer Datenquelle an eine Auswahlelement erfolgt direkt im {{designer case="dat"/}}
95 {{/figure}}
96
97 Soll die //CSV//-Datenquelle direkt in ein [[Auswahlelement>>doc:Main.Auswahl]] geladen werden, erfolgt dies über die Eigenschaften des Auswahlelements im {{designer case="dat"/}}.
98
99 Der Inhalt der CSV-Datenquelle wird folgendermaßen in einem [[Auswahlelement>>doc:Main.Auswahl]] verarbeitet.
100
101 {{code}}
102 sichtbarer wert, übertragener, wert, optionaler wert, optionaler wert, ...
103 {{/code}}
104
105 Werden mehr als der sichtbare und übertragene Wert angegeben, also optionale Werte, so können diese im Javaskript über den folgenden jQuery-Selektor abgerufen werden.
106
107 {{code language="javascript"}}
108 $('[name=sel2]').find('option:selected').attr('col0');
109 {{/code}}
110
111 Jeder optionale Wert wird am Auswahlelement als Attribut {{code}}col + Index des optionalen Wert{{/code}} gespeichert. Bei z.B. drei optionalen Werten würde es also //col0//, //col1// und //col2// geben.
112
113 == XML ==
114
115 Die XML Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
116
117 {{figure image="datenquelle_xml.png" width="300"}}
118 Die JSON-Struktur der XML-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
119 {{/figure}}
120
121 === Beispiel für eine XML-Datenquelle ===
122
123 {{code language="xml"}}
124 <root>
125 <person>
126 <anrede>
127 Herr
128 </anrede>
129 <vorname>
130 Max
131 </vorname>
132 <nachname>
133 Mustermann
134 </nachname>
135 </person>
136 <person>
137 <anrede>
138 Frau
139 </anrede>
140 <vorname>
141 Monika
142 </vorname>
143 <nachname>
144 Musterfrau
145 </nachname>
146 </person>
147 </root>
148 {{/code}}
149
150
151 === Servlet-Parameter ===
152
153 {{info}}
154 **Servlet-URL**
155 http(s):~/~/<server>/formcycle/datenquellexml?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
156 {{/info}}
157
158 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablen-Objekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielsweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_xml{{/code}}.
159
160 Folgende Parameter sind möglich:
161
162 |=Parametername|=Beschreibung|=Erforderlich
163 |mandantName|Muss dem Namen des Mandanten entsprechen, unter welchem diese Datenquelle erstellt wurde.|Ja
164 |name|Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
165
166 == JSON ==
167
168 Die //JSON//-Datenquelle verhält sich analog zur //CSV//-Datenquelle, kann jedoch nicht direkt an ein [[Auswahlelement>>doc:Main.Auswahl]] gebunden werden.
169
170 {{figure image="datenquelle_json.png" width="300"}}
171 Die JSON-Struktur der JSON-Datenquelle. Sie ist identisch mit der JSON-Datenquelle. Auf diese JSON-Struktur kann dann per Javaskript über {{code}}XFC_METADATA.urls.datasource_[csv|json|xml]{{/code}} zugegriffen werden.
172 {{/figure}}
173
174 === Beispiel für eine JSON-Datenquelle ===
175
176 {{code language="json"}}
177 {"person":[
178 {
179 'anrede':'Herr',
180 'vorname':'Max',
181 'nachname':'Mustermann'
182 },
183 {
184 'anrede':'Frau',
185 'vorname':'Monika',
186 'nachname':'Musterfrau'
187 }
188 ]}
189 {{/code}}
190
191 === Servlet-Parameter ===
192
193 {{info}}
194 **Servlet-URL**
195 http(s):~/~/<server>/formcycle/datenquellejson?mandantName=<Mandant-Name>&name=<Datenquellen-Name>
196 {{/info}}
197
198 Bei Zugriff aus dem {{designer case="dat"/}} verwenden Sie immer das globale Variablenobjekt //XFC_METADATA//, siehe hierzu auch [[Globale Designer Variablen>>doc:Main.Formular-Metadaten]]. Beispielweise kann wie folgt darauf zugegriffen werden: {{code language="javascript"}}XFC_METADATA.urls.datasource_json{{/code}}.
199
200 Folgende Parameter sind möglich:
201
202 |=Parametername|=Beschreibung|=Erforderlich
203 |mandantName| Muss dem Namen des Mandanten entsprechen, unter welchen diese Datenquelle erstellt wurde.|Ja
204 |name| Muss dem Namen der CSV-Datenquelle entsprechen.|Ja
Copyright 2000-2025