记录一个接口文档导出工具,转自:老胡Tiger/110.ABAP使用技巧/204.接口文档导出工具
1.程序优化
- 迁移数据文件到Temp目录,解决没有D盘用户运行报错的问题
- 增加保存路径选择,用户可自定义输出目录
- 修复了STRING等类型字段无法导出的错误-2021.11.25
- 修复了Exporting参数必输的错误逻辑-2021.11.25
2.使用方法
-
运行事务代码SMW0,上传Excel模板文件(对象名称为:ZRFC_DOC_MODEL_SIMPLE_BATCH)
-
新建报表程序,并执行
REPORT zcreate_rfc_document. TABLES tfdir. TYPES ty_xmmc TYPE c LENGTH 20."项目名称 TYPES ty_xt TYPE c LENGTH 20."系统 TYPES ty_td TYPE c LENGTH 20."团队 TYPES ty_mk TYPE c LENGTH 20."模块 TYPES ty_cjz TYPE c LENGTH 20."创建者 TYPES ty_cjr TYPE c LENGTH 20."创建日 DATA: gd_path TYPE string. PARAMETERS : p_file TYPE char30 OBLIGATORY. SELECT-OPTIONS : s_jkmc FOR tfdir-funcname NO INTERVALS. "只一个框 NO INTERVALS 必输 OBLIGATORY 隐藏 NO-DISPLAY 隐藏黄箭头 NO-EXTENSION PARAMETERS p_spras TYPE funct-spras DEFAULT sy-langu. INITIALIZATION. %_p_file_%_app_%-text = '文件导出路径 '. %_s_jkmc_%_app_%-text = '接口名称 '. %_p_spras_%_app_%-text = '语言 '. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. CALL METHOD cl_gui_frontend_services=>directory_browse EXPORTING window_title = '导出路径' CHANGING selected_folder = gd_path. CALL METHOD cl_gui_cfw=>flush. CONCATENATE gd_path '\' INTO p_file. *点击执行按钮运行 START-OF-SELECTION. INCLUDE ole2incl. DATA: excel TYPE ole2_object. "Excel Object DATA: books TYPE ole2_object. "List of workbooks DATA: range TYPE ole2_object. DATA: book TYPE ole2_object. "workbook DATA ls_tfdir TYPE tfdir. DATA ls_tftit TYPE tftit. DATA lt_fupararef TYPE TABLE OF fupararef WITH HEADER LINE. DATA lt_funct TYPE TABLE OF funct WITH HEADER LINE. DATA: BEGIN OF lt_itab OCCURS 0, xmmc TYPE ty_xmmc , "项目名称 xt TYPE ty_xt , "系统 td TYPE ty_td , "团队 mk TYPE ty_mk , "模块 funcname TYPE tfdir-funcname, "接口名称 pname_main TYPE c LENGTH 40, "接口描述 cjz TYPE ty_cjz , "创建者 cjr TYPE ty_cjr , "创建日 cslx TYPE c LENGTH 6, "参数类型 csjg TYPE c LENGTH 1, "参数结构 parameter TYPE fupararef-parameter, "参数名称 position TYPE dd03p-position, "顺序号 fieldname TYPE dd03p-fieldname, "字段名称 datatype TYPE dd03p-datatype , "字段类型 leng TYPE dd03p-leng , "字段长度 decimals TYPE dd03p-decimals , "字段小数位数 scrtext_m TYPE funct-stext, "字段描述 defaultval TYPE fupararef-defaultval, "缺省值 optional TYPE fupararef-optional, "是否必填 pposition TYPE fupararef-pposition, "参数顺序 structure TYPE fupararef-structure, "接口参数的关联类型 scrtext_t TYPE funct-stext, "字段描述 funcname_e TYPE tfdir-funcname, "接口名称 END OF lt_itab. DATA typename TYPE typename. DATA typekind TYPE ddtypekind. DATA gotstate TYPE ddgotstate. DATA dd04v_wa TYPE dd04v. DATA dd02v_wa TYPE dd02v . DATA dd09l_wa TYPE dd09v . DATA lt_dd03p_tab