Dateiupload mehrerer Files

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Dateiupload mehrerer Files

Beitrag von whaslbeck (ForumUser / 61 / 12 / 7 ) »
Hallo,

ich hab hier einen ABAP der die Ablage/Zuordnung/Klassifizierung von Files (PDF) vornimmt.
Die User haben zwei Möglichkeiten, ein oder mehrere PDFs vom SAPGUI zum ApplicationServer hochzuladen:
=> Drag'n'Drop aus Windows auf ein cl_gui_alv_grid mit einem Handler für drop_external_files
=> Über einen Button der den Upload über cl_gui_frontend_services=>gui_upload anstößt

funktioniert soweit sehr gut - aber leider kommt es bei beiden Upload-Möglichkeiten immer wieder mal vor, das beim Upload eine Exception fliegt, die ich nicht abfangen kann:
In dem Programm "SAPLOLEA" wurde durch eine RAISE-Anweisung die Exception (Ausnahmebedingung) "SYSTEM_FAILURE" ausgelöst. Da die Exception nicht durch ein in der Aufrufhierarchie darüber liegendes Programm abgefangen ist, wurde die Verarbeitung abgebrochen.

Kurztext zur Ausnahmebedingung:

SYSTEM_FAILURE for global flush mode

Eine ausführliche Dokumentation der Ausnahmebedingung finden Sie über Transaktion SE37 (Funktionsbibliothek). Den gerufenen Funktionsbaustein können Sie der Anzeige der aktiven Aufrufe entnehmen.
Eine Suche im OSS hat mich auch nicht schlauer gemacht. Dort gibt es ein Paar Hinweise in diese Richtung (das Problem tritt wohl auch in die andere Richtung - vom Server zum GUI - auf, z.B. bei Frontenddruck von größeren Datenmengen), aber die Lösungsansätze von SAP gehen in die Richtung "machen Sie das nicht, die Verbindung SAPGUI<>AppServer ist nicht für größere Datenmengen gemacht"

Kennt jemand einen anderen Weg, Binärdaten stabil (und für den Enduser möglichst komfortabel) von SapGui zum AppServer zu bekommen?

Oder alternativ diese Exception abzufangen? (Die SYSTEM_FAILURE wird in Funktionsbaustein AC_FLUSH_CALL_INTERNAL ausgelöst aber vom Aufrufenden Baustein AC_FLUSH_CALL nicht abgefangen - gibts da irgend einen Weg das zu catchen?)

Walter

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


Re: Dateiupload mehrerer Files

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Das ist eine Exception in der Kommunikation vom Applikationsserver an den SAPgui. Konkret wird hier um die Performance zu erhöhen mit Paketen gearbeitet, sprich es werden solange die Befehle "gesammelt" bis es mit einem sog. Flush zur Übertragung aller Befehl auf einmal kommt. Da man nun nicht mehr einen einzelnen Aufruf einem Aufruf im ABAP-Programm zuordnen kann, kommt dieser nicht wirklich aussagekräftige Kurzdump zustande.

Wenn du die Kommunikation genauer debuggen möchtest musst du die "automatische GUI-syncrone Verarbeitung" einschalten (Menü > System > Hilfsmittel). Aber Achtung, das zieht die Performance des GUI ziemlich runter und sollte danach wieder ausgeschalten werden.
ALs Ergebnis bekommst du dann einen Kurzdump mit der genauen Aufrufstelle in deinem Coding.

Da der besagte Fehler eben auftritt, tippe ich mal drauf, dass dein Dateiupload nicht schuld daran hat, sondern, was du danach damit anstellst. z.B. dem ALV-Grid "ungültige" Daten übergeben oder einen Endlos-Loop mit der ALV-Grid Event-Verarbeitung provozieren (das geht leichter als man glauben möchte)

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Dateiupload mehrerer Files

Beitrag von whaslbeck (ForumUser / 61 / 12 / 7 ) »
Hallo,

Debugging ist schwierig weil es mir ums verrecken nicht gelingt, den Fehler zu provozieren.

Aber dein Tipp mal in Richtung ALV Handling zu sehen, könnte sich als Lösung erweisen:
Der Upload via cl_gui_frontend_services=>gui_upload fand direkt im drop_external_files Eventhandler des ALVs statt. Ich hab das nun so umgebaut, dass im Eventhandler nur die Filenamen in eine Queue geschmissen werden und dann via cl_gui_cfw=>set_new_ok_code ein OK Code gesetzt wird.
Im PAI wird die Queue dann abgearbeitet und die Files ins Backend geschaufelt.

Mal sehen, ob das eine Besserung bringt.

Walter

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4459
Views
Dateiupload auf logischen Pfad
von acidwr » 19.03.2012 15:31 • Verfasst in ABAP® für Anfänger
3
Antw.
1458
Views
Dateiupload mit Apostroph als Trennzeichen
von ch|ma|ra » 29.07.2008 09:52 • Verfasst in ABAP® Core
12
Antw.
4863
Views
Dateiupload von der Festplatte im Batch
von KlausB » 11.09.2007 11:36 • Verfasst in ABAP® Core
11
Antw.
1685
Views
Quellcodeänderung mehrerer Programme
von Ben2408 » 12.06.2019 13:16 • Verfasst in ABAP® Core
2
Antw.
1494
Views
Aufruf mehrerer Programme hintereinander
von mip » 10.04.2008 14:24 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 13 Minuten von msfox 2 / 33
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 13 Minuten von msfox 2 / 33
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141