Abfangen eines Short-Dumps beim txt File Import

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Abfangen eines Short-Dumps beim txt File Import

Beitrag von Georg3 ( / / 0 / 3 ) »
Hallo ABAP'ler,
ich hätte eine Frage an euch. Dürfte auch eher eine Kleinigkeit für die Experten sein.
Ich importiere in meinem Report ein txt File. Die Daten werden im Report dann weiter erfolgreich verarbeitet.
Jetzt geht es aber um die Exceptions; wenn das File nicht auf dem Applikationsserver liegt, dann bringt er nen Short Dump aufgrund sy-subrc 2 (ist ja logisch).
Ich will jetzt aber diesen Dump vermeiden, und nur eine Message ausgeben, dass die Datei auf dem Server nicht gefunden wurde. Allerdings gelange ich immer noch in's Dump Fenster. Der spätere Anwender sollte diese Meldung besser nicht zu Gesicht bekommen.
Der Quellcode sieht ungefähr so aus...

Code: Alles auswählen.

OPEN DATASET expath FOR INPUT IN TEXT MODE.

  DO.
   READ DATASET expath INTO itab_importbalog.
     if sy-subrc <> 0.
         if sy-subrc = 2.
         message s002 with text-803.
         endif.
       exit.
     endif.
    APPEND itab_importbalog to itab_importbalog2.
  ENDDO.

CLOSE DATASET expath.
Eigentlich würde ich doch sy-subrc 2 abfangen, aber irgendwie nicht erfolgreich.
Falls ich jetzt nen peinlichen Fehler gemacht habe, dann lacht mich bitte nicht aus :oops:

Ich danke euch für eure Unterstützung

Georg3 alias ABAP Beginner

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
die Stelle an der Du den SY-SUBRC prüfst, liegt zuweit hinten und wird durch den READ DATASET überschattet, der den Dump auslöst...

Code: Alles auswählen.

OPEN DATASET expath FOR INPUT IN TEXT MODE. 
* hier muss bereits beim Öffnen der SY-SUBRC geprüft werden, um eine Fehlen der Datei abzufangen
     if sy-subrc <> 0. 
         message s002 with text-803. 
       exit. 
     endif. 

  DO. 
   READ DATASET expath INTO itab_importbalog. 
* hier prüft man, ob der READ erfolgreich war
     if sy-subrc <> 0. 
         if sy-subrc = 2. 
         message s002 with text-803. 
         endif. 
       exit. 
     endif. 
    APPEND itab_importbalog to itab_importbalog2. 
  ENDDO. 

CLOSE DATASET expath. 
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Laufzeitfehler

Beitrag von meinrad (ForumUser / 67 / 0 / 0 ) »
Hallo,
Schau dir mal die Doku zu der Befehlsfolge:
CATCH ... ENDCATCH an. Das dürfte dir weiter helfen.

CATCH SYSTEM-EXCEPTIONS FILE_ACCESS_ERRORS = 8.
READ DATASET H_INPUT_PFAD INTO XXX.
ENDCATCH.
IF SY-SUBRC = 8.
PERFORM LESEN_ERFOLGLOS.
ENDIF.

Erfolgreich

Beitrag von Georg3 ( / / 0 / 3 ) »
Nochmal hallo,
vielen Dank für diese (ultra-) schnellen Antworten. Ich hab den Vorschlag von ereglam umgesetzt. Ist auch eigentlich ziemlich logisch. Dementsprechend gut funktioniert dies jetzt auch. Da stellt sich wieder die Frage, wieso ich darauf nicht selbst gekommen bin :?

Ich wünsch euch noch 'nen schönen Tag.

Grüsse

Georg3

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1407
Views
3
Antw.
29407
Views
URL File-Server Internet File Download /Delet cl_http_client
von Luigi91 » 04.10.2016 08:28 • Verfasst in ABAP Objects®
12
Antw.
17734
Views
Ausnahmen abfangen
von dawns » 19.05.2008 10:21 • Verfasst in ABAP Objects®
3
Antw.
1811
Views
http_communication_failure abfangen?
von danbrown_1999 » 11.02.2023 17:22 • Verfasst in ABAP® für Anfänger
2
Antw.
2677
Views
Abfangen von Fehler
von debianfan » 06.11.2017 13:33 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.