ewx hat geschrieben:wenn du nicht im Voraus ermitteln kannst, wieviele Sätze du übergibst, dann musst du ja aber irgendwie anders ermitteln können, ob noch Daten für den nächsten Aufruf vorhanden sind. Und wenn du so eine Art Pufferung für den nächsten Zugriff baust und sozusagen die Daten für den nächsten aufruf schon vorliest und im Speicher hältst. Sind keine Daten mehr da, machst du deine Abschlussroutine...
Nunja,nicht so ganz.
Der Extraktor wird, logischerweise, in einem User_Exit gerufen. Dieser User_Exit hat eben als Datentabelle immer ein Paket. Aber die Info wieviel da noch kommen steht ja nirgends. Das macht ja das Programm...wenn nix mehr zu verarbeiten dann gehts weiter. Da wo der Exit gerufen wird, ist evtl. bekannt wieviel Daten kommen...aber darauf hab ich keinen zugriff.
Mein Extraktor nimmt nur die Datentabelle, welche der User_Exit 'im Bauch' hat. und verarbeitet die Sätze, so dass im BW brauchbare Daten ankommen. Es wird nix gepuffert oder dergleichen.
babap hat geschrieben:
Hallo,
nur mal so eine kleine Frage:
Ich habe auch schon Extraktoren programmiert, aber da war nach Bereitstellung und Ablieferung der Daten, egal in wieviel Paketen, der Job erledigt und es war keine "Nacharbeit" erforderlich.
Die Aggregation, Einzel- oder Sammelverfolgung ob alles "drüben" ist, steuert doch meines Wissens das BW.
Was machst Du in der Nachverarbeitung??
Interessiert mich halt.
Gruß
babap
Kurz erklärt, die FI Daten die ins BW kommen müssen für BW aufbereitet werden. Das ist die Standardaufgabe des Extraktors. Nun wurde festgestellt, dass es Buchungen auf Konten gibt, die zwar richtig gebucht wurden, aber diese Buchungen müssen anhand des gesamtsaldos einer bestimmten Meldeposition zugeordnet werden. Dies wäre einfach, wenn man in jedem Datenpaket alle Sätze zu einem Konto stehen hat. Aber bei den Datenpakete die in den Extraktor laufen, sind zu einem Konto nicht alle Sätze in einem Datenpaket sondern evtl. auf 2 oder mehr Pakete verteilt.
Also muss ich mir zu den bestimmten Konton die Infos merken, und ganz am schluss der verarbeitung aller Pakete nochmal eine logik anstarten um diese besagten konten der richtigen meldeposition zuzuordnen.
Sorry wenn ichs zu kompliziert erklärt hab, bin hier etwas unter Zeitdruck.
Gruß
Markus