ABAP--如何获取ABAP的程序事件顺序的调用堆栈 .

  1. report yhk. 
  2.  
  3. data: num1 type i, 
  4.       num2 type i, 
  5.       sum  type i. 
  6.  
  7. num1 = 2. num2 = 4
  8. perform addit. 
  9.  
  10. *&---------------------------------------------------------------------* 
  11. *&      Form  addit 
  12. *&---------------------------------------------------------------------* 
  13. *       text 
  14. *----------------------------------------------------------------------* 
  15. form addit. 
  16.   sum = num1 + num2. 
  17.   perform out. 
  18. endform.                    "addit 
  19.  
  20. *&---------------------------------------------------------------------* 
  21. *&      Form  out 
  22. *&---------------------------------------------------------------------* 
  23. *       text 
  24. *----------------------------------------------------------------------* 
  25. form out. 
  26.   field-symbols: <fs> type any. 
  27.   data: l_cstack_tab  type sys_callst, 
  28.         ls_cstack_tab like line of l_cstack_tab. 
  29.  
  30.   write: / 'Sum of', num1, 'and', num2, 'is', sum. 
  31.   call function 'SYSTEM_CALLSTACK' 
  32.     importing 
  33.       et_callstack = l_cstack_tab. " internal table 
  34. * l_cstack_tab 里就是abap的调用堆栈 
  35.   write: sy-uline. 
  36.   loop at l_cstack_tab into ls_cstack_tab. 
  37.  
  38. write: / sy-tabix, ls_cstack_tab-eventtype, ls_cstack_tab-eventname.
  39.  
  40.     clear: ls_cstack_tab. 
  41.   endloop. 
  42.  
  43.  
  44. endform.                    "out 
report yhk.

data: num1 type i,
      num2 type i,
      sum  type i.

num1 = 2. num2 = 4.
perform addit.

*&---------------------------------------------------------------------*
*&      Form  addit
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form addit.
  sum = num1 + num2.
  perform out.
endform.                    "addit

*&---------------------------------------------------------------------*
*&      Form  out
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form out.
  field-symbols: <fs> type any.
  data: l_cstack_tab  type sys_callst,
        ls_cstack_tab like line of l_cstack_tab.

  write: / 'Sum of', num1, 'and', num2, 'is', sum.
  call function 'SYSTEM_CALLSTACK'
    importing
      et_callstack = l_cstack_tab. " internal table
* l_cstack_tab 里就是abap的调用堆栈
  write: sy-uline.
  loop at l_cstack_tab into ls_cstack_tab.

    write: / sy-tabix, ls_cstack_tab-eventtype,  ls_cstack_tab-eventname.

    clear: ls_cstack_tab.
  endloop.


endform.                    "out

Result.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值