Inhaltsverzeichnis

LoadDocumentByOid

Die Mappingfunktion LoadDocumentByOid() ermöglicht den Zugriff auf einen anderen Dokumenttypen1) innerhalb der gleichen Nachricht der gerade geladenen Entität. Theoretisch kann ein beliebiges Dokument aus eBiss heraus geladen werden2) um Beispielsweise Daten, die aus mehr als einer Quelle kommen, in ein Zieldokument zu schreiben.

Verwendung

LoadDocumentByOid(['Oid'])

Hinweis: Als Parameter muss eine gültige DocumentOid3) verwendet werden. Die Funktion liefert anderenfalls <null>.

Beispiel

Eine Nachricht4) beinhaltet ein File mit der Lieferung, und ein File mit den Preisstammdaten. Dies werden von einem Empfangskanal geholt und automatisch entpackt. Im EIngangsmapping können nun die Preise zu den Lieferungsdaten nachgeschlagen werden.

Die Oid5) ermittelt man mit Hilfe der GetMessage() Funktion. In Beispiel Fall will man das Dokument das innerhalb derselben Nachricht und vom Typ LSB ist.
Man ermittelt also zunächst die Oid mit:

GetMessage()/Documents[ @DocumentType = ‚LSB‘ ]/@Oid

und schreibt den wert in eine Variable, z.Bsp. $oid Dann kann man mit

LoadDocumentByOid($oid)

das zweite Dokument in eine abstrakte Variable z.Bsp.: $$refDoc instanziieren und die richtige Zeile aus der Variable refDoc zur Preisermittlung ermitteln:

//hinweis: Variable wird mit nur einem "$" aufgerufen
$refDoc/Lines[ @ArtNr = $artNr ]/@SuggestedRetailPrice

und in das Zielelement, hier z.Bsp.: SuggestedRetailPrice wegschreiben.

Hinweis: Die Funktion kann interaktiv im Debugger ausgeführt werden. Eine zuvor ermittelte Oid kann man als Konstante verwenden. Das Funktionsergebnis wird als Baum im linken Fenster des Mappingeditors wie gewohnt im Tab Ergebnis ausgegeben.

1)
Nicht zu verwechseln mit dem MultiEntityTransformer
2)
Vorausgesetzt man kann die Oid ermitteln!.
3) , 5)
Oid = eine von eBiss systemweit eindeutig vergebene Objekt Identifikation für einen Datensatz in der eBiss Datenbank.
4)
Z.Bsp.: jeweils in einer Mail mit 2 gezippten Anhängen