SAP项目中开发用到的BAPI

调用bapi都需要判断return消息类型,如果没有报错则BAPI_TRANSACTION_COMMIT和COMMIT WORK AND WAIT.,否则BAPI_TRANSACTION_ROLLBACK。

同时,部分bapi调用之后还需调用特定的函数进行垃圾回收,否则会造成duplicate问题。

 

常用的处理方式:

LOOP AT lt_return INTO wa_return.

IF wa_return-type EQ ‘E’ OR

wa_return-type = ‘A’ OR

wa_return = ‘X’.

cp_eind = ‘X’.  “失败

ENDIF.

 

IF cp_eind NE ‘X’.

CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’

EXPORTING

wait = ‘X’.

 

COMMIT WORK AND WAIT.

ELSE.

CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’ .

ENDIF.

 

如果需要记录错误消息,可以通过使用bapi的return表中的消息号和id取T100.

SELECT SINGLE *

INTO CORRESPONDING FIELDS OF gt_t100

FROM t100

WHERE sprsl = ‘E’ “取英文.

AND  arbgb =  wa_return-id

AND  msgnr = wa_return-number.

 

有一点需要注意:ins

剩余80%内容付费后可查看

如若转载,请注明出处:https://www.gavindong.com/2597.html

微信沟通