====== LoadDocumentByOid ======
Die Mappingfunktion **LoadDocumentByOid()** ermöglicht den Zugriff auf einen anderen Dokumenttypen((Nicht zu verwechseln mit dem [[prozessdefinition:jobs:jobsteps:allgemein:multientitytransformer]])) innerhalb der gleichen Nachricht der gerade geladenen Entität.
Theoretisch kann ein beliebiges Dokument aus eBiss heraus geladen werden((Vorausgesetzt man kann die Oid ermitteln!.)) um Beispielsweise Daten, die aus mehr als einer Quelle kommen, in ein Zieldokument zu schreiben.
===== Verwendung =====
LoadDocumentByOid(['Oid'])
{{:images:sign_warning.png?nolink|}}**Hinweis:** Als Parameter muss eine gültige DocumentOid((Oid = eine von eBiss systemweit eindeutig vergebene **O**bjekt **Id**entifikation für einen Datensatz in der eBiss Datenbank.)) verwendet werden.
Die Funktion liefert anderenfalls .
===== Beispiel =====
Eine Nachricht((Z.Bsp.: jeweils in einer Mail mit 2 gezippten Anhängen)) 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 **Oid**((Oid = eine von eBiss systemweit eindeutig vergebene **O**bjekt **Id**entifikation für einen Datensatz in der eBiss Datenbank.)) 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.
{{:images:sign_warning.png?nolink|}}**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.