Hallo,
ich habe mir einen Importer für Datensätze geschrieben. Die werden in eine Datenquelle geschrieben.
Nach der Umsetllung auf FS4.2.219.38784 bekomme ich eine Fehlermeldung bei der Ermittlung einer Refernez auf einen anderen Datensatz einer anderen Datenquelle.
Von dem Datensatz auf den ich die Verlinkung setzen will, habe ich die Datensatz ID und die Datenquelle (die auf der Tabelle .
Um die Verlinkung zu ermitten, habe ich mir eine Methode geschrieben
Übergabewerte an die Methode:
DQ_Name = dq_produkte
formName = cs_NummerVersion
value = 62713
Auszug aus der Methode:
...
try{
ContentStoreRoot cs = (ContentStoreRoot) this.us.getStore(de.espirit.firstspirit.access.store.Store.Type.forName("CONTENTSTORE"), false);
Content2 cSource = (Content2) cs.getContent2ByName(DQ_Name);
EntityType entityType = null;
try{
entityType = (EntityType) cSource.getEntityType();
} catch (Exception et){
...
}
this.debug("gefundene Tabelle: " + entityType.toString());
Session session = cSource.getSchema().getSession();
try{
ListEditorValue editor = null;
editor = (ListEditorValue) importEntityData.get(formName).getEditor();
this.debug("gefundener editor: " + editor.toString());
} catch (Exception E){
...
}
this.debug("\tElement: " + value);
KeyValue kv = new KeyValue(entityType.getName());
this.debug("\tkv: " + kv);
kv.add(""+value);
this.debug("\tadd ok");
Entity dataset = (Entity) session.find(kv);
this.debug("\tdataset: " + dataset);
...
} catch (Exception E) {
this.debug("ERROR setMultiOptionColumn: " + E.getMessage());
...
}
Die Logausgaben (this.debug) ergeben folgendes:
gefundene Tabelle: Produkte
gefundener editor: de.espirit.firstspirit.client.access.editor.ListEditorValueImpl@4430e2
Element: 62713
kv: Entity type: Produkte ()
ERROR setMultiOptionColumn Message: null
Der Fehler tritt also bei
kv.add(""+value);
auf.
Aus dem Stackrtarce (siehe Anhang) werde ich auch nicht schlau.
"Unknown Source" klingt so, als ob er die Datenquelle nicht findet, die ist aber da.
Zumindest erst konnte ich sie über "referenznamen suchen" nicht finden (obwohl der Referenzname stimmte). Ich habe dann die DQ gelöscht (nun wird sie im JavaClient gefunden), aber mein Script liefert immer noch den Fehler.
Hat sich etwas gegenüber der Version 4.1 geändert? in 4.1 funktionierte das ohne Probleme.