01. 在SE38模塊,創建一個程序
02.ABAP代碼如下:
*&---------------------------------------------------------------------* *& Report Z_TIANPAN_20190716_HELLO *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* * 此條為系統自動生成,為程序名 REPORT z_tianpan_20190716_hello 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, "字段名 keyflag(4), "KEY rollname(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' EXPORTING tabname = table "自己輸的表名 fieldname = field "字段 langu = sy-langu "語言碼 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. *將內表數據下載到本地,類型為Excel CONCATENATE p_dnfile table '.xls' INTO g_file. CALL FUNCTION 'WS_DOWNLOAD' EXPORTING filename = g_file filetype = 'DAT' TABLES data_tab = itab1. "被下載的內表 ENDFORM. *--輸出數據---------------------------------------- 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
03.代碼執行一下
04.文件已經被保存了,很完美
原創不易,如果您認為這篇文章有價值,認同作者的付出,可以微信二維碼打賞任意金額給作者(微信號:382477247)哦,謝謝。