我正在使用Business Warehouse中的一个程序,它允许您通过使用rspcchain表遵循父链接到子链的层次结构来映射所有流程链。到目前为止,我已将输出打印到屏幕,但想将此输出导出到excel。我一直无法找到满足此目的的功能模块,因此非常感谢任何帮助
note - 在了解SALV课程可用后,我更改了代码以不同方式显示表格。
REPORT Z_PC_VARIANT_MAPPING.
*Declaring types and variables
TYPES: BEGIN OF t_chains,
chain_id LIKE rspcchain-chain_id,
variant LIKE rspcchain-variante,
END OF t_chains.
DATA: lt_rspcchain TYPE STANDARD TABLE OF t_chains,
lwa_rspcchain TYPE t_chains,
o_alv TYPE REF TO cl_salv_table,
lx_msg TYPE REF TO cx_salv_msg.
TABLES: rspcchain.
*selection screen setup
SELECT-OPTIONS chain_id FOR rspcchain-chain_id.
SELECT-OPTIONS type FOR rspcchain-type.
*filling local table
SELECT chain_id variante
FROM rspcchain INTO TABLE lt_rspcchain
WHERE chain_id IN chain_id AND
type IN type AND
objvers = 'A'.
*original code to test printing output on screen
*LOOP AT lt_rspcchain INTO lwa_rspcchain.
* skip.
* WRITE lwa_rspcchain-chain_id.
* WRITE lwa_rspcchain-variant.
*ENDLOOP.
IF sy-subrc NE 0. "sy-subrc = return code
WRITE 'Data not found'.
ENDIF.
*loading data from local table into alv object table
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = o_alv
CHANGING
t_table = lt_rspcchain ).
CATCH cx_salv_msg INTO lx_msg.
ENDTRY.
*calling display method to display table
o_alv->display( ).
答案 0 :(得分:3)
您可以使用SALV框架,它附带一个类,用于导出将以各种格式显示的内容,包括Excel理解的.MHTML和.XML格式。课程CL_SALV_TABLE
有一个方法TO_XML
来支持这一点;另外,您可能需要CL_SALV_BS_XML_UTILS
来处理转换。请参阅报告SALV_TEST_TABLE_DISPLAY_OR_XML
,例如编码。
答案 1 :(得分:1)
您应该查看ABAP2XLSX项目。
http://wiki.sdn.sap.com/wiki/display/ABAP/abap2xlsx
不确定BW中是否存在所有必需的组件,但这确实是使用我发现的ABAP代码创建电子表格的最佳解决方案。
答案 2 :(得分:0)
您可以尝试以下操作,下载CSV文件,扩展名为.xls,在Excel中完美打开:
通过调用lt_rspcchain
SAP_CONVERT_TO_CSV_FORMAT
转换为csv内部表
通过调用cl_gui_frontend_services=>file_save_dialog( )
通过调用cl_gui_frontend_services=>gui_download( )
我认为您可以通过经验或通过Google找到这些工作方式。