Auftragstexte per Datum selektieren und als Excel speichern
Posted: Tue Mar 15, 2005 11:39 am
Hallo zusammen
Durch die ausserordentlich gute Hilfe dieses Forums konnte ich endlich Selektionsdaten aus dem SAP als lokale Exceldatei speichern. Ich möchte mein Ergebnis daher an alle Interessierten zur Verfügung stellen.
Grüsse aus der Schweiz
Dani
Durch die ausserordentlich gute Hilfe dieses Forums konnte ich endlich Selektionsdaten aus dem SAP als lokale Exceldatei speichern. Ich möchte mein Ergebnis daher an alle Interessierten zur Verfügung stellen.
Grüsse aus der Schweiz
Dani
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- ** Liste der Grunddatentexte generieren von allen Aufträgen
- *****************************************************************
- ** Aenderungen: **
- ** DD.MM.JJ Wer: Was: **
- ** 27.01.05 Dani Umbricht Programmanfang
- ** 31.01.05 Im Material_select ErfasserName mit like abfragen
- ** Somit kann nach S% gesucht werden -> % statt * nehmen
- ** Daten in eine Exceltabelle exportieren in c:\copyslot
- ** Die Domäne DATS hat das Format Datumsfeld (JJJJMMDD),
- ** dies gilt für das Datumsfeld stxh-tdfdate.
- ** 01.02.05 Selektion nach Datum mit between
- *****************************************************************
- tdname(70), "Verweisfeld in den Cluster
- end of gt_allemat.
- * Var. für VertriebsTexte Anfang, THead und TLine sind im Dictionary
- tdformat like tline-tdformat, "Formatspalte, 2Zch
- tdline like tline-tdline. "TextZeile, 132 lang
- * Exceltabelle definieren
- ** ------------
- * Variablen für Datenausgabe
- * Variablen für Datenexport in eine TextDatei
- *****************************************************************
- *** Hauptprogramm Anfang ****************************************
- *****************************************************************
- *******************
- perform vertriebstexte_select.
- perform excel_kopfzeile.
- perform excel_schreiben.
- *******************
- *****************************************************************
- ** Proceduren *************************************************
- *****************************************************************
- select distinct
- a~tdname "Verweisfeld in den Cluster
- into corresponding fields of table gt_allemat
- from stxh as a "Textdatei Headertabelle
- where a~tdid = gitxtid "welche TextID
- and a~tdspras = 'DE' "Sprache
- and a~tdfuser like gierfass "Ersteller des Eintrags
- and a~tdfdate between givondat and gibisdat "Von datum - datum
- and a~mandt = '010'. "Mandant
- *****************************************************************
- perform stxh_zugriff.
- stxh-tdname ne space or
- stxh-tdid ne space or
- stxh-tdspras ne space.
- call function 'READ_TEXT'
- exporting
- object = textobjekt "z.B. MVKE
- name = gt_allemat-tdname
- id = textid "z.B. 0001
- language = 'D' "textkopf-tdspras
- importing
- newheader = textkopf
- lines = texttab
- exceptions
- not_found = 1
- others = 2.
- loop at texttab.
- *****************************************************************
- clear stxh.
- where tdobject = textobjekt "z.B. MVKE
- and tdname = gt_allemat-tdname "Key
- and tdid = textid "z.B. 0001
- and tdspras = 'D'. "Sprache
- *****************************************************************
- * PosNr herausschneiden, 5 Stellig Rechtsbündig
- hilfs_string = stxh-tdname.
- posnr = hilfs_string(5).
- * Auftragsnummer aus dem Keyfeld rausnehmen
- auftrnr = stxh-tdname(11). "Erste 11 Zeichen nehmen
- * Datum vom Format YYYYMMTT richtig formatieren
- jahr = stxh-tdfdate(4). "Erste 4 Ziffern sind das Jahr
- hilfs_string = stxh-tdfdate.
- tag = hilfs_string(2).
- monat = hilfs_string(2).
- * Leerzeichen entfernen in den Strings
- condense g_erstetextzeile.
- condense g_zweitetextzeile.
- condense g_drittetextzeile.
- condense g_viertetextzeile.
- condense g_fuenftetextzeile.
- condense g_sechstetextzeile.
- condense g_siebtetextzeile.
- condense g_achtetextzeile.
- condense g_neuntetextzeile.
- ** alle Felder aneinanderhängen, ohne Leerzeichen dazwischen
- stxh-tdname tab "Verweis in den Cluster
- auftrnr tab "Auftr Nummer
- posnr tab "PositionsNr
- tag '.' monat '.' jahr tab "Datum des Auftrages
- stxh-tdfuser tab "BenutzerID
- g_erstetextzeile tab "Textzeile 1 der Grunddaten
- g_zweitetextzeile tab "Textzeile 2 der Grunddaten
- g_drittetextzeile tab
- g_viertetextzeile tab
- g_fuenftetextzeile tab
- g_sechstetextzeile tab
- g_siebtetextzeile tab
- g_achtetextzeile tab
- g_neuntetextzeile tab
- into textzeile.
- g_erstetextzeile = ''. "Zurücksetzen
- g_zweitetextzeile = ''.
- g_drittetextzeile = ''.
- g_viertetextzeile = ''.
- g_fuenftetextzeile = ''.
- g_sechstetextzeile = ''.
- g_siebtetextzeile = ''.
- g_achtetextzeile = ''.
- g_neuntetextzeile = ''.
- *****************************************************************
- form excel_schreiben.
- * Uebertrag der Tabelle in eine lokale Datei.
- call function 'DOWNLOAD'
- exporting
- filename = 'c:\copyslot\Grunddatentexte.xls'
- filetype = 'ASC' " AsciiDatei mit Tabtrenner
- silent = 'S' "keine Frage für Dateiname
- importing
- filesize = filegroesse
- data_tab = exceltab "itab
- exceptions
- invalid_filesize = 1
- invalid_table_width = 2
- invalid_type = 3
- no_batch = 4
- unknown_error = 5
- gui_refuse_filetransfer = 6
- others = 7.
- / 'Dateigrösse :', filegroesse,
- / 'Dateiname : c:\copyslot\Grunddatentexte.xls'.
- *****************************************************************
- form excel_kopfzeile.
- ** alle Felder aneinanderhängen, ohne Leerzeichen dazwischen
- 'key' tab "Verweis in den Cluster
- 'AuftrNr' tab "AuftrNummer
- 'PosNr' tab "PosNummer
- 'Datum' tab "Datum des Auftrages
- 'UserID' tab "BenutzerID
- 'Textzeile 1' tab "Textzeile 1 der Grunddaten
- 'Textzeile 2' tab "Textzeile 2 der Grunddaten
- 'Textzeile 3' tab
- 'Textzeile 4' tab
- 'Textzeile 5' tab
- 'Textzeile 6' tab
- 'Textzeile 7' tab
- 'Textzeile 8' tab
- 'Textzeile 9' tab
- into textzeile.
- *****************************************************************
- GeSHi ©