[gelöst] XML-Export Filter

5. Juli 2011 14:55

Hallo Leute,
ich bräuchte mal Hilfe bei einem XML-Export.

Ich muss Adressen exportieren die ein bestimmtes Kennzeichen haben. In diesem konkreten Fall muss das Feld "Club Member" auf "YES" stehen.

Es gibt Personenkontakte, ohne dieses Merkmal, die zu einem Unternehmen gehören beim dem das Merkmal gesetzt ist.
Diese Personen sollen aber auch exportiert werden.

Ich stoße ganz derbe an meine Grenzen.

Die XML Struktur sieht so aus:

<root>
____<Kontakt>
________<Adressdaten>
________<Adressdaten>
________<Adressdaten>
________ …

Auf den Eigenschaften von <Kontakt> habe ich folgendes gesetzt:
SourceTableView --> SORTING(No.) ORDER(Ascending) WHERE(Club Member=FILTER(Yes))

Ganz klar, dass ich die Personen die "Club Member" nicht gesetzt haben, aber zu einem "Club Member" Unternehmen gehören nicht exportiert werden.

Aber wie kann ich das machen???????????

Vielen Dank schon mal im Voraus für eure Unterstützung

Gruß
Marc
Zuletzt geändert von Schureck am 12. Juli 2011 16:40, insgesamt 1-mal geändert.

Re: XML-Export Filter

8. Juli 2011 08:02

Also an sich würde ich das anders lösen, aber um es dir relativ einfach zu machen: entferne den Filter auf "Club Member". Jetzt werden ja alle Kontakte durchlaufen.

Jetzt noch eine Variable anlegen: Name: Cont, Datatype: Record, Subtype: 5050 Contact

Im "Export::OnAfterGetRecord"-Trigger der Tabelle Kontakt fügst du folgende Zeilen Code ein:
Code:
Cont.GET("Company No."); //Holt immer den Unternehmenskontakt
IF NOT Cont."Club Member" THEN
  currXMLport.SKIP;

Das bräuchtest du an sich natürlich nur für Personenkontakte zu machen, für Unternehmenskontakte kann du das Feld "Club Member" ja direkt auswerten, aber der obige Code funktioniert trotzdem, weil im Feld "Company No." auch bei Unternehmen nochmal die Kontaktnr. enthalten ist.

Edit: was auch noch recht einfach wäre: ein neues FlowField in der Tabelle Kontakt "Is Club Member", Type "Boolean" und als CalcFormula "Lookup(Contact."Club Member" WHERE (No.=FIELD(Company No.)))"
Dann kannst du wieder deinen Filter im XML-Port setzen, dann natürlich auf das neue FlowField

Re: XML-Export Filter

12. Juli 2011 16:40

Hallo Tim,

das hat super geklappt.

Als ich das hatte musste ich nun noch alle Unternehmen exportieren, die eine Person haben die Mitglied sind.

Also habe ich zwei FlowFields erstellt.

1. Unternehmen ist Mitglied also auch die Personen
2. Person ist Mitglied also auch das Unternehmen

Was ich nicht hin bekommen habe war im CalcFormula den Lookup zu verodern.

Ist das Möglich? Wenn ich mehrere Zeilen im Table Filter setze verUndet NAV die Bedingungen ja.

Also ja habe ich jetzt eine Kombination aus beiden und es klappt.

Danke,

Gruß
Marc