.txt in Unterverzeichnissen.

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

.txt in Unterverzeichnissen.

Beitrag von Guido (ForumUser / 9 / 0 / 0 ) »
Hallo Forum,
ich hätte da gerne mal ein Problem!

Ich muß derzeit aus 7 Verzeichnissen txt-files einlesen und in die DB schubsen.
Das geht ja auch schon ganz gut, nur mit 2 verzeichnissen habe ich ein Problem:
Die Auftragsnummer is nicht im txt-File abgespeichert, sondern ein Unterverzeichnis. In diesem Wiederum steht das Protokoll, welches ich einlesen soll.
Die Daten werden automatisch von Prüfrechnern erstellt und auf den Server geschoben.


Zu Illustration:

OK ->

Verzeichnis_Testmodus1
- Datei_Autftrag001
- Datei_Autftrag002
- Datei_Autftrag003

Nicht OK ->

Verzeichnis_Testmodus2
- Uverz_Autftrag001
-- Datei_Serial1
-- Datei_Serial2
- Uverz_Autftrag002
-- Datei_Serial4
-- Datei_Serial5

Lösung 1
Auftragsnummer in Datei schreiben lassen - geht nicht, kostet Geld, schon abgelehnt.

Lösung 2:
Uvz-Liste einlesen, loopen und wie in den anderen Programmen Dateien einlesen - nur wie?
Wenn ich einmal den Uvz-Namen habe, hab ich ja auch die Auftragsnummer im wa-Bereich.

Weiss wer was dazu?

Um präziser zu sein, gibt es einen Baustein wie TMP_GUI_DIRECTORY_LIST_FILES
auch für den Applikationsserver?

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


Beitrag von MrBojangles (Specialist / 367 / 3 / 30 ) »
Hallo Guido,

na ja, einen Fuba hab ich nicht gefunden, aber Du kannst Dir leicht selber einen basteln:

Guck Dir mal FuBa F4_DXFILENAME an, Form fill_gt_file_list. Dort wird ein Verzeichnis des Applikationservers ausgelesen und das Ergebnis in die globale Tabelle g_file gestellt. Die Tabelle enthält u.a. das Feld dir_flag, welches bei Directories auf 'X' sitzt.

Zwar keine fertige Lösung, aber vielleichts hilfts...

Weiterhin viel Freude mit SAP
MrB.

Beitrag von Guido (ForumUser / 9 / 0 / 0 ) »
Danke, immerhin was.


Mein DB-Kollege hat mir folgendes gegeben, falls es dich interessiert ...




*---------------------------------------------------------------------*
* Topic: File Manager for UNIX environment *
* *
* Description: With internal system command you can get access to *
* the UNIX. The program list files in the Unix *
* environment and by using at line selecttion you are*
* able to browse datasets. *
* *
* Authorization: None, be careful you have unlimited access to Unix.*
* Check that you are able to use the internal system *
* command. *
* *
* Parameters: Filename and path. *
* *
* Change of Check that you are able to use the internal system *
* release command. *
* *
* Release: 4.6b *
* *
***********************************************************************

REPORT ZTEST2 MESSAGE-ID Z1
NO STANDARD PAGE HEADING
LINE-COUNT 65
LINE-SIZE 132.
*---------------------------------------------------------------------*
* Global Variables. *
*---------------------------------------------------------------------*
DATA: BEGIN OF TABL OCCURS 0,
LINE(2000),
END OF TABL.

DATA: PARCOM_LOC LIKE RS37A-LINE.

DATA: SIZE(10) TYPE C,
LINE LIKE TABL-LINE,
SUM(16) TYPE C.

DATA: FILE LIKE RS37A-LINE.
DATA: PATH(255) TYPE C.

*-------------------------------------------------------------------*
* Parameters. *
*-------------------------------------------------------------------*
SELECTION-SCREEN SKIP 2.
PARAMETERS: PARCOM LIKE RS37A-LINE.


*********************************************************************
*AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
CONDENSE: PARCOM NO-GAPS.


*********************************************************************
*TOP-OF-PAGE.
TOP-OF-PAGE.
PERFORM WRITE_PAGE_HEADING.


*********************************************************************
*INITIALIZATION.
INITIALIZATION.
PARCOM = '/usr/sap/*'. "Only default value


*********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
PERFORM MAKE_LOC.
PERFORM COLLECT_DATA.
PERFORM FILE_LIST.


*********************************************************************
*AT LINE-SELECTION.
AT LINE-SELECTION.
CLEAR FILE.
FILE = SY-LISEL+55.
REPLACE '|' WITH SPACE INTO FILE.

IF SY-LISEL+1(1) = 'd'.
PATH = FILE.
PATH+200 = '/*'.
CONDENSE PATH NO-GAPS.
SUBMIT ZUNIXFILES
WITH PARCOM = PATH
AND RETURN.
ENDIF.

SUBMIT ZBROWSEFILE "Call the browse program
WITH PARCOM = FILE
AND RETURN.


*---------------------------------------------------------------------*
* FORM MAKE_LOC. *
*---------------------------------------------------------------------*
FORM MAKE_LOC.
CLEAR: PARCOM_LOC.
PARCOM_LOC(7) = 'ls -ld '.
PARCOM_LOC+7(45) = PARCOM.
ENDFORM.

*---------------------------------------------------------------------*
* FORM COLLECT_DATA. *
*---------------------------------------------------------------------*
FORM COLLECT_DATA.
REFRESH TABL.
CALL 'SYSTEM' ID 'COMMAND' FIELD PARCOM_LOC
ID 'TAB' FIELD TABL-*SYS*.
ENDFORM.

*-------------------------------------------------------------------*
* FORM FILE_LIST. *
*-------------------------------------------------------------------*
FORM FILE_LIST.
FORMAT RESET.
CLEAR SUM.
LOOP AT TABL.
CLEAR LINE.
LINE = TABL-LINE.
WRITE /2 LINE.
PERFORM VERTICAL_LINES.
SUM = SUM + SIZE.
ENDLOOP.
WRITE:/1(132) SY-ULINE.
ENDFORM.

*-------------------------------------------------------------------*
* FORM WRITE_PAGE_HEADING. *
*-------------------------------------------------------------------*
FORM WRITE_PAGE_HEADING.
WRITE:/1(132) SY-ULINE.
PERFORM VERTICAL_LINES.
FORMAT INTENSIFIED.
WRITE: /2(131) SPACE COLOR 1.
WRITE: 2 SY-DATUM COLOR 1.
WRITE: 35 'File Manager' COLOR 1.
PERFORM VERTICAL_LINES.
WRITE:/1(132) SY-ULINE.
PERFORM VERTICAL_LINES.
FORMAT INTENSIFIED.
WRITE: /2(131) SPACE COLOR 3.
PERFORM VERTICAL_LINES.
FORMAT RESET.
WRITE:/1(132) SY-ULINE.
ENDFORM.

*-------------------------------------------------------------------*
* FORM VERTICAL_LINES. *
*-------------------------------------------------------------------*
FORM VERTICAL_LINES.
PERFORM WRITE_VLINE USING ' ' 1.
PERFORM WRITE_VLINE USING ' ' 132.
ENDFORM.

*-------------------------------------------------------------------*
* WRITE_VLINE. *
*-------------------------------------------------------------------*
FORM WRITE_VLINE USING MODE POS.
IF MODE NE 'T'.
FORMAT INTENSIFIED.
ENDIF.
POSITION POS.
WRITE: SY-VLINE.
IF MODE NE 'T'.
FORMAT RESET.
ENDIF.
ENDFORM.

Seite 1 von 1

Ü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.