BC14 - XMLPort mit Filter aus anderen Tabelle

14. Juni 2024 10:59

Hallo zusammen,
ich versuche einen XMLPort zu filtern nach einer anderen Tabelle. Der XMLPort enhält größtenteils Felder aus der Tabelle HR_MA. Es gibt aber die zusätzliche Tabelle NAPA_MA der Personalabrechnung.
Key ist in der Tabelle HR_MA das Feld "No." und in NAPA_MA das Feld "Nr".

Gefiltert werden soll nach dem Feld "Status" der Tabelle NAPA_MA. Es sollen nur die Datensätze ausgegeben werden, die in NAPA_MA auch den Statis "Aktiv" (Optionsfeld) besitzen.

Mein Versuch des ganzen, was jedoch nicht funktioniert da mir immer alle Datensätze aus HR_MA ausgegeben werden.

Code:
HR_MA - Export::OnPreXMLItem()
WITH HR_MA DO BEGIN
  NAPA_MA.RESET;
  NAPA_MA.SETCURRENTKEY(Nr);
  NAPA_MA.SETRANGE(Nr, HR_MA."No.");
  NAPA_MA.SETFILTER(Status, 'Aktiv');
  IF FINDSET THEN BEGIN
    REPEAT
      HR_MA.MARK (TRUE);
    UNTIL NEXT = 0;
  END ELSE
    currXMLport.SKIP;
NAPA_MA.MARKEDONLY(TRUE);
END;


Hat jemand einen Hinweis für mich?
Viele Grüße

Re: BC14 - XMLPort mit Filter aus anderen Tabelle

14. Juni 2024 11:41

Du bist im falschen Trigger, wenn du mit der "No." des aktuellen Datensatzes filtern willst dann müsste das im OnAfterGetRecord passieren.

Re: BC14 - XMLPort mit Filter aus anderen Tabelle

14. Juni 2024 11:59

Das ist mir gar nicht aufgefallen, danke für den Hinweis. Ich denke damit kann ich arbeiten.