Přeskočit na hlavní obsah

Exportujeme dlouhé texty do Excelu

Dlouhé texty v dialogových aplikacích obvykle dáváme k editaci, k zobrazení ve webových komponentách, skrze tiskovou úlohu Adobe Forms exportujeme do PDF nebo pomocí služeb Business Communication Service třeba generujeme emailové zprávy. Export dlouhých textů do excelu potěší leckterého běžného uživatele SAP.

Dlouhým textům čteným funkcí READ_TEXT s oblibou říkáme SAPscript texty. V paměti je máme v interní tabulce typu TLINE_TAB, tj. se strukturou řádky TDFORMAT a TDLINE.

MS Excel

Jak na export do excelu? Velice rádi k tomuto účelu užíváme open source (Apache License 2.0) projekt abap2xlsx. Je napsán v ABAP Objects a pro zápis souboru formátu XLSX voláme kupříkladu metodu BIND_TABLE( ) třídy ZCL_EXCEL_WORKSHEET.

Dlouhé texty

Dlouhé texty je však předtím potřeba převést ze struktur TLINE_TAB do streamu textu, tedy string. Například pomocí funkčního modulu CONVERT_ITF_TO_STREAM_TEXT.

Výsledek

Při generování následujícího dokumentu jsme použili styl BUILTINSTYLE_MEDIUM3, čímž se pro záhlaví i linky v tabulce zvolila oranžová barva. Generováno z report programu při automatickém zohlednění pořadí sloupců podle ALV i nastavených filtrů řádků, otevřeno v MS Excel 2021.

Sloupce s dlouhým textem nesou datový typ string, délka dlouhého textu není omezena, minimálně z pohledu SAP.

Časovou značku pořízených dl.textů nám zajišťuje standardní funkční modul TEXT_CREATE_HISTORY_LINE.

Ukázka vygenerovaného souboru xlsx
Ukázka vygenerovaného souboru xlsx

Komentáře