Extraktor: Anzahl Pakete?

BW, SRM, Berechtigung etc.
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

Extraktor: Anzahl Pakete?

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo Abap-Freunde und BW-Spezis.

Ich muss hier ein Extraktor anpassen und zwar handelt es sich hier um den für FI (newgl) -> BW .

Es muss eine Logik eingebaut werden, welche voraussetzt, dass man alle Daten kennt, welche dem Extraktor übergeben werden. Wie ihr sicherlich wisst, geschieht das immer in Paketen.

Ist es zur Laufzeit möglich, herauszufinden wieviel Pakete verarbeitet werden müssen? So dass man danach abfragen kann und nach beendigung des letzten Paketes noch eine Logik durchläuft um die gewünschten Infos zu bekommen.

Danke für jeden Tip.

Gruß
Markus

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Ich kenne es so, dass die Paketgröße in I_MAXSIZE dem Extraktor übergeben wird... Ist der 0, soll alles übergeben werden...

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Denn musst du dir noch merken, wieviel Daten bereits übergeben wurden und dann weisst du auch, wann du das letzte Paket am Wickel hast...

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
ewx hat geschrieben:Denn musst du dir noch merken, wieviel Daten bereits übergeben wurden und dann weisst du auch, wann du das letzte Paket am Wickel hast...
Hallo Enno,

danke für deine Unterstützung, aber wie merk ich mir den wieviele Daten ich bereits übergeben habe, wenn in I_MAXSIZE '0' steht, wenn alles übergeben wird. Ich kenne den Datenbestand nicht zur Laufzeit...oder steh ich nu auf der Leitung?

Gruß
Markus

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
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...

Beitrag von babap (Expert / 681 / 1 / 1 ) »
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

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
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

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

mein Extraktor ist schon ca. 3. Jahre "her".

Aber soweit ich mich erinnere, ist es möglich, Daten "zwischen" den Paketaufrufen aufzubewahren.

Der Extraktor wird mehrere Male aufgerufen.
Es gibt einen Initialaufruf und Folgeaufrufe.

Man liest beim Initialaufruf erstmal alle Daten aus FI in eine Tabelle und reichert die fehlenden Merkmale und Werte an.

Bei den nächsten Aufrufen werden dann "portionsweise" vom BW die Pakete abgeholt. Und dabei holt man "Blockweise" die Daten aus der Tabelle und schickt sie ans BW.

Dann enthalten die Datensätze im BW alle Merkmale und Werte und die eigentliche Arbeit der Selektion und Aggregation findet da statt, wo sie hingehört, nämlich im BW.

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Vlt macht es mehr Sinn, in dem Userexit die Daten zu sammeln und dann alles am Ende des Tages von BW abholen zu lassen...? In der Regel sind ja die Daten für's BW nicht zeitkritisch... :-)

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
ewx hat geschrieben:Vlt macht es mehr Sinn, in dem Userexit die Daten zu sammeln und dann alles am Ende des Tages von BW abholen zu lassen...? In der Regel sind ja die Daten für's BW nicht zeitkritisch... :-)
Hi Enno,
Hi Babap,

evtl. hift die Info welcher Exit hier gemeint ist.
Es handelt sich hierbei um den Customer-'Exit' '001' im Include 'LRSAPF06'.
Dem wird nur ein Datenpaket übergeben, ich kann also schon im Include des Exits 'ZXRSAU01' nichts 'sammeln' weil nur Pakete ankommen. Deshalb muss ich herausfinden, wieviel Pakete insgesamt kommen werden.

@babap:
Das mit den Initialaufruf und Folgeaufrufe des Extraktors ist mir noch nicht so ganz klar.


Der Start, dass die Daten aus dem FI ins BW kommen ist Jobgesteuert.
Es wird der Job gestartet und als Step 1 läuft 'SBIE0001'.
Das ist ja der eigentliche Extraktor. so hab ich das verstanden.
Dort wird dann anhand der übergebenene Parameter (durch eine Variante) alles selektiert und läuft dann über den genannten Customer-Exit in mein FuBa(mein Extraktor), welcher die Daten anreichert bzw. richtigen Feldern zuweist etc. Aber zu dem Zeitpunkt hab ich ja nur ein Datenpaket von dem großen ganzen.

Irgendwie hab ich langsam das Gefühl, dass mein Vorhaben 'unmöglich' ist. Oder versteh ich nur irgendwas an der Logik der Extraktoren nicht richtig?

Gruß
Markus

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

jetzt ist mir klar, Du versuchst im Standard-Extraktor den User-Exit zu benutzen, um Deine Funktion zu realisieren.

Was ich oben schrieb, bezieht sich auf einen gänzlich selbst geschriebenen Extraktor. (hilft hier wohl nicht, sorry!)

Gruß
babap

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
babap hat geschrieben:Hallo,

jetzt ist mir klar, Du versuchst im Standard-Extraktor den User-Exit zu benutzen, um Deine Funktion zu realisieren.

Was ich oben schrieb, bezieht sich auf einen gänzlich selbst geschriebenen Extraktor. (hilft hier wohl nicht, sorry!)

Gruß
babap
Hallo babap,

zum einen freut es mich, dass ichs dann doch verstanden hab, zum anderen ist es schade...weil ich dann wohl doch richtig mit meiner Vermutung liege, dass mein Vorhaben nicht realisierbar ist... ausser ich schreib den Extraktor komplett...was aber nicht machbar sein dürfte, da hier zuviel an dem dranhängt.


Irgendeiner nen Tip, wie ich mein Vorhaben hinbekommen könnte...ohne einen eigenen Extraktor entwickeln zu müssen?

Gruß
Markus

Seite 1 von 1

Vergleichbare Themen

6
Antw.
4373
Views
Hilfe! Pakete und Paketschnittstellen...
von ewx » 04.02.2014 17:53 • Verfasst in ABAP® Core
2
Antw.
274
Views
ABAP - Organisation der Pakete
von Ingo » 30.01.2020 09:19 • Verfasst in ABAP® für Anfänger
0
Antw.
1314
Views
Pakete anlegen / auslesen
von Gast » 15.09.2005 15:10 • Verfasst in Material Management & Produktionsplanung
0
Antw.
930
Views
importierte Pakete finden
von Interisti » 14.12.2006 10:10 • Verfasst in ABAP® für Anfänger
3
Antw.
8400
Views
Formulare in Pakete verschieben?
von b0rsti » 18.04.2008 12:13 • Verfasst in SAP - Allgemeines

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 584
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2213
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8809