前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在lean trace mode下运行function

在lean trace mode下运行function

作者头像
Jerry Wang
发布2019-07-09 18:54:09
5160
发布2019-07-09 18:54:09
举报

Created by Jerry Wang, last modified on Aug 30, 2014

在使用ABAP program调用function时trace mode指定为lean trace:

clipboard1
clipboard1

运行过程中的细节能够被trace下来:

clipboard2
clipboard2

并且能够在BRF+ workbench的trace view里浏览:

clipboard3
clipboard3

完整的report source code如下:

REPORT zcall_function.
DATA: lo_function   TYPE REF TO if_fdt_function,
      lo_context    TYPE REF TO if_fdt_context,
      lo_result     TYPE REF TO if_fdt_result,
      lx_fdt        TYPE REF TO cx_fdt,
      lo_trace      TYPE REF TO if_fdt_trace,
      lo_lean_trace TYPE REF TO if_fdt_lean_trace,
      lt_trace      TYPE if_fdt_lean_trace=>ts_record,
      lv_string     TYPE string.
FIELD-SYMBOLS <ls_message> TYPE if_fdt_types=>s_message.
lo_function =
cl_fdt_factory=>if_fdt_factory~get_instance(
)->get_function( iv_id = '3440B5B172DE1ED48BEAF1808FD98CB7' ).
TRY.
    lo_context = lo_function->get_process_context( ).
    lo_context->set_value( iv_name = 'CUSTOMER'
    ia_value = 'sap' ).
    CALL METHOD lo_function->process
      EXPORTING
        io_context    = lo_context
        iv_trace_mode = if_fdt_constants=>gc_trace_mode_lean
      IMPORTING
        eo_result     = lo_result
        eo_trace      = lo_trace.
    lo_result->get_value( IMPORTING ea_value = lv_string ).
    WRITE lv_string .
  CATCH cx_fdt INTO lx_fdt.
    LOOP AT lx_fdt->mt_message ASSIGNING <ls_message>.
      WRITE / <ls_message>-text.
    ENDLOOP.
ENDTRY.
lo_lean_trace ?= lo_trace.
lo_lean_trace->read( IMPORTING ets_trace_record = lt_trace ).
lo_lean_trace->save( ).
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Created by Jerry Wang, last modified on Aug 30, 2014
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档