一段代码打印SAP brf+明细信息
发布日期:2021-06-30 14:05:48
浏览次数:3
分类:技术文章
本文共 3835 字,大约阅读时间需要 12 分钟。
REPORT zdisplay_app.PARAMETERS: id TYPE if_fdt_types=>id OBLIGATORY DEFAULT'FA163E8EAB031EE48B847A9EF751D5F0'.START-OF-SELECTION. TYPES: BEGIN OF ty_code, code TYPE if_fdt_types=>object_type, text TYPE string, END OF ty_code. DATA: lo_instance TYPE REF TO if_fdt_admin_data, lo_app TYPE REF TO cl_fdt_application, lt_all TYPE if_fdt_types=>ts_object_id, lv_unknown TYPE boolean, lt_map TYPE STANDARD TABLE OF ty_code WITH KEY code. CALL METHOD cl_fdt_factory=>get_instance_generic EXPORTING iv_id = id IMPORTING eo_instance = lo_instance ev_id_unknown = lv_unknown. lo_app ?= lo_instance. lo_app->if_fdt_application_objects~get_all( IMPORTING ets_object_id = lt_all ). LOOP AT lt_all ASSIGNING FIELD-SYMBOL(). PERFORM display USING . ENDLOOP.FORM display USING id TYPE if_fdt_types=>id. CALL METHOD cl_fdt_factory=>get_instance_generic EXPORTING iv_id = id IMPORTING eo_instance = lo_instance ev_id_unknown = lv_unknown. IF lv_unknown = abap_true. WRITE: / 'ID Unknown.' COLOR COL_NEGATIVE. EXIT. ENDIF. DATA(lo_object) = cl_abap_classdescr=>describe_by_object_ref( lo_instance ). DATA(lv_type) = lo_object->get_relative_name( ). WRITE: / lv_type COLOR COL_NEGATIVE. PERFORM display_by_type USING lo_instance lv_type.ENDFORM.FORM display_by_type USING io_obj TYPE REF TO if_fdt_admin_data iv_type TYPE string. DATA: lv_type_full TYPE string, lv_text TYPE string, lt_dt_all TYPE if_fdt_types=>ts_object_id, lt_fo_all LIKE lt_dt_all. CASE iv_type. WHEN 'CL_FDT_ELEMENT'. DATA(lo_element) = CAST cl_fdt_element( io_obj ). lv_text = lo_element->if_fdt_admin_data~get_name( ). DATA(lv_type) = lo_element->if_fdt_admin_data~get_object_type( ). PERFORM get_type USING lv_type CHANGING lv_type_full. WRITE: / 'element text: ', lv_text, ' type: ', lv_type_full COLOR COL_POSITIVE. WHEN 'CL_FDT_DECISION_TABLE'. DATA(lo_dt) = CAST cl_fdt_decision_table( io_obj ). lv_text = lo_dt->if_fdt_admin_data~get_name( ). WRITE: / 'Decision table name: ', lv_text COLOR COL_GROUP. CLEAR: lt_dt_all. lo_dt->if_fdt_admin_data~get_referenced_objects( IMPORTING ets_object_id = lt_dt_all ). WRITE: / 'Below elements are within decision table' COLOR COL_POSITIVE. LOOP AT lt_dt_all ASSIGNING FIELD-SYMBOL( ). PERFORM display USING . ENDLOOP. WRITE: / 'Decision table element display finished' COLOR COL_POSITIVE. WHEN 'CL_FDT_FORMULA'. DATA(lo_fo) = CAST cl_fdt_formula( io_obj ). lv_text = lo_fo->if_fdt_admin_data~get_name( ). WRITE: / 'Formula name: ' , lv_text COLOR COL_KEY. lo_fo->if_fdt_admin_data~get_referenced_objects( IMPORTING ets_object_id = lt_fo_all ). LOOP AT lt_fo_all ASSIGNING FIELD-SYMBOL( ). WRITE: / 'Below elements are within formula' COLOR COL_POSITIVE. PERFORM display USING . WRITE: / 'formula element display finished' COLOR COL_POSITIVE. ENDLOOP. ENDCASE.ENDFORM.FORM get_type USING iv_code TYPE if_fdt_types=>object_type CHANGING cv_type TYPE string. DATA: ls_posttype TYPE ty_code, lv_code TYPE dd07l-domvalue_l, lv_result TYPE dd07v. READ TABLE lt_map WITH KEY code = iv_code INTO ls_posttype. IF sy-subrc = 0. cv_type = ls_posttype-text. ELSE. CLEAR ls_posttype. lv_code = iv_code. CALL FUNCTION 'DD_DOMVALUE_TEXT_GET' EXPORTING domname = 'FDT_OBJECT_TYPE' value = lv_code IMPORTING dd07v_wa = lv_result. ls_posttype-code = iv_code. ls_posttype-text = lv_result-ddtext. APPEND ls_posttype TO lt_map. cv_type = lv_result-ddtext. ENDIF.ENDFORM.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
转载地址:https://jerry.blog.csdn.net/article/details/103967026 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年05月04日 00时10分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Qt 在windows下的串口读写
2019-05-01
如何在SpringBoot中使用Atomikos实现分布式事务
2019-05-01
如何在SpringMVC中配置Atomikos分布式事务
2019-05-01
Spring Boot 注解@EnableAutoConfiguration的解析
2019-05-01
SpringApplication执行流程
2019-05-01
Spring Boot Quartz 动态任务实现方式
2019-05-01
Spring MVC Quartz 动态任务实现方式
2019-05-01
自定义Starter
2019-05-01
插入排序
2019-05-01
选择排序
2019-05-01
Spring Batch 入门之 CSV-to-DB
2019-05-01
快速排序 - 学习记录
2019-05-01
日志写入数据库:Log4j2-JDBCAppender
2019-05-01
日志写入数据库:Logback-DBAppender
2019-05-01
分布式事务原理探究(一)
2019-05-01
MySQL 中基于 XA 实现的分布式事务-学习记录
2019-05-01
Java 并发学习记录之synchronized
2019-05-01
Java 并发学习记录之 wait/notify 机制
2019-05-01
Java 并发学习记录之线程间通信
2019-05-01
Java并发学习记录之volatile
2019-05-01