- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Daten aus Datenquelle gruppieren in CMS_INPUT_COMBOBOX
Hallo zusammen
Ich habe eine Datenbank, nicht FirstSpirit Datenbank. Die Datenbank ist eingebunden.
In der Spalte Marke stehen x-mal die selben Werte wie zum Beispiel: Allchemet oder STAMM.
Ich mรถchte nun die Marke als Auswahl in einem Formular als "CMS_INPUT_COMBOBOX" anbieten. Dort sollen aber die Werte nur einmal vorkommen. Wie kann ich das umsetzen?
Danke fรผr einen Tipp und Grรผsse
Thomas
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Thomas,
ich wรผrde das so machen:
In der Datenbank einen View einbinden, der den gewรผnschten Inhalt hat.
Im Schema diesen View als Datenbanktabelle einbinden (das muss wahrscheinlich manuell geschehen, indem man das Schema extern bearbeitet. Du kannst aber die bereits vorhandene Tabelle als Vorlage nehmen. Entweder kopieren oder (wenn die kompletten Daten nicht benรถtigt werden) den dbname auf den des Views รคndern. Im View nicht vorhandene Spalten entfernen). Dann eine Tabellenvorlage beruhend auf dem View erzeugen und die Datensรคtez aus dieser in der Combobox zur Auswahl anbieten.
Das klingt komplizierter als es ist ;), auch wenn es ein paar kleinere Fallstricke gibt (z.B. dass das XML valide bleiben muss). deshalb unbedingt das Original-XML sichern, damit Du immer wieder darauf zurรผckgehen kannst.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Holger
Alles klar. Dann muss ich mir den jeweiligen Key der Marke liefern lassen. Die Daten werden aus einem Drittsystem via XML in unsere DB geschrieben und dann รผber FS ausgegeben.
Ich DANKE Dir und viele Grรผsse
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Thomas,
ich wรผrde das so machen:
In der Datenbank einen View einbinden, der den gewรผnschten Inhalt hat.
Im Schema diesen View als Datenbanktabelle einbinden (das muss wahrscheinlich manuell geschehen, indem man das Schema extern bearbeitet. Du kannst aber die bereits vorhandene Tabelle als Vorlage nehmen. Entweder kopieren oder (wenn die kompletten Daten nicht benรถtigt werden) den dbname auf den des Views รคndern. Im View nicht vorhandene Spalten entfernen). Dann eine Tabellenvorlage beruhend auf dem View erzeugen und die Datensรคtez aus dieser in der Combobox zur Auswahl anbieten.
Das klingt komplizierter als es ist ;), auch wenn es ein paar kleinere Fallstricke gibt (z.B. dass das XML valide bleiben muss). deshalb unbedingt das Original-XML sichern, damit Du immer wieder darauf zurรผckgehen kannst.
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Holger
Danke fรผr den Tipp. Ich bin auch schon ziemlich weit mit der Umsetzung. Ich habe eine View erstellt. Ich habe versucht das Schema extern zu bearbeitet und wieder eingebettet. Ich sehe in FirstSpirit in Schema die neue Tabelle. Habe das Formular mit dem Mapping erstellt und auch eine Datenquelle auf basis der neuen Tabelle erstellt.
Das Problem ist nun, dass ich keine Datensรคtze sehe. Auf der Datenbank selber sehe ich Datensรคtze.
Schema:
<xs:complexType dbName="sfs_inserate_marke" name="sfs_inserate_marke" readonly="1">
<xs:sequence>
<xs:element dbName="MARKE" javaType="java.lang.String" length="50" name="Marke" nullable="1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
Ich kann leider keine Bilder einbetten. Aber vielleich siehst du den Fehler.
Grรผsse. Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Thomas,
der View heiรt in der Datenbank sfs_inserate_marke? Wenn ja, hat er eine Spalte, die als "PseudoPrimaryKey" verwendet werden kann? Wenn das XML vollstรคndig ist, ist die Antwort "nein"
[die Spalte wird gebraucht, da wir FS vorspiegeln mรผssen, dass es eine "echte" Datenbanktabelle ist]. Die Spalte sollte idealerweise keine Daten enthalten, die du spรคter ausgeben willst.
Anschlieรend muss die Spalte FS noch als primary key im Schema bekannt gemacht werden, beispielsweise so:
<xs:key dbName="pk_sfs_inserate_marke" name="pk_sfs_inserate_marke">
<xs:selector xpath="sfs_inserate_marke"/>
<xs:attribute xpath="<eindeutiger-Identifier>"/>
</xs:key>
Helfen dir die Hinweise weiter?
Anmerkung: Ich habe einen View das letzte Mal vor 10 Jahren oder so eingebunden. Ich bin da ein bisschen eingerostet ๐ Leider kann ich nicht ausschlieรen, dass ich im Moment etwas รผbersehe...
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Holger
Vielen lieben DANK fรผr deinen Tipp. Ich habe nun Daten im FirstSpirit ๐
Ich kann auch รผber die " <CMS_INPUT_COMBOBOX" die Daten zugreifen. Ich frage mich nun nur noch, was wird eigendlich in FS gespeichert. Der MARKEN_KEY oder die MARKE.
Da die View den Key erstellt, kรถnnte dieser sich ja รคndern und dann wรคren die falschen Daten auf dem FirstSpirit Template gesetzt.
SELECT
ROW_NUMBER() OVER(ORDER BY (MARKE) ASC) MARKEN_KEY,
sfs_inserate_erecruiting.MARKE
FROM sfs_inserate_erecruiting
GROUP BY
sfs_inserate_erecruiting.MARKE
Grรผsse. Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Thomas,
es wird der Key gespeichert. In der Datenbank muss also sichergestellt werden, dass der Key eindeutig der Marke zugeordnet werden kann.
Aus technischer Sicht "glaubt" FirstSpirit, dass eine Datenbanktabelle (und kein View) angebunden ist. Da die Referenz bei redaktionellen รnderungen in der Datenbank nicht kaputt gehen darf, benutzt FirstSpirit grundsรคtzlich technische, mรถglichst unverรคnderliche Referenzen (bei FirstSpirit Datenquellen werden deshalb inzwischen die GIDs verwendet, die auch nach einem Datensatz-Transfer erhalten bleiben).
Fรผr den Anwendungsfall hier ist das zwar unschรถn, allgemein aber das gewรผnschte Verhalten. Kannst Du in der Datenbank aus den Marken eine UUID erzeugen und die Spalte als Identifier in FirstSpirit angeben?
[ACHTUNG: รnderungen an der Identifier Spalte fรผhren natรผrlich dazu, dass bereits gespeicherte Referenzen ungรผltig werden!]
Viele Grรผรe
Holger
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Holger
Alles klar. Dann muss ich mir den jeweiligen Key der Marke liefern lassen. Die Daten werden aus einem Drittsystem via XML in unsere DB geschrieben und dann รผber FS ausgegeben.
Ich DANKE Dir und viele Grรผsse
Thomas

