Dies ist ein Beispiel, wie man mit ALV-GRID und dem Excel-Export Zellen mehrzeilig mit Daten befüllen kann. Wir können zuerst unsere Text-Komponenten als Textsymbole definieren, man kann jedoch auch normale String-Variablen verwenden.
Textsymbole und Inhalt
001 – Das ist die erste Zeile.
002 – Die zweite Zeile.
003 – Dritte Zeile.
004 – Letzte Zeile.
1 2 3 4 |
*Data Definitionen CONSTANTS: l_con_dblct(1) TYPE c VALUE '"'. “ Anfang- und Endezeichen data: l_cell_text type text255, “ Textfeld l_con_sepa TYPE c VALUE cl_abap_char_utilities=>newline . “ Neue Zeile in Excel |
Wir stellen jetzt die Komponenten zusammen:
Text + neue Zeile Zeichen + Text + neue Zeile Zeichen …
Dann wird die komplette Textkette mit ein Anfang- und Endzeichen versehen. Das signalisiert Excel das Befehle werden mit Text zusammen gemischt im eine Kette.
Anfangszeichen + Text mit Befehle + Endezeichen
1 2 3 4 5 6 7 8 |
Clear: l_cell_text. CONCATENATE text-001 text-002 text-003 text-004 INTO l_cell_text SEPARATED BY l_con_sepa. CONCATENATE l_con_dblct l_cell_text l_con_dblct INTO l_cell_text. |
Feld „l_cell_text“ kann jetzt ausgegeben werden mit ALV in eine Excel Tabelle.
Es ist wichtig die Feldlänge von 255 Stellen inklusiv neue Zeile Zeichen und Anfang- und Endezeichen zu merken. Wenn die letzte belegte Stelle nicht einen Endezeichen ist dann werden all weitere Daten in nur einen Excel Zelle ausgegeben.
An verschiedenen Stellen hat SAP ein technisches Limit von 255 Zeichen gesetzt für Text Felder, wenn diese in andere Programme, z.B. Excel, exportiert werden sollen.