调用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-t...
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. "过账发货相关函数 DATA: lv_vbeln TYPE bapiobdlvhdrcon-deliv_numb, ls_header_data LIKE bapiobdlvhdrcon, ls_header_control LIKE bapiobdlvhdrctrlcon, lt_return LIKE TABLE ...
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF.
SAP是给出的BAPI:BAPI_PRODORD_COMPLETE_TECH 可以用来对订单进行TECO技术关闭。 我们先使用SE37测试一下该BAPI。 事务码SE37,输入BAPI:BAPI_PRODORD_COMPLETE_TECH 点击执行,进入BAPI的初始屏幕, 可以看到这个BAPI实际上比较简单,导入参数可以不做输入,在表ORDERS中输入订单号,点击ORDERS的值,输入订单号: 点击返回后...
RFC Remote function Call 远程功能调用, 是SAP系统之间以及非SAP系统之间程序通信的基本接口技术. 例如BAPI , ALE都是基于RFC实现的。 RFC连接类型: 1. 类型2: R/2连接 2. 类型3: ABAP连接或R/3连接,指定主机名和通信服务 3. 类型I:内部连接,与当前系统连接到同一ABAP系统中,预定义无法修改,与SM51中所显...
BAPI_OUTB_DELIVERY_CONFIRM_DEC:过账函数 1. 2. 3. 4. 5. 样例 先做一个测试交货单 事务码:va01 创建销售订单 事务码:vl01n 生成交货单 交货单如下 盘盈两个批次 用于拆分上一个交货单的10个物料,这里简单分一下, 用migo盘盈 两个批次,分别为4个物料和6个物料 ...
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. 1. 2.循环中调用BAPI的话,每次执行完BAPI的COMMIT或者ROLLBACK操作以后,都要清空BAPI的传入传出参数,防止数据重复提交。 3.调用BAPI的时候,如果后续逻辑需要用到BAPI创建修改的数据,那么在提交COMMIT操作的时候需要wait一下,这样后续逻辑才能使用到最新的数据。 4.如果存在...
BAPI没有presentation layer。BAPI一般是同步调用,IDOC中的ALE例外,其在目标系统中依然是同步调用。可以通过update task实现数据更新。BAPI中不能使用COMMIT WORK。而要使用service object的method:BAPI_TRANSACTION_COMMIT和BAPI_TRANSACTION_ROLLBACK。BAPI使用了TRANSACTION MODEL,一个transaction代表了一个process unit或LUW...
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'EXPORTING wait = 'X'.ENDIF.另外建议在调⽤BAPI_TRANSACTION_COMMIT函数进⾏提交BAPI操作时,加上wait参数,这样直到BAPI函数中的数据库操作提交数据库后,才去执⾏其后⾯的语句,这样后⾯程序依赖于此提交的数据时就不会出问题:CALL FUNCTION 'BAPI_TRANSACTION_COMMIT...
CALLFUNCTION'BAPI_TRANSACTION_COMMIT' EXPORTING wait= 'X'. ENDFORM." FORM_SAVE *&---* *& Module RM07M-MTSNR INPUT *&---* * text *---* MODULErm07m-mtsnrINPUT. CONCATENATE'0000' rm07m-mtsnrINTOmtsnr. * SELECT SINGLE gmnga INTO gmnga FROM afru WHERE aufnr = rm07m-mtsnr...