01. 在SE38模块,创建一个程序
02.ABAP代码如下:
*&---------------------------------------------------------------------* *& Report Z_TIANPAN_20190716_HELLO *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------** 此条为系统自动生成,为程序名 REPORT z_tianpan_20190716_hello NO STANDARD PAGE HEADINGMESSAGE-ID y2LINE-SIZE 200LINE-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, "字段名keyflag(4), "KEYrollname(12), "数据元素datatype(8), "数据类型leng(6), "长度decimals(6), "小数位fieldtext LIKE dfies-fieldtext, "字段简短描述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 'G:\'. "默认存放地址 SELECTION-SCREEN END OF BLOCK blk1.START-OF-SELECTION.PERFORM read_data."从表中读取数据END-OF-SELECTION.PERFORM write_data."输出数据*--从表中读取数据---------------------------------------- FORM read_data . *****CALL FUNCTION*****CALL FUNCTION 'DDIF_FIELDINFO_GET'EXPORTINGtabname = table "自己输的表名fieldname = field "字段langu = sy-langu "语言码TABLESdfies_tab = itab " like table dfies.EXCEPTIONSnot_found = 1internal_error = 2OTHERS = 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 = '字段'. "Fieldnameitab1-keyflag = '主键'. "KEYitab1-rollname = '数据元素'. "Data Elementitab1-datatype = '数据类型'. "Data Typeitab1-leng = '长度'. "Lengthitab1-decimals = '小数位'. "Decimal Placeitab1-fieldtext = '短文本'. "Short DescriptionAPPEND 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.*将内表数据下载到本地,类型为ExcelCONCATENATE p_dnfile table '.xls' INTO g_file.CALL FUNCTION 'WS_DOWNLOAD'EXPORTINGfilename = g_filefiletype = 'DAT'TABLESdata_tab = itab1. "被下载的内表ENDFORM.*--输出数据---------------------------------------- FORM write_data .LOOP AT itab1.WRITE:/ itab1-fieldname, "Fieldnameitab1-keyflag, "KEYitab1-rollname, "Data Elementitab1-datatype, "Data Typeitab1-leng, "Lengthitab1-decimals, "Decimal Placeitab1-fieldtext. "Short DescriptionENDLOOP. ENDFORM. " write_data
03.代码执行一下
04.文件已经被保存了,很完美