SAP-DB-Tabelleninhalt to MS-Excel

Alle Fragen rund um Basisthemen
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

SAP-DB-Tabelleninhalt to MS-Excel

Beitrag von nkuhn (ForumUser / 30 / 0 / 0 ) »
Hallo zusammen,

Kann mir jemand einen guten zu gebrauchenden Funktionsbaustein nennen, mit welchem ich Daten aus einer Datenbanktabelle im SAP in ein neues Excel-File schreiben kann?
Das File sollte bei jeder Ausführung neu erstellt werden, und wenn möglich sogar mit der Laufzeit sowie dem Laufzeitdatum versehen werden im Namen. Ausserdem sollte der Speicherort für das Excel-File ausgewählt werden können.

Ist das irgendwie möglich? Gibt es einen Funktionsbaustein für dieses Problem?

Vielen Dank für Eure Hilfe.

Mit freundlichen Grüssen

Nicolas Kuhn

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


Beitrag von aru (ForumUser / 2 / 0 / 0 ) »
Hallo Nicolas,
FB GUI-Download, Über Parameters --> Speicherort(filename) an den Du sy-datum und sy-time hängst. Meinst Du mit der Laufzeit die Dauer die Dein Programm benötigt, vergiß es :wink:
aru

Beitrag von nkuhn (ForumUser / 30 / 0 / 0 ) »
Hallo aru,

Verstehe ich das richtig, dass ich mit dem FUBA "GUI DOWNLOAD" meine Problemstellung lösen kann?

Hast du ein Code Beispiel dazu? Zum Beispiel indem sy-datum, sy-time schon eingebunden ist?

Vielen Dank.

Nicolas Kuhn

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
nkuhn hat geschrieben:Hast du ein Code Beispiel dazu? Zum Beispiel indem sy-datum, sy-time schon eingebunden ist?
Ist jetzt ohne FuBa sondern über eine Klasse gelöst, aber sollte dein Problem lösen. Das ganze ist aus einem 6.4 Release, in kleineren Releases wird es wahrscheinlich Probleme machen. Fehlerhandling ist nicht programmiert:

Code: Alles auswählen.

REPORT  z_db_to_file.

* Für den Dynamischen DB-Zugriff
FIELD-SYMBOLS: <table> TYPE ANY TABLE.

* Dynamische Daten
DATA: gr_table TYPE REF TO   data.

* Für den GUI-Download
DATA:  g_file TYPE string.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_table      TYPE tabname,             "Tabelle die gelesen wird
            p_count      TYPE i DEFAULT 100,       "Anzahl Datensätze
            p_path(1024) TYPE c DEFAULT 'c:\temp\',"Source
            p_file(1024) TYPE c DEFAULT 'test'.    "Dateiname ohne Dateiendung
SELECTION-SCREEN END OF BLOCK b1.


START-OF-SELECTION.

* Erstmal Data dynamisch erzeugen
  CREATE DATA gr_table TYPE TABLE OF (p_table).

* Um auf die Daten zu zugreifen die Referenz auf ein Feldsymbole umswitchen
  ASSIGN gr_table->* TO <table>.

* Daten von DB lesen
  SELECT *
  FROM (p_table)
  INTO TABLE <table>
  UP TO p_count ROWS.

* Daten in Datei schreiben

* Pfad / Dateiname basteln
  CONCATENATE p_path
              p_file
              '_'
              sy-datum
              '_'
              sy-uzeit
              '.CSV'
              INTO g_file.
* Leerzeichen löschen
  CONDENSE g_file.
  CALL METHOD cl_gui_frontend_services=>gui_download
    EXPORTING
*    BIN_FILESIZE              =
      filename                  = g_file
*    FILETYPE                  = 'ASC'
*    APPEND                    = SPACE
       write_field_separator     = 'X'              "kommagetrennt
*    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                  = <table>
*  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.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
Gruß Hendrik

Beitrag von nkuhn (ForumUser / 30 / 0 / 0 ) »
Vielen Dank. Kann ich so ganz gut gebrauchen.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1829
Views
Tabelleninhalt ausgeben
von tech » 28.03.2008 10:27 • Verfasst in ABAP® für Anfänger
0
Antw.
2401
Views
Tabelleninhalt kopieren
von Diesel83 » 19.03.2011 12:01 • Verfasst in ABAP® für Anfänger
1
Antw.
2180
Views
Tabelleninhalt auf BSP ausgeben
von brooks » 07.12.2005 12:25 • Verfasst in Web-Dynpro, BSP + BHTML
2
Antw.
1591
Views
Tabelleninhalt downloaden
von Matthias_L. » 25.09.2006 12:03 • Verfasst in ABAP® für Anfänger
1
Antw.
2524
Views
Drucken Tabelleninhalt
von dirk.vdh » 09.06.2014 19:42 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


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

Aktuelle Forenbeiträge

IBAN und BUT0BK
vor 5 Tagen von GastX gelöst 4 / 4906
Gewährleistungsende im Equipment
vor 6 Tagen von Yourairld gelöst 8 / 27101
IF mit AND und OR
vor 3 Wochen von GastX 6 / 15330
Meine Inbox
vor 3 Wochen von Rabea1103 1 / 12755

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.