解决SAPALV报表大数据量下载问题Word文档下载推荐.docx
《解决SAPALV报表大数据量下载问题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《解决SAPALV报表大数据量下载问题Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
TYPE
slis_selfield.
CASE
r_ucomm.
WHEN
'
DOWNLOAD'
.
DATA
it_field
TABLE
OF
lvc_s_fcat.
ls_field
ip_filename
rlgrap-filename.
ep_msg
bapiret2-message.
ep_typ
bapiret2-type.
"
获取当前屏幕ALV目录
CALL
FUNCTION
GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
et_fieldcat_lvc
=
it_field.
排除不显示的
DELETE
WHERE
no_out
X'
获取存储路径
PERFORM
get_filename
CHANGING
ip_filename.
IF
IS
INITIAL.
EXIT.
ENDIF.
调用excel导出
ZALV_FUN_DOWN_EXCEL'
EXPORTING
ip_filename
ep_msg
ep_typ
TABLES
it_tab
it_pk_tab
MESSAGE
ep_typ.
ENDCASE.
ENDFORM.
函数代码:
源码:
zalv_fun_down_excel
*"
----------------------------------------------------------------------
本地接口:
VALUE(IP_FILENAME)
RLGRAP-FILENAME
DEFAULT
c:
/xmlcall.xls'
VALUE(EP_MSG)
BAPIRET2-MESSAGE
VALUE(EP_TYP)
BAPIRET2-TYPE
VALUE(EP_FILENAME)
RLGRAP-FILENAME
IT_TAB
OPTIONAL
IT_FIELD
STRUCTURE
LVC_S_FCAT
FIELD-SYMBOLS:
<
data_line>
any,
field_name>
abap_compdescr,
field>
any
DATA:
dy_table
REF
TO
data.
wa_table
it_data>
STANDARD
TABLE.
ls_data>
any.
ls_tab>
l_line
i.
l_linec
string.
ls_filename
TYPES:
BEGIN
typ_field,
field(100),
END
typ_field.
it_fildname
ls_fildname
*&
-------检查数据(by
hjb
31.10.2019
22:
58:
58)
it_tab[]
INITIAL
OR
it_field[]
E'
传入目录和数据不能为空'
DESCRIBE
LINES
l_line.
excel
最大行数1048576
>
1048576.
CONCATENATE
当前行数'
超出excel最大数量1048576,请分开导数据'
INTO
ep_msg.
本次下载总条目:
条'
l_linec.
SAPGUI_PROGRESS_INDICATOR'
text
-------字段目录转换,EXCEL抬头输出(by
19:
47)
SORT
BY
col_pos.
LOOP
AT
ls_field.
ls_field-coltext
NOT
ls_fildname-field
ls_field-coltext.
ELSEIF
ls_field-scrtext_l
ls_field-scrtext_l.
ls_field-scrtext_m
ls_field-scrtext_m.
ls_field-scrtext_s
ls_field-scrtext_s.
APPEND
it_fildname.
CLEAR
ls_fildname.
ENDLOOP.
-------按照字段目录建立动态内表(by
41:
10)
METHOD
cl_alv_table_create=>
create_dynamic_table
it_fieldcatalog
it_field[]
ep_table
dy_table.
ASSIGN
dy_table->
*
CREATE
LINE
wa_table->
-------获取传入内表结构(by
56:
34)
it_tab.
-------传入内表按照传入结构赋值到新内表(by
57:
07)
ASSIGNING
MOVE-CORRESPONDING
[]
传入目录和数据不匹配'
-------开始下载(by
12.08.2020
10:
48:
20)
GUI_DOWNLOAD'
filename
ls_filename
filetype
DAT'
filelength
l_line
data_tab
fieldnames
sy-subrc
0.
-------执行成功(by
23:
05:
39)
S'
下载成功,已保存:
ENDFUNCTION.