filename im FB gui_download

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

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

filename im FB gui_download

Beitrag von thr-hn (ForumUser / 11 / 3 / 0 ) »
Hallo Forum,

ich nutze SAP zwar schon einige Jahre, mit dem Programmieren fange ich erst an.

Ich habe einen Report erstellt, der Daten aus verschiedenen Tabellen zusammen in eine itab schreibt, die ich am Bildschirm und als File ausgebe.
Für die Fileausgabe habe ich definiert:

Code: Alles auswählen.

PARAMETERS: PAR_PFAD LIKE RLGRAP-FILENAME
            DEFAULT 'h:\temp\datei_x.txt'.
den Download habe ich so programmiert:

Code: Alles auswählen.

FORM DOWNLOAD_TABLE_ITAB USING FEHLER.
*   Aufruf Funktionsbaustein
* ----------------------------------------------
  CALL FUNCTION 'GUI_DOWNLOAD'
       EXPORTING
            FILENAME         = PAR_PFAD  "Dateiname
            FILETYPE         = 'ASC'   "Datentyp Tabs getrennt
            WRITE_FIELD_SEPARATOR           = 'X'
             TABLES
            DATA_TAB         = ITAB    "Übergabetabelle
       EXCEPTIONS
            FILE_OPEN_ERROR   = 1
            FILE_WRITE_ERROR = 2
            INVALID_TYPE          = 3
            UNKNOWN_ERROR    = 4.
  FEHLER = SY-SUBRC.
ENDFORM.
Bei der Ausführung bekomme ich einen Dump mit dem Hinweis:
In der Schnittstelle des Funktionsbausteins wurde festgelegt, daß unter "FILENAME" nur Felder eines bestimmten Typs angegeben werden
dürfen. Das aktuell mitgegebene Feld "PAR_PFAD" hat aber einen anderen Feldtyp.

Wie hätte ich PAR_PFAD definieren müssen, damit der FB funktioniert?

Danke für die Hilfe

thr-hn

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


Re: filename im FB gui_download

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Es wird bei den Klassen z.B. cl_gui_frontend_services=>gui_download ein Datentyp STRING erwartet.

Code: Alles auswählen.

PARAMETERS: PAR_PFAD type string
            DEFAULT 'h:\temp\datei_x.txt'.
bei den, zum Teil Obsoleten Funktionsbausteinen (e.g. WS_DOWNLOAD), kann man z.B. an den Importparametern sehen,
auf welchen Datentyp zu referieren ist.

lg Jens
Statt LIKE solltest du lieber TYPE nehmen.
Zuletzt geändert von Tron am 21.03.2014 11:47, insgesamt 3-mal geändert.
<:: 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.

Re: filename im FB gui_download

Beitrag von Pyro (Specialist / 121 / 14 / 18 ) »
Hallo,

mit einem Doppelklick auf den FuBa-Namen kannst du selbst nachschauen, was beim Importparameter FILENAME als Datentyp hinterlegt ist.

In diesem Fall muss es einfach als String übergeben werden.

Gruß
Pyro

Re: filename im FB gui_download

Beitrag von thr-hn (ForumUser / 11 / 3 / 0 ) »
Vielen Dank für die schnellen Antworten!
Es funktioniert auch so.
Jetzt kommt noch das aber.

Ich hatte zunächst den Pfad und Dateinamen direkt im FB stehen:
FILENAME = 'h:/temp/datei_x.txt' "Dateiname
Das hat auch funktioniert.
Wenn ich die Datei mit EXCEL öffne bekomme ich die Werte sauber in einzelne Spalten geschrieben.

Bei dem Vorschlag mit: PAR_PFAD TYPE STRING bekomme ich das Ergebnis in EXCEL alles in Spalte A, müsste es also noch konvertieren.
Gibt es da noch eine Lösung?

Danke
thr-hn

Re: filename im FB gui_download

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

ich denke das 1. Zauberwort lautet hier: Fbausteindokumentation. ;)
und das zweite Zauberwort heißt FILETYPE. Ich meine mich zu erinnern, dass du für getrennte Spalten den FILETYPE = 'DAT' nehmen musst.
Eventuell funktioniert das spaltenweise speichern auch nur für CSV-Dateien..
Gruß,
der Matze

Re: filename im FB gui_download

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
... der FB GUI_DOWNLOAD ist der Baustein, den auch die Methode CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD verwendet.
Einen Separator (HTAB = Ascii 09) bekommt man so:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZTEST_DOWNLOAD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_DOWNLOAD.


data lt_sflight type table of sflight.
data lv_fname type string value 'c:\temp\sflight.txt'.
data lv_fname2 type string value 'c:\temp\sflight2.txt'.

select * from sflight into table lt_sflight.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
  EXPORTING
*    BIN_FILESIZE              =
    FILENAME                  = lv_fname
*    FILETYPE                  = 'ASC'
*    APPEND                    = SPACE
     WRITE_FIELD_SEPARATOR     = 'X'
*    HEADER                    = '00'
*    TRUNC_TRAILING_BLANKS     = SPACE
*    WRITE_LF                  = 'X'
*    COL_SELECT                = SPACE
*    COL_SELECT_MASK           = SPACE
*    DAT_MODE                  = SPACE
*    CONFIRM_OVERWRITE         = SPACE
*    NO_AUTH_CHECK             = SPACE
*    CODEPAGE                  = SPACE
*    IGNORE_CERR               = ABAP_TRUE
*    REPLACEMENT               = '#'
*    WRITE_BOM                 = SPACE
     TRUNC_TRAILING_BLANKS_EOL = 'X'
*    WK1_N_FORMAT              = SPACE
*    WK1_N_SIZE                = SPACE
*    WK1_T_FORMAT              = SPACE
*    WK1_T_SIZE                = SPACE
*  IMPORTING
*    FILELENGTH                =
  CHANGING
    DATA_TAB                  = lt_sflight
  EXCEPTIONS
    FILE_WRITE_ERROR          = 1
    NO_BATCH                  = 2
    GUI_REFUSE_FILETRANSFER   = 3
    INVALID_TYPE              = 4
    NO_AUTHORITY              = 5
    UNKNOWN_ERROR             = 6
    HEADER_NOT_ALLOWED        = 7
    SEPARATOR_NOT_ALLOWED     = 8
    FILESIZE_NOT_ALLOWED      = 9
    HEADER_TOO_LONG           = 10
    DP_ERROR_CREATE           = 11
    DP_ERROR_SEND             = 12
    DP_ERROR_WRITE            = 13
    UNKNOWN_DP_ERROR          = 14
    ACCESS_DENIED             = 15
    DP_OUT_OF_MEMORY          = 16
    DISK_FULL                 = 17
    DP_TIMEOUT                = 18
    FILE_NOT_FOUND            = 19
    DATAPROVIDER_EXCEPTION    = 20
    CONTROL_FLUSH_ERROR       = 21
    NOT_SUPPORTED_BY_GUI      = 22
    ERROR_NO_GUI              = 23
    others                    = 24
        .
IF SY-SUBRC <> 0.
ENDIF.


* ODER mit FB

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
*   BIN_FILESIZE                    =
    FILENAME                        = lv_fname2
*   FILETYPE                        = 'ASC'
*   APPEND                          = ' '
    WRITE_FIELD_SEPARATOR           = 'X'
*   HEADER                          = '00'
    TRUNC_TRAILING_BLANKS           = 'X'
*   WRITE_LF                        = 'X'
*   COL_SELECT                      = ' '
*   COL_SELECT_MASK                 = ' '
*   DAT_MODE                        = ' '
*   CONFIRM_OVERWRITE               = ' '
*   NO_AUTH_CHECK                   = ' '
*   CODEPAGE                        = ' '
*   IGNORE_CERR                     = ABAP_TRUE
*   REPLACEMENT                     = '#'
*   WRITE_BOM                       = ' '
*   TRUNC_TRAILING_BLANKS_EOL       = 'X'
*   WK1_N_FORMAT                    = ' '
*   WK1_N_SIZE                      = ' '
*   WK1_T_FORMAT                    = ' '
*   WK1_T_SIZE                      = ' '
*   WRITE_EOL                       = ABAP_TRUE
* IMPORTING
*   FILELENGTH                      =
  TABLES
    DATA_TAB                        =  lt_sflight
*   FIELDNAMES                      =
 EXCEPTIONS
   FILE_WRITE_ERROR                = 1
   NO_BATCH                        = 2
   GUI_REFUSE_FILETRANSFER         = 3
   INVALID_TYPE                    = 4
   NO_AUTHORITY                    = 5
   UNKNOWN_ERROR                   = 6
   HEADER_NOT_ALLOWED              = 7
   SEPARATOR_NOT_ALLOWED           = 8
   FILESIZE_NOT_ALLOWED            = 9
   HEADER_TOO_LONG                 = 10
   DP_ERROR_CREATE                 = 11
   DP_ERROR_SEND                   = 12
   DP_ERROR_WRITE                  = 13
   UNKNOWN_DP_ERROR                = 14
   ACCESS_DENIED                   = 15
   DP_OUT_OF_MEMORY                = 16
   DISK_FULL                       = 17
   DP_TIMEOUT                      = 18
   FILE_NOT_FOUND                  = 19
   DATAPROVIDER_EXCEPTION          = 20
   CONTROL_FLUSH_ERROR             = 21
   OTHERS                          = 22.

IF SY-SUBRC <> 0.
ENDIF.
und HTAB getrennte Felder kann Excel sofort einlesen.
:wink:
<:: 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.

Re: filename im FB gui_download

Beitrag von thr-hn (ForumUser / 11 / 3 / 0 ) »
Vielen Dank!
Der
Filetype = 'DAT'
hat die Aufbereitung so geändert, dass EXCEL die Datei spaltenweise darstellt.
So wollte ich das.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2117
Views
FileUpload - UI-Element Filename -> Web-Dynpro
von Trulchen » 26.03.2013 09:17 • Verfasst in ABAP® für Anfänger
3
Antw.
2039
Views
GUI-DOWNLOAD
von Handeglo » 19.05.2008 14:59 • Verfasst in ABAP® Core
0
Antw.
1245
Views
Download als Job
von kobo3 » 16.10.2006 09:06 • Verfasst in ABAP® Core
9
Antw.
3961
Views
GUI - DOWNLOAD
von Trulchen » 11.01.2013 10:26 • Verfasst in ABAP® für Anfänger
3
Antw.
2324
Views
gui-download
von joachim » 25.04.2007 10:50 • Verfasst in ABAP® Core

Ü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

Aktuelle Forenbeiträge

Mahnung erstellen
vor 16 Stunden von wreichelt 2 / 34
Absprung VA02 Position
vor 18 Stunden von gs3rr4 gelöst 3 / 44
OPD Druck im SPOOL
vor 20 Stunden von Manfred K. 1 / 28

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

Mahnung erstellen
vor 16 Stunden von wreichelt 2 / 34
Absprung VA02 Position
vor 18 Stunden von gs3rr4 gelöst 3 / 44
OPD Druck im SPOOL
vor 20 Stunden von Manfred K. 1 / 28

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 20 Stunden von Manfred K. 1 / 28
Export von Spools in XLSX
vor 5 Tagen von abapamateur 1 / 440