您的位置:首页 > 其它

导出SAP表结构到EXCEl

2015-06-11 09:43 330 查看
将SE11中看到的数据表结构,***成EXCEL文件,以便查阅。CPOY的话得一个字段一个元素的COPY再一个个粘过去,不仅麻烦,如果一个结构有上百个元素,工作量也是很大的。

研究整理了一下各位达人的程序,写了一个新的导出程序。本程序只需在选择界面输入要导出的结构名及保存路径,就在该路径下生成一个以该结构命名的EXCEL文件。也可以指定输出结构的单独字段。代码如下:

REPORT YTABLE no standard page heading

message-id y2

line-size 200

line-count 65 .

tables: dfies, x030l,rlgrap.

data: begin of itab occurs 0.

include structure dfies.

data: end of itab.

data: g_file like rlgrap-filename. "下载保存路径

data:begin of itab1 occurs 0,

fieldname like dfies-fieldname, "Fieldname

keyflag(4), "KEY

rollname(12), "Data Element

datatype(8), "Data Type

leng(6), "Length

decimals(6), "Decimal Place

fieldtext like dfies-fieldtext, "Short Description

end of itab1.

*********************定义屏幕

selection-screen begin of block blk1 with frame title text-001.

parameters:table type ddobjname default 'VBAK',

field type dfies-fieldname,

p_dnfile like rlgrap-filename default 'D:/'.

selection-screen end of block blk1.

start-of-selection.

perform read_data."从表中读取数据

end-of-selection.

perform write_data."输出数据

*&---------------------------------------------------------------------*

*& Form read_data

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

form read_data .

*****CALL FUNCTION*****

call function 'DDIF_FIELDINFO_GET'

exporting

tabname = table

fieldname = field

langu = sy-langu "这个可以改成别的语言,For Short Descriptions

tables

dfies_tab = itab " like table dfies.

exceptions

not_found = 1

internal_error = 2

others = 3.

if sy-subrc <> 0.

* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

itab1-fieldname = '字段'. "Fieldname

itab1-keyflag = '主键'. "KEY

itab1-rollname = '数据元素'. "Data Element

itab1-datatype = '数据类型'. "Data Type

itab1-leng = '长度'. "Length

itab1-decimals = '小数位'. "Decimal Place

itab1-fieldtext = '短文本'. "Short Description

append itab1.

clear itab1.

loop at itab.

itab1-fieldname = itab-fieldname.

itab1-keyflag = itab-keyflag.

itab1-rollname = itab-rollname.

itab1-datatype = itab-datatype.

itab1-leng = itab-leng.

itab1-decimals = itab-decimals.

itab1-fieldtext = itab-fieldtext.

append itab1.

clear itab1.

endloop.

concatenate p_dnfile table '.xls' into g_file. "这里为将内表数据下载到本地D盘,名字为表名,类型为EXCEL

call function 'WS_DOWNLOAD'

exporting

filename = g_file

filetype = 'DAT'

tables

data_tab = itab1. "被下载的内表

endform. " read_data

*&---------------------------------------------------------------------*

*& Form write_data

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

form write_data .

loop at itab1.

write:/ itab1-fieldname, "Fieldname

itab1-keyflag, "KEY

itab1-rollname, "Data Element

itab1-datatype, "Data Type

itab1-leng, "Length

itab1-decimals, "Decimal Place

itab1-fieldtext. "Short Description

endloop.

endform. " write_data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: