Sap_directory Verzeichnis auslesen

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

Sap_directory Verzeichnis auslesen

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hallo liebe ABAP-Gemeinde,

ich hab ein relativ einfaches Problem...komme aber eben nicht selber auf die Lösung, glaube mich aber dran erinnern zu können sowas schonmal gesehen zu haben.

Ich will aus einem Verzeichnis des SAP_Directory z.b. /usr/home/ herausbekommen welche Dateien vorhanden sind.

Sprich, ich muss den Namen jeder einzelnen Datei in dem Verzeichnis wissen. Damit ich dann im nachhinein damit arbeiten kann.
Ist das machbar?

Beim Open Dataset befehl muss man eine bekannte Datei angeben...und das ist mein Problem, ich kenn nur das Verzeichnis, aber nicht den genauen namen der datei.

thx 4 help

Gruß
Markus

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


Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo Markus,

vielleicht kann Dir folgendes weiterhelfen

FuBa F4_DXFILENAME_TOPRECURSION

oder

CALL METHOD cl_gui_frontend_services=>directory_browse

oder

CALL METHOD cl_gui_frontend_services=>directory_list_files

lg khb

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
hi khb,

danke für deine Hilfe,

aber die 2 Methoden bringen in meinem Fall nix. Wie schon der Name sagt 'gui_FRONTEND_services' beziehen sich die Funktionen dieser Klasse auf den Präsentationsserver.

Der FuBa ist schon der richtige Weg...allerdings will ich kein Popup wo mir die liste der dateien angezeigt wird...aber mal sehen ob der mir dennoch weiterhilft...danke für deine Mühe, hat auf jedenfall geholfen.

Gruß
Markus

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,

über folgendes kann man z.B. ein Sap Verzeichnis auslesen:

***************************************
DATA:
***************************************
gd_errno(3) TYPE c,
gd_errmsg(40) TYPE c.

DATA: BEGIN OF gf_file,
dirname TYPE filename75, " name of directory.
name TYPE filename75, " name of entry.
type(10) TYPE c, " type of entry.
len(8) TYPE p, " length in bytes.
owner(8) TYPE c, " owner of the entry.
mtime(6) TYPE p, " last modification date, seconds since 1970
mode(9) TYPE c, " like "rwx-r-x--x": protection mode.
useable(1) TYPE c,
subrc(4) TYPE c,
errno(3) TYPE c,
errmsg(40) TYPE c,
mod_date TYPE d,
mod_time(8) TYPE c, " hh:mm:ss
seen(1) TYPE c,
changed(1) TYPE c,
END OF gf_file.

DATA: gd_dirname TYPE filename75. " name of directory.

gd_dirname = gp_dir.

CALL 'C_DIR_READ_FINISH' " just to be sure
ID 'ERRNO' FIELD gd_errno
ID 'ERRMSG' FIELD gd_errmsg.

* Verzeichnis zum lesen öffnen
CALL 'C_DIR_READ_START' ID 'DIR' FIELD gd_dirname
ID 'FILE' FIELD '*'
ID 'ERRNO' FIELD gf_file-errno
ID 'ERRMSG' FIELD gf_file-errmsg.
IF sy-subrc <> 0 AND NOT gf_file-errno IS INITIAL.
MESSAGE e000(zee_rlm) WITH gf_file-errno gf_file-errmsg.
ENDIF.

DO.
CLEAR gf_file.
* Nächsten Eintrag Lesen
CALL 'C_DIR_READ_NEXT'
ID 'TYPE' FIELD gf_file-type
ID 'NAME' FIELD gf_file-name
ID 'LEN' FIELD gf_file-len
ID 'OWNER' FIELD gf_file-owner
ID 'MTIME' FIELD gf_file-mtime
ID 'MODE' FIELD gf_file-mode
ID 'ERRNO' FIELD gf_file-errno
ID 'ERRMSG' FIELD gf_file-errmsg.
gf_file-dirname = gd_dirname.
CASE sy-subrc.
WHEN 0.
CLEAR: gf_file-errno, gf_file-errmsg.
IF gf_file-len = 0.
MOVE 'X' TO gf_file-useable.
ENDIF.
WHEN 1. " Kein Eintrag mehr vorhanden
EXIT.
WHEN OTHERS. " SY-SUBRC >= 2
* nichts
ENDCASE.

ENDDO.



Viele Grüße

Alex

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
thx

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Hallo Markus,
wenn es irgends geht, dann sollte man keine Kernel-Funktionen direkt aufrufen, sondern erst einmal auf Standards zurückgreifen! :wink:

Code: Alles auswählen.

* Lade alle Datei Namen in aus App Serververzeichnis 
  CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING' 
    EXPORTING 
     dir_name                     = lv_path 
     file_mask                    = file_mask 
*  IMPORTING 
*    DIR_NAME                     = 
*    FILE_COUNTER                 = 
*    ERROR_COUNTER                = 
   TABLES 
     dir_list                    = lt_dir_list 
   EXCEPTIONS 
     invalid_eps_subdir           = 1 
     sapgparam_failed             = 2 
     build_directory_failed       = 3 
     no_authorization             = 4 
     read_directory_failed        = 5 
     too_many_read_errors         = 6 
     empty_directory_list         = 7 
     OTHERS                       = 8. 
dieser Baustein liefert alle Dateien eines Verzeichnises auf dem App-Server
gemäß Maske z.B. '*' oder 'SAPKB?????.???' .

gruß Tron
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

10
Antw.
26293
Views
Verzeichnis auslesen in Job
von schaechtele » 07.01.2008 10:12 • Verfasst in ABAP® Core
1
Antw.
2579
Views
Verzeichnis auslesen über Hintergrundjob?
von Precog » 18.06.2008 19:36 • Verfasst in ABAP® Core
7
Antw.
6701
Views
Report zum Auslesen von PDF aus SAP Server Verzeichnis AL11
von Luigi91 » 18.02.2014 16:47 • Verfasst in ABAP® für Anfänger
0
Antw.
907
Views
Directory im DVS
von Michi M » 11.03.2005 10:30 • Verfasst in Basis
4
Antw.
3084
Views
Files im Hintergrund aus NICHT APP-Server Directory lesen
von TakePotLuck » 09.05.2012 17:07 • Verfasst in ABAP® für Anfänger

Ü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 18 Stunden von Bright4.5 1 / 378
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2027
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8622