出口增强 以EXIT_SAPLSZAR_001为例
水平有限,不讲理论,看都看不懂,呵呵
双击,(有警告,回车就好,多回车几次就行)新建个include程序,类型别错了
就拿一个完整的例子开始吧
仅仅是例子,没啥实际项目作用。
例子:XK01,创建供应商,国家强制输入德国!
1、首先查找出口:MODX_FUNCTION_ACTIVE_CHECK 函数,检查函数是否激活
在函数MODX_FUNCTION_ACTIVE_CHECK打断点
select single * from tfdir where funcname = l_funcname.
打在这行,l_funcname就是出口的函数名
好了,这个出口函数就找到了:EXIT_SAPLSZAR_001
2、打开函数,看到,INCLUDE ZXSZARU01 .
查看EXIT_SAPLSZAR_001输入输出参数:
输入:
X_ADRC_STRUC LIKE ADRC_STRUC
输出:
Y_ADRC_STRUC LIKE ADRC_STRUC
明显是对X_ADRC_STRUC数据进行判断,然后赋值给Y_ADRC_STRUC。
代码如下:
*&---------------------------------------------------------------------*
*& 包括 ZXSZARU01
*&---------------------------------------------------------------------*
IF sy-uname = 'LIUMENG'.
"测试,加上我的用户名,别影响别的
IF x_adrc_struc-country <> 'DE'.
MESSAGE 'must be DE' TYPE 'I'.
x_adrc_struc-country = 'DE'.
ENDIF.
x_adrc_struc-street = '柏林250号大院2号'.
MOVE x_adrc_struc to y_adrc_struc.
"输出赋值
ENDIF.
*&
*&---------------------------------------------------------------------*
IF
ENDIF.
激活。
3、CMDO创建出口
这个增强的查找才是关键!
查找步骤:
查看EXIT_SAPLSZAR_001在哪个package
然后查找:
到组健中看出口名称跟你debug的是否一致
好了,这个就是要的那个出口,这个时候都是红灯,点激活即可
到此
就全部完成了
debug试试也行
执行结果:
如果有什么不对的地方,请批评指正,小弟也是学习阶段
呵呵
http://blog.sina.com.cn/sapliumeng