Dateien aus einem serverseitigen Zielverzeichnis löschen

Posten Sie hier Tutorials & Cookbooks.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Dateien aus einem serverseitigen Zielverzeichnis löschen

Beitrag von ZUSE83 (ForumUser / 1 / 0 / 1 ) »
Mit diesem Report können Dateien aus einen Verzeichnis auf einem Systemserver gelöscht werden.

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report Y_PM_DELETE_FILE
*&
*&---------------------------------------------------------------------*
*& Löscht Dateien aus einem Zielverzeichnis.
*&
*&
*&
*& Author     : ********
*& date       : **.**.****
*& kind of p. : Report    (x)     Batch-Input ( )      Include   ( )
*&              Sonstiges/others  ( )                  Modulpool   ( )
*&
*----------------------------------------------------------------------*
* Änderungshistorie                                                    *
* Datum      Benutzer:                  Grund                          *
* ---------- ----------------- --------------------------------------- *
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
REPORT Y_PM_DELETE_FILE.

PARAMETERS: p_dir TYPE string LOWER CASE OBLIGATORY
            DEFAULT '/usr/sap/tmp/GR55_Report_Painter'
            VISIBLE LENGTH 80.

SELECTION-SCREEN BEGIN OF BLOCK file_block WITH FRAME TITLE TEXT-001.
PARAMETERS: p_file1 TYPE string LOWER CASE VISIBLE LENGTH 40,
            p_file2 TYPE string LOWER CASE VISIBLE LENGTH 40,
            p_file3 TYPE string LOWER CASE VISIBLE LENGTH 40,
            p_file4 TYPE string LOWER CASE VISIBLE LENGTH 40,
            p_file5 TYPE string LOWER CASE VISIBLE LENGTH 40.
SELECTION-SCREEN END OF BLOCK file_block.

DATA: lv_fullpath TYPE string,
      lt_files    TYPE TABLE OF string,
      lv_file     TYPE string.

START-OF-SELECTION.

* Sammle alle eingegebenen Dateien
  IF p_file1 IS NOT INITIAL. APPEND p_file1 TO lt_files. ENDIF.
  IF p_file2 IS NOT INITIAL. APPEND p_file2 TO lt_files. ENDIF.
  IF p_file3 IS NOT INITIAL. APPEND p_file3 TO lt_files. ENDIF.
  IF p_file4 IS NOT INITIAL. APPEND p_file4 TO lt_files. ENDIF.
  IF p_file5 IS NOT INITIAL. APPEND p_file5 TO lt_files. ENDIF.

  IF lt_files IS INITIAL.
    MESSAGE 'Keine Dateien zum Löschen angegeben!' TYPE 'E'.
    RETURN.
  ENDIF.

* Für Server-Zugriff OPEN DATASET
  LOOP AT lt_files INTO lv_file.
    CONDENSE lv_file.
    CONCATENATE p_dir '/' lv_file INTO lv_fullpath.

    WRITE: / 'Prüfe Datei:', lv_fullpath.

    " Prüfen ob Datei existiert
    DATA(lv_exists) = abap_false.
    OPEN DATASET lv_fullpath FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    IF sy-subrc = 0.
      lv_exists = abap_true.
      CLOSE DATASET lv_fullpath.
    ENDIF.

    IF lv_exists = abap_false.
      WRITE: / '➤ Datei nicht gefunden:', lv_fullpath.
      CONTINUE.
    ENDIF.

    " Datei löschen
    DELETE DATASET lv_fullpath.
    IF sy-subrc = 0.
      WRITE: / '✓ Datei erfolgreich gelöscht:', lv_file.
    ELSE.
      WRITE: / '✗ Fehler beim Löschen:', lv_file, 'Subrc:', sy-subrc.
    ENDIF.
    SKIP.
  ENDLOOP.

  WRITE: / 'Löschvorgang abgeschlossen.'.

Folgende Benutzer bedankten sich beim Autor ZUSE83 für den Beitrag:
Jan


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


Seite 1 von 1

Vergleichbare Themen

15
Antw.
10540
Views
Archivierung von Dateien
von Mark33 » 21.08.2012 22:38 • Verfasst in ABAP® für Anfänger
0
Antw.
1277
Views
XML Dateien einlesen!
von Rabea1103 » 02.03.2009 11:32 • Verfasst in ABAP® Core
4
Antw.
1919
Views
Dateien senden
von cuncon » 04.04.2018 15:33 • Verfasst in ABAP® für Anfänger
2
Antw.
5601
Views
Dateien in SAP hochladen
von Monbebe » 22.03.2012 16:15 • Verfasst in ABAP® für Anfänger
3
Antw.
2905
Views
Laden von Dateien
von debianfan » 26.05.2017 15:08 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

ZUSE83

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

Aktuelle Forenbeiträge

Dialogprogramm to Reportprogramm
vor einer Woche von Lukas Sanders 2 / 34482

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.