BAPI 相关介绍资料(4)

2020-04-17 07:42

SORT it_payroll-inter-rt BY lgart ASCENDING.

LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1001'. \基础工资 it_tab-paym = it_tab-paym + st_payroll-betrg. ENDLOOP.

LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1002'. \岗位工资 it_tab-paym = it_tab-paym + st_payroll-betrg. ENDLOOP.

LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1003'. \房贴 it_tab-paym = it_tab-paym + st_payroll-betrg. ENDLOOP.

LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1004'. \车贴 it_tab-paym = it_tab-paym + st_payroll-betrg. ENDLOOP.

LOOP AT it_payroll-inter-rt INTO st_payroll WHERE lgart = '1004'. \书报费 it_tab-paym = it_tab-paym + st_payroll-betrg. ENDLOOP.

MODIFY it_tab.

IF it_tab-slmax <> it_tab-slmin.

it_tab-avem = ( it_tab-paym - it_tab-slmin ) / ( it_tab-slmax - it_tab-slmin ). ENDIF.

MODIFY it_tab.

* “现薪资”-“所属职级最低薪资”)/(”所属职级最高薪资”-“所属职级最低薪资”)

ENDLOOP.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chfeijj/archive/2009/09/11/4542618.aspx

BADI 收藏

BADI作为SAP的第三代用户出口,他的应用也越来越广泛,但如何找到合适的badi是许多abap程序员的困惑。我这里就介绍一下我个人的应用的经验,供大家参考。

1、badi对象的信息存储在SXS_INTER, SXC_EXIT, SXC_CLASS 和SXC_ATTR 这四个表中(参见SECE包);

2、sap程序都会调用cl_exithandler=>get_instance来判断对象是否存在,并返回实例;其实get_instance就是对上述几个表和他们的视图(V_EXT_IMP 和 V_EXT_ACT)进行查询和搜索。

3、基于这个机理,我查用ST05来监控一个TCODE来跟踪,然后选择查找有关上述几个表和视图的操作,就可获得相关BADI。

4、se18 查找接口,se19 实现接口就可以实现用户增强。 示例:用LE_SHP_DELIVERY_PROC控制跨月Cancel

METHOD IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER . data : thismonth(2) type c.

data : wa_likp type line of SHP_LIKP_T.

data : wa_log type line of SHP_BADI_ERROR_LOG_T. clear ct_log[],thismonth.

thismonth = sy-datum+4(2). \這一個月的月份 loop at it_xlikp into wa_likp.

check IS_V50AGL-WARENAUSG_STORNO ='X'.\代表作GI cancel if wa_likp-WADAT_IST+4(2) < thismonth. wa_log-VBELN = cs_likp-vbeln. wa_log-MSGTY = 'E'. \錯誤訊息

wa_log-MSGID = 'ZDN_ERROR'. \這一個class要自己建 wa_log-MSGNO = '001'.

append wa_log to ct_log. \寫入 endif. endloop.

ENDMETHOD.

BADI的实现步骤。

A.BADI定义

1.SE18。

2.输入要创建的BADI的名字,点击\。

3.输入BADI的描述性文本,在\选项卡上输入接口的名字,也可以采用SAP建议的接口的名字。同时,BADI类也会被创建。

例如:对于BADI \,SAP会建议\作为接口的名字,\作为类的名字。

4.保存BADI。

5.双击接口的名字,会跳转到Class Builder界面,在这里你可以定义接口的方法。

6.保存并激活接口。

B.在应用程序中调用BADI

1.声明一个BADI接口的参考引用变量。

例如:DATA exit_ref TYPE REF TO zif_ex_test.

2.调用类CL_EXITHANDLER的静态方法GET_INSTANCE,将返回一个请求对象的实例。

例如:

CALL METHOD CL_EXITHANDLER=>GET_INSTANCE CHANGING instance = exit_ref。

3.现在你可以调用BADI的所有方法了

C.BADI实现

1.SE19。

2.输入BADI实现的名字,点击\。

3.输入BADI定义的名字。

4.输入实现的描述性文本,在\选项卡上输入实现类的名字。可以采用SAP建议的名字。

例如:\,SAP会建议\。

5.保存实现。

6.双击某一方法名会跳转到Class Builder界面,在这里你可以添加代码来重定义接口方法。

7.激活实现。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chfeijj/archive/2008/04/01/2235159.aspx


BAPI 相关介绍资料(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:昆山台资企业名录大全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: