[gelöst] XML Port Element nicht ausgeben

5. Oktober 2010 09:45

Hallo,
bin neu hier :-D

Ich habe einen XML Port mit folgender STruktur:
>        <ITEM>
>                                  <NO>D804160</NO>
>                <SALESPRICE PNO="1">
>                      <VARIANT_CODE>L</VARIANT_CODE>
>                      <DESC>NIRVANA BUTTON SET P1</DESC>
>                      <PRICE>0.0</PRICE>
>                </SALESPRICE>
>                <SALESPRICE PNO="2">
>                      <VARIANT_CODE>L</VARIANT_CODE>
>                      <DESC>NIRVANA BUTTON SET P2</DESC>
>                      <PRICE>0.0</PRICE>
>                </SALESPRICE>
>        </ITEM>

Wenn das Element DESC leer ist, so würd das Element beim Export gerne komplett weglassen.

Gibt es da eine Möglichkeit?

Vielen Dank für die Hilfe!
Zuletzt geändert von PhilSan am 6. Oktober 2010 09:20, insgesamt 1-mal geändert.

Re: XML Port Element nicht ausgeben

5. Oktober 2010 09:50

Hallo Philip,

herzlich willkommen im Forum.

Zu deiner Frage:

Die XML-Ports können das so viel ich weiß nicht. Benutzt du allerdings MSXML kannst du das per Report/Codeunit von Hand genauso schnell erstellen, wie mit einem XML-Port. In den NAV-Objekten findest du diverse Beispiele dafür. Dort ist dann auch kein Problem, einzelne Elemente wegzulassen.

Gruß, Fiddi

Re: XML Port Element nicht ausgeben

5. Oktober 2010 12:16

Hmmm, schade.


IF "Item Variant".Description = '' THEN
currXMLport.SKIP

Habe mal die obige SKIP Funktion im OnBeforePassField Trigger getestet. Scheint aber nicht so zu funktionieren.
Kann jmd genaueres zu der Skip Funktion sagen?
Danke!

Re: XML Port Element nicht ausgeben

5. Oktober 2010 13:11

SKIP funktioniert nur im OnAfterGetRecord-Trigger.

Re: XML Port Element nicht ausgeben

5. Oktober 2010 15:43

Ach so, ok danke.
Ist dann wohl nur jeweils für einen kompletten Datensatz möglich und nicht für einzelne Felder richtig?

Re: XML Port Element nicht ausgeben

5. Oktober 2010 21:25

PhilSan hat geschrieben:Ach so, ok danke.
Ist dann wohl nur jeweils für einen kompletten Datensatz möglich und nicht für einzelne Felder richtig?

So ist es. Bei Sonderwünschen wie oben schon gesagt :greenarrow: MSXML :wink:

Re: XML Port Element nicht ausgeben

6. Oktober 2010 09:19

Dann muss der Partner am Ende so damit leben ;-)
Hab mir sagen lassen, MSXML macht heute kein Mensch mehr.

Also kann als gelöst gekennzeichnet werden. Vielen dank für die schnellen, informativen Antworten!

Re: [gelöst] XML Port Element nicht ausgeben

6. Oktober 2010 09:36

PhilSan hat geschrieben:Hab mir sagen lassen, MSXML macht heute kein Mensch mehr.


Das glaube ich eher weniger :-) .

MSXML wird in einer Standard NAV Datenbank über 1000 mal verwendet (Variablendefinitionen) was wesentlich mehr ist als XML-Ports (ca. 50 mal). Selbst wenn ich davon ausgehe, das ich pro XML nutzende Funktion 3 bis 4 MSXML- Variablen benötige, ist das ein erheblicher Unterschied.

Gruß, Fiddi

Re: XML Port Element nicht ausgeben

6. Oktober 2010 09:39

PhilSan hat geschrieben:Dann muss der Partner am Ende so damit leben ;-)
Hab mir sagen lassen, MSXML macht heute kein Mensch mehr.

Wieso nicht, MSXML ist normalerweise immer als Automation Server in Navision verfügbar. Falls nicht, kann man die aktuelle Version hier bekommen.