Selektionsergebnis auf Server speichern

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

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

Selektionsergebnis auf Server speichern

Beitrag von Newbie2 ( / / 0 / 3 ) »
Hallo,

möchte das Ergebnis eines Selects in eine TXT Datei auf dem Server speichern. Gibts dafür nen FuBa oder muss ich per DATASET ne Datei anlegen und dann aus dem Select / der Internen Tabelle in die Datei schreiben?

Das nächste Problem wäre dass ich die SPalten dann per Tabulatur trennen würde? Hat da jemand ne Idee wies am einfachsten geht?

Schonmal Danke

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


Beitrag von Newbie2 ( / / 0 / 3 ) »
Ums nochmal zu verdeutlichen:

selektiere aus kna1 bsplsweise mandant, name, vorname
und will dass dann in ne txt datei speichern.

lokal aufm pc benutze ich dafür ja den FuBa "GUI_DOWNLOAD", mit dem es ja kein größeres Problem darstellen dürfte, die Spalten mdt,name, vorname per tabulator getrennt zu speichern.

wenn ich aber die datei aufm applikationsserver speichern will, wie gehe ich da am geschicktesten vor? DATASET?
Und wie trenne ich die Felder in der Textdatei?
concatenate kna1-mdt .... into string separated by TABULATOR ????

Schonmal THX!!!

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hi,

hier ist ein Beispiel:
(nachdem du deine itab gefüllt hast)

Code: Alles auswählen.

 
DATA: BEGIN OF tabulator,
        x(1) TYPE x VALUE '09',
      END OF tabulator.
DATA: tabulator_c(1) TYPE c.
DATA: c_to LIKE tcp00-cpcodepage,
      c_from LIKE tcp00-cpcodepage VALUE '1100'.
data string type string.
*
 CALL FUNCTION 'SYSTEM_CODEPAGE'
       IMPORTING
            codepage = c_to.

  tabulator_c = tabulator.
  TRANSLATE tabulator_c FROM CODE PAGE c_from TO CODE PAGE c_to.

  open dataset datei for output in text mode MESSAGE MESS.
  IF SY-SUBRC <> 0.
    MESSAGE E000(ZZ) WITH MESS.
  ENDIF.

  loop at itab.
    do.
      assign component sy-index of structure itab to <f>.
      IF SY-SUBRC <> 0.
        EXIT.
      ENDIF.
      concatenate string <f> tabulator_c into string.
    enddo.

    transfer string to datei.
    add 1 to anz.

  endloop.

  close dataset datei.

Gruß Andreas

Beitrag von Newbie2 ( / / 0 / 3 ) »
Hi,

schonmal danke,

versteh ich das richtig, dass u.g. code jetzt spaltenweise eine interne tabelle automatisch in eine datei schreibt? ich muss also kein manuelles concatenate der spalten mehr machen?

was bedeutet denn das "System codepage" ?

ich muss eigentlich nur noch ne interne tabelle füllen und den pfad für datei angeben, oder?

Vielen Dank!!

Beitrag von Newbie2 ( / / 0 / 3 ) »
Was kommt denn an die Stelle <f> ?

Steh aufm Schlauch

Beitrag von Newbie2 ( / / 0 / 3 ) »
OK, dass mit dem <f> hab ich rausgefunden.
allerdings wird nichts in die datei weggeschrieben :-(

Code: Alles auswählen.

concatenate string <f> tabulator_c into string.

hier mal mein ganzer code:
REPORT zdriesch_test.

TYPES:BEGIN OF t_kna1,
mandt LIKE kna1-mandt,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF t_kna1.

DATA: it1_kna1 TYPE t_kna1 OCCURS 1,
wa1_kna1 TYPE t_kna1.




DATA: BEGIN OF tabulator,
x(1) TYPE x VALUE '09',
END OF tabulator.
DATA: tabulator_c(1) TYPE c.
DATA: c_to LIKE tcp00-cpcodepage,
c_from LIKE tcp00-cpcodepage VALUE '1100'.
DATA string TYPE string.

FIELD-SYMBOLS <f> TYPE ANY.


START-OF-SELECTION.

wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4711'.
wa1_kna1-name1 = 'Lustig'.
APPEND wa1_kna1 TO it1_kna1.


wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4712'.
wa1_kna1-name1 = 'Müller'.
APPEND wa1_kna1 TO it1_kna1.

wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4713'.
wa1_kna1-name1 = 'Maier'.
APPEND wa1_kna1 TO it1_kna1.

wa1_kna1-mandt = '110'.
wa1_kna1-kunnr = '4714'.
wa1_kna1-name1 = 'Fritz'.
APPEND wa1_kna1 TO it1_kna1.

wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4715'.
wa1_kna1-name1 = 'Karl'.
APPEND wa1_kna1 TO it1_kna1.

wa1_kna1-mandt = '100'.
wa1_kna1-kunnr = '4716'.
wa1_kna1-name1 = 'Reinhard'.
APPEND wa1_kna1 TO it1_kna1.



CALL FUNCTION 'SYSTEM_CODEPAGE'
IMPORTING
codepage = c_to.

tabulator_c = tabulator.
TRANSLATE tabulator_c FROM CODE PAGE c_from TO CODE PAGE c_to.
DATA: mess TYPE string.

DATA: datei TYPE string.
MOVE '#####PFAD#####' TO datei.

OPEN DATASET datei FOR OUTPUT IN TEXT MODE MESSAGE mess.
IF sy-subrc <> 0.
MESSAGE e000(zz) WITH mess.
ENDIF.

DATA: anz TYPE i.


LOOP AT it1_kna1 INTO wa1_kna1.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE it1_kna1 TO <f>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
CONCATENATE string <f> tabulator_c INTO string.
ENDDO.

TRANSFER string TO datei.
ADD 1 TO anz.

ENDLOOP.

CLOSE DATASET datei.

Beitrag von Newbie2 ( / / 0 / 3 ) »
habs gefunden :-)

müsste natürlich über wa1_kna1 das assign machen, dann klappts auch mit dem download !!

Schönen Feierabend noch !!

Beitrag von Newbie2--neuesProblem ( / / 0 / 3 ) »
Hi,

habs soweit am laufen, nur folgendes Problem:
Wenn ich aus der BSEG Daten selektiere, dies in eine Interne Tabelle schreibe und diese dann nach o.g. Muster durch Tabs getrennt in eine Datei auf dem Applikationsserver schreibe, gibts Probleme bei bestimmten Feldern, z.B. bei Beträgen, die in der Internen Tabelle beim Debuggen mit z.B. "1000.00"
angezeigt werden.

Beim Zusammensetzen des Strings für die Zeile in der Datei werden diese Beträge jedoch nicht ordentlich weggeschrieben, sondern es kommt nur Müll raus.

Jemand ne Idee woran das liegen könnte?

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Newbie2--neuesProblem hat geschrieben:Hi,

habs soweit am laufen, nur folgendes Problem:
Wenn ich aus der BSEG Daten selektiere, dies in eine Interne Tabelle schreibe und diese dann nach o.g. Muster durch Tabs getrennt in eine Datei auf dem Applikationsserver schreibe, gibts Probleme bei bestimmten Feldern, z.B. bei Beträgen, die in der Internen Tabelle beim Debuggen mit z.B. "1000.00"
angezeigt werden.

Beim Zusammensetzen des Strings für die Zeile in der Datei werden diese Beträge jedoch nicht ordentlich weggeschrieben, sondern es kommt nur Müll raus.

Jemand ne Idee woran das liegen könnte?
Ja.
Um lesbare Ergebnisse zu erzielen, sollte der Inhalt des <f> per WRITE TO in eine aufbereitete Form gebracht werden. und diese aufbereitete Form dann in die Ausgabe gestellt werden.

Hinweis:
Zahlenwerte werden i.d.R. gepackt in den Strukturen abgelegt.
Der CONCATENATE holt sich z.B. Hex'00000100000D' für den Zahlenwert '1000.00-'.

Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
Hallo ,

oder so:

Code: Alles auswählen.

    
      describe field <f> type typ.
      if typ = 'P'.
        write: <f> to h_string.
        CONCATENATE string h_string tabulator_c INTO 
         string. 
      else.
         CONCATENATE string <f> tabulator_c INTO  
         string.    
      endif.
      

Andreas

Beitrag von newbie2 ( / / 0 / 3 ) »
danke, habs so mit der Stringkonvertierung gemacht !!

Schönen Feierabend noch !! :lol: :lol:

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1759
Views
Formular auf Server speichern
von STDIN » 17.06.2020 16:06 • Verfasst in ABAP® für Anfänger
1
Antw.
2181
Views
Datei auf Server speichern - Werthilfe log. Dateiname
von ralf.wenzel » 24.07.2007 17:01 • Verfasst in ABAP® Core
6
Antw.
2357
Views
Daten auf eine Datei im Server speichern
von meocon » 20.07.2020 16:52 • Verfasst in ABAP® für Anfänger
2
Antw.
2465
Views
Datei vom Appl Server auf Präsent. Server
von codierknecht » 29.04.2008 08:51 • Verfasst in ABAP® für Anfänger
3
Antw.
2100
Views
Download auf Server
von robin1at » 11.01.2006 17:24 • Verfasst in ABAP® für Anfänger

Ü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

Zeilenumbrüche ersetzen
vor 57 Minuten von ralf.wenzel 1 / 6
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2083
SAP Trial Version für SAP Fiori
vor 23 Stunden von tar 2 / 1444

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

Zeilenumbrüche ersetzen
vor 57 Minuten von ralf.wenzel 1 / 6
Dialog-Container mit Toolbar/Status
vor 18 Stunden von tar gelöst 19 / 2083
SAP Trial Version für SAP Fiori
vor 23 Stunden von tar 2 / 1444

Unbeantwortete Forenbeiträge

Zeilenumbrüche ersetzen
vor 57 Minuten von ralf.wenzel 1 / 6
Daten an Tabelle binden
Gestern von Bright4.5 1 / 504
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2143