Die Formatierung innerhalb einer Zeile soll in diesem Zusammenhang keine Rolle spielen.111 1111 1111 111
222 2222 22 22
333 3333 333 3333
444 4444 444 4444
333 3333 333 3333
444 4444 444 4444
555 555 5 555
666 66 66 6
interne Tabelle vom type String und darein Zeilenweise die Ausgabedatei erstellen. Die Strintabelle dann an die Routine CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD übergeben.KleinerEisbaer hat geschrieben:Wie aber kann ich die interne Tabelle so erstellen, dass sie auf die Zeilen 3 und 4 flexibel reagiert. In der Ausgabe müssen diese beiden Zeilen, auch wenn sie z.B. 20 mal hintereinander ausgegeben werden, immer gleich am Anfang einer neuen Zeile stehen.
Code: Alles auswählen.
DATA: gt_file TYPE TABLE OF string,
gs_file TYPE string.
* Über die Postionstabelle loopen:
LOOP AT gt_pos INTO gs_pos.
AT FIRST.
* Kopfzeile aufbauen
WRITE: gs_kopf TO gs_string.
APPEND gs_file TO gt_file. CLEAR gs_file.
ENDAT.
* Positonszeilen aufbauen
WRITE gs_pos(50) TO gs_string.
APPEND gs_file TO gt_file. CLEAR gs_file.
WRITE gs_pos+50(25) TO gs_string.
APPEND gs_file TO gt_file. CLEAR gs_file.
AT LAST.
* Fußzeile nicht vergessen
WRITE: gs_fuß TO gs_string.
APPEND gs_file TO gt_file. CLEAR gs_file.
ENDAT.
ENDLOOP.
* Hier dann per CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD Datei speichern