feddersen
Community Manager
Community Manager

Re: ContentSelect und XML-Feld

Jump to solution

Handelt es sich hier um eine von FirstSpirit verwaltete Datenquelle oder um eine externe Datenbank, die nur lesen angebunden ist?

Prüfen Sie bitte mal in der Datenbank welchen Typ die Spalte hat. Sofern es eine externe Datenbank ist, stimmt vielleicht der Typ in der Datenbankschema-XML noch nicht.

0 Kudos
Prinzessin
I'm new here

Re: ContentSelect und XML-Feld

Jump to solution

Es handelt sich um zwei Datenbanken:

1. "further_content" ist eine interne Datenquelle von Firstspirit:

bild1.gif

XML-Schema der Tabelle "kompetenzen" zu der das betroffene GUI-Element (Combobox) gehört:

<xs:complexType dbName="KOMPETENZEN" name="kompetenzen">

            <xs:sequence>

                <xs:element dbName="CHANGED_BY" hidden="1" javaType="java.lang.Long" name="changed by" nullable="1" type="xs:long"/>

                <xs:element dbName="FK_KOMPETENZ" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="fk_kompetenz" nullable="1" type="xml"/>

                <xs:element dbName="FS_GID" hidden="1" javaType="java.util.UUID" length="16" name="FS_GID" nullable="1" readonly="1" type="xs:uuid"/>

                <xs:element dbName="FS_ID" hidden="1" javaType="java.lang.Integer" name="fs_id" type="xs:long"/>

                <xs:element dbName="LINK_DE" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="link_DE" nullable="1" type="xml"/>

                <xs:element dbName="LINK_EN" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="link_EN" nullable="1" type="xml"/>

                <xs:element dbName="NAME_DE0" javaType="java.lang.String" length="500" name="name_DE" nullable="1" type="xs:string"/>

                <xs:element dbName="NAME_EN" javaType="java.lang.String" length="500" name="name_EN" nullable="1" type="xs:string"/>

                <xs:element dbName="PICTURE" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="picture" nullable="1" type="xml"/>

                <xs:element dbName="RELEASED_BY" hidden="1" javaType="java.lang.Long" name="released by" nullable="1" type="xs:long"/>

                <xs:element dbName="TEXT_DE" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="text_DE" nullable="1" type="xml"/>

                <xs:element dbName="TEXT_EN" javaType="de.espirit.firstspirit.client.editorcomponent.EditorWrapper" length="65535" name="text_EN" nullable="1" type="xml"/>

                <xs:element dbName="WF_COL" hidden="1" javaType="java.awt.Color" name="wf col" nullable="1" type="xs:integer"/>

                <xs:element dbName="WF_ID" hidden="1" javaType="java.lang.Long" name="wf id" nullable="1" type="xs:long"/>

                <xs:element dbName="FS_RELEASE_TO" name="FS_RELEASE_TO" type="xs:long" visible="0"/>

                <xs:element dbName="FS_VALID_FROM" name="FS_VALID_FROM" type="xs:long" visible="0"/>

                <xs:element dbName="FS_VALID_TO" name="FS_VALID_TO" type="xs:long" visible="0"/>

            </xs:sequence>

        </xs:complexType>

2. extern angebundene mysql-Datenbank mit Tabelle "t_pdb_kompetenzen":

bild2.gif

XML-Code dazu:

<xs:complexType dbName="t_pdb_kompetenzen" name="TPdbKompetenzen" readonly="1">

            <xs:sequence>

                <xs:element dbName="name" javaType="java.lang.String" length="255" name="Name" type="xs:string"/>

                <xs:element dbName="sys_del" javaType="java.lang.String" length="2" name="SysDel" type="xs:string"/>

                <xs:element dbName="sys_dlm" javaType="java.util.Date" length="19" name="SysDlm" type="xs:date"/>

                <xs:element dbName="sys_doc" javaType="java.util.Date" length="19" name="SysDoc" type="xs:date"/>

                <xs:element dbName="sys_klm" javaType="java.lang.Integer" length="10" name="SysKlm" type="xs:integer"/>

                <xs:element dbName="sys_koc" javaType="java.lang.Integer" length="10" name="SysKoc" type="xs:integer"/>

                <xs:element dbName="sys_pk" javaType="java.lang.Integer" length="10" name="SysPk" type="xs:integer"/>

                <xs:element dbName="sys_state" javaType="java.lang.Integer" length="3" name="SysState" type="xs:integer"/>

            </xs:sequence>

        </xs:complexType>

        <xs:key autoIncrement="1" dbName="primary" name="PRIMARY">

            <xs:selector xpath="TPdbKompetenzen"/>

            <xs:attribute xpath="SysPk"/>

        </xs:key>

Die Abfrage, die ich ausführen möchte, betrifft die interne FirstSpirit Datenbank.

0 Kudos
feddersen
Community Manager
Community Manager

Re: ContentSelect und XML-Feld

Jump to solution

Wieso FK_KOMPETENZ vom Typ de.espirit.firstspirit.client.editorcomponent.EditorWrapper?

Ich hätte jetzt java.lang.Integer erwartet, wenn es sich um einen Fremdschlüssel handelt.

EditorWrapper ist der Typ für Spalten die komplexe Eingabekomponenten enthalten. Also DOM-Editor, FS_LIST etc.

0 Kudos
Prinzessin
I'm new here

Re: ContentSelect und XML-Feld

Jump to solution

Das Feld hat diesen Typ, da ich in der Auswahlliste nur bestimmte Einträge zur Verfügung habe, wenn ich in der internen Datenbank-Tabelle eine Spalte auswähle.

Wenn ich eine Combo-Box oder ein FS-LIST Element darauf mappen möchte, muss ich "FirstSpirit Editor" als Spaltentyp auswählen.

Ich habe nun das Feld "fk_kompetenz" in ein Integer-Feld geändert, aber kann nun keine FS-LIST oder Combo-Box mehr darauf mappen:

bild1.gif

bild2.gif

0 Kudos
feddersen
Community Manager
Community Manager

Re: ContentSelect und XML-Feld

Jump to solution

Kann es sein das es sich hier um die selbst gebauten "Fremdschlüssel" handelt, die in anderen Threads hier behandelt wurden? Das sind ja nur fachliche Fremdschlüssel, die technisch nicht als Foreign-Keys in der Datenbank modelliert wurden.

Das könnten Sie lösen, indem sie sich alle ausgewählten Werte aus der Combobox auslesen und für diese Ids eine passende Abfrage zusammen bauen.

Also eine Abfrage mit EQ-Statements für jede ausgewählte Id.

<OR>

<EQ attribute="fk_kompetenz" parameter="1"/>

<EQ attribute="fk_kompetenz" parameter="123"/>

<OR>

Wie sie in einem Skript ein Select erzeugen können, ist unter contentSelect mit dynamischem entityType möglich? beschrieben.

0 Kudos