自己做的报表有时候需要点击某行跳转到标准事务代码的需求
最常用的方法是:
SET PARAMETER ID 'XXX' FIELD 'VALUE'. “传值
CALL TRANSACTION 'T-CODE' AND SKIP FIRST SCREEN. "跳转到第一个屏幕
但是发现两个问题:
1,此方法只能跳转到第一个屏幕,如果屏幕中有需要执行才能往下走的就跳转不过去
2,日期格式貌似传值不过去(这个问题有待研究)
这个问题后面在网上找了好多方法,最后老大用BDC解决了(参考ZMM1036,例跳转MEK2)
user_command :
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
READ TABLE i_list INDEX selfield-tabindex.
CHECK sy-subrc = 0.
CASE ucomm.
WHEN '&IC1'. "&DATA_SAVE响应保存键 &IC1双击事件
* CASE selfield-sel_tab_field. "不判断列 点击任意一列都可以跳转
* WHEN '1-LLIEF'.
*&-----------------用bdc 跳转 ,可以跳转多级---------------------
PERFORM skip_to_mek2 .
*&---------------正常跳转,只能跳转一级------