SOG-Helpcenter Logo SOG Business - Software

Optimierung von XmlInfo Abläufen


Durch das Definieren von benannten Objekten, können Abläufe in XmlInfo optimiert werden.
Beispiel:

    <Feld NameExtern="BezGer1" NameIntern="#obj::GetArtikelBezeichnungen(1,#obj:AuftragsLeitsatz.m_konto,'ger',0).#index:0.m_bez" />
    <Feld NameExtern="BezGer2" NameIntern="#obj::GetArtikelBezeichnungen(1,#obj:AuftragsLeitsatz.m_konto,'ger',0).#index:1.m_bez" />
    <Feld NameExtern="BezGer3" NameIntern="#obj::GetArtikelBezeichnungen(1,#obj:AuftragsLeitsatz.m_konto,'ger',0).#index:2.m_bez" />

In diesem Beispiel sollen aus einer Liste von Artikelbezeichnungen, die ersten 3 Zeilen als Datenfelder "BezGer1" bis "BezGer3" ausgegeben werden.
So wie die Beschreibung oben erfolgte, muss die Liste von Artikelbezeichnungen 3 Mal aufgebaut werden, um dann jeweils nur einen Datensatz herauszuziehen, um diesen zur Ermittlung der Eigenschaft "m_bez" zu verwenden.

Optimaler kann dies definiert werden, indem die Ergebnisliste einmal aufbereitet, und einem bennanten Objekt zugewiesen wird.
Anschließend kann man sich mehrfach auf diese Liste beziehen, ohne das die Funktion "GetArtikelBezeichnungen" dafür erneut aufgerufen werden müsste.

    <Feld NameExtern="" NameIntern="#obj::GetArtikelBezeichnungen(1,#obj:AuftragsLeitsatz.m_konto,'ger',0)" ObjName="Liste1" />
    <Feld NameExtern="BezGer1" NameIntern="#obj:Liste1.#index:0.m_bez" />
    <Feld NameExtern="BezGer2" NameIntern="#obj:Liste1.#index:1.m_bez" />
    <Feld NameExtern="BezGer3" NameIntern="#obj:Liste1.#index:2.m_bez" />

Das Ergebnis sollte das Selbe sein. Die Ermittlung ist aber performanter.