Upload mit Unterdrückung von Doppeleinträgen ??

Getting started ... Alles für einen gelungenen Start.
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

Upload mit Unterdrückung von Doppeleinträgen ??

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo,

ich bin auf der Suche nach einem Funktionsbaustein, mit dem ich eine Textdatei in eine interne Tabelle einlesen kann, aber Doppeleinträge überlesen, bzw. nicht in die Tabelle übernommen werden.

Hintergrund: Ich muß Ascii-Dateien einlesen, die ca. 20 MB groß sind und mindestens 70% Müll (Doppeleinträge) enthalten. Aus Performancegründen würde ich gerne auf den Funktionsbaustein 'UPLOAD' verzichten, da ich anschließend die Tabelle ja noch mal zeitaufwendig umschaufeln müßte.

Gibt's so einen ????

Bis denne.
SkyHobbit

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


Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Öhhm...

Dann ist das aber die falsche Stelle um die Einträge zu löschen. Der Baustein kann ja nur prüfen, was zum App-Server bereits hochgeladen wurde, d.h. der Datentransfer findet immer statt.

Wenn Du Performance sparen willst musst Du die doppelten Daten vorab sieben...

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Haubi,

ich habe eine Datei, deren Inhalt ich nicht beeinflussen kann, deren Inhalt aber für die Verarbeitung überflüssige Zeilen enthält, d.h. es sind identische Zeilen vorhanden, die ich nur einmal übernehmen will.

Den Weg den ich gehen müßte ist ein Upload der Datei in eine interne Tabelle, dann ein Loop über die Tabelle um die Einträge per COLLECT in die entgültige Tabelle zu schreiben.

Bei meiner Testdatei, die nur 1MB groß ist und nur 12000 Zeilen enthält, dauert die ganze Aktion gut 10 Sekunden. Da die eigentlichen Dateien gut 20 MB groß sind, dauert das zu lange.

Deshalb bin ich auf der Suche nach einem Funktionsbaustein, der das ganze in einem Rutsch erledigt und so entsprechend schneller ist.

Ich hoffe mich jetzt besser ausgedrückt zu haben :wink:

Bis denne.
SkyHobbit

Beitrag von schwan (ForumUser / 22 / 0 / 0 ) »
Hallo

Versuch es doch mal mit:

SORT i_tab.
DELETE ADJACENT DUPLICATES FROM itab.


Gruß
Sabine

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Schwan,

das sieht schon ganz gut aus -> geht recht fix. Da ich davon ausgehe, daß es für mein spezielles Problem kein fertigen FuBa gibt, werde ich Deinen Vorschlag jetzt übernehmen.

Danke für die schnelle Hilfe.

Bis denne.
SkyHobbit

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Hmm, Du musst die Daten aber erstmal zum App-Server bekommen bevor irgendeine SAP-Logik greift, d.h. Du lädst auf jeden Fall die gesamten 20MB hoch.

Da Du mit COLLECT arbeiten willst sollen nicht doppelte Daten verworfen werden sondern es wird vielmehr aggregiert. Das lässt sich entsprechend hervorragend im SAP machen.

Sollten die Einträge im File tatsächlich komplett identisch sein und Du brauchst offensichtlich nur einen Bruchteil der daten muss man das doch irgendwie "vorher" (also vor dem Upload) eliminieren können, und sei es durch irgendein Skript das die Datei sortiert und eindampft.

/edit: das klingt jetzt aber so, als wäre die Zeit nicht beim Upload sondern durch die COLLECT's verlorengegangen... :o

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Fuba WS_UPLOAD hat zwei Übergabeparameter:
USER_FORM
USER_PROG

Damit kannst du eine Routine angeben, die in deinem Programm liegt. Diese Routine wird für jeden gelesenen Satz angesprungen. Du kannst dann prüfen, ob du den Satz schon hattest...

Ob das allerdings schneller geht... :o

Großer Vorteil wäre, dass du nicht die 20MB Datei komplett laden musst...

Gruß,
Enno

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo,

das wäre ja auch was, nur in der Fuba-Doku steht zu den beiden Parametern:
DO NOT USE: SAP-INTERNAL USE ONLY !!
Muß oder sollte ich das ernst nehmen und was ist mit Releasewechseln. Wir sind zur Zeit auf 4.6C und werden wohl bald auf ERP umsteigen. Gibt's da WS_Upload noch ?? Hier im Forum kann man ja lesen dieser FuBa sei veraltet ?!?!

Bis denne.
Skyhobbit

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi Skyhobbit!
SkyHobbit hat geschrieben:Wir sind zur Zeit auf 4.6C und werden wohl bald auf ERP umsteigen. Gibt's da WS_Upload noch ??
Normalerweise schmeisst die SAP keine Bausteine raus. Es kann höchstens passieren, dass du bei einer Supportanfrage als Antwort zurückbekommst: "Wird nicht mehr unterstützt; bitte verwenden Sie xyz.".

Wenn man sich strikt daran halten würde, nur freigegebene Funktionen zu benutzen (Weil das ist auch indirekt ein Hinweis auf "SAP INTERNAL USE ONLY..."), dann hätte ich wahrscheinlich die Hälfte aller Funktionsbausteine/ Methoden nicht benutzen dürfen...

Wenn es sich vermeiden lässt, dann würde ich die SAPINTERNALUSEONLY-Funktionen nicht verwenden. Wenn sich allerdings herausstellt, dass die Methode zehnmal schneller ist, dann sofort.

Im Grunde bedeutet es "nur", dass die SAP nicht für falsche Verarbeitungen gerade steht, keinen Support auf diese Funktionen leistet und die Funktionalität selbst durch SAP geändert werden kann.

War glaube ich etwas durcheinander, aber ich hoffe, du hast mich trotzdem verstanden.

Gruß,
Enno.

PS: Ausserdem macht das doll Eindruck auf Kollegen, wenn man SAPINTERNALUSEONLY-Funktionen verwendet!!! Kommt gleich nach SYSTEM-CALLS!! :wink:

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Enno,

danke für Deine Ausführungen (waren durchaus verständlich :wink: ) ... dann probier ich mich mal an dem Fuba.

Bis denne.
Skyhobbit

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1247
Views
RPCEDTx0 Unterdrückung Protokoll
von selina27 » 05.08.2011 08:50 • Verfasst in Human Resources
3
Antw.
3927
Views
PDF Upload
von kaim77 » 26.06.2012 16:16 • Verfasst in ABAP Objects®
1
Antw.
1966
Views
Excel upload
von will » 07.11.2005 11:30 • Verfasst in ABAP® für Anfänger
2
Antw.
2320
Views
Excel upload
von will » 25.10.2005 16:31 • Verfasst in ABAP® für Anfänger
1
Antw.
1343
Views
CSV-Upload Innenauftragsbeplanung
von tml » 12.01.2007 12:48 • Verfasst in Financials

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

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.

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 20 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822