IF lv_error IS NOT INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' * IMPORTING * RETURN = . ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X' * IMPORTING * RETURN = . ENDIF. ENDFUNCTION. 实现代码: *首先判断destination是否存在 CALL FUNCTION'CAT_CHECK_RFC_DESTINATION'EXPO...
SAP是给出的BAPI:BAPI_PRODORD_COMPLETE_TECH 可以用来对订单进行TECO技术关闭。 我们先使用SE37测试一下该BAPI。 事务码SE37,输入BAPI:BAPI_PRODORD_COMPLETE_TECH 点击执行,进入BAPI的初始屏幕, 可以看到这个BAPI实际上比较简单,导入参数可以不做输入,在表ORDERS中输入订单号,点击ORDERS的值,输入订单号: 点击返回后...
严格来说,commit work and wait也不是彻底的同步更新,此处等待数据更新操作完成,是指只等V1更新(优先级较高)完成,不等待其他优先级较低的V2更新等。 在调用BAPI更新标准对象时,除少数BAPI在函数内做commit之外,其他均需要调用一下function module完成提交 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = ...
首先得明白BAPI_TRANSACTION_COMMIT这个BAPI的作用。它功劳很大,在SAP里面很多的BAPI直接调用是不会有结果的,因为需要COMMIT一下才能生效,比如生成资产编号的BAPI:BAPI_FIXEDASSET_CREATE1,如果对他直接在SE37中调用运行或者使用SE38调用它,虽然可以得到一个资产编号,但是在AS03里面查询,系统会很白痴得提示你:该资产编号...
BAPI_OUTB_DELIVERY_CHANGE:拆批bapi WS_DELIVERY_UPDATE:拣货函数 BAPI_OUTB_DELIVERY_CONFIRM_DEC:过账函数 1. 2. 3. 4. 5. 样例 先做一个测试交货单 事务码:va01 创建销售订单 事务码:vl01n 生成交货单 交货单如下 盘盈两个批次 用于拆分上一个交货单的10个物料,这里简单分一下, ...
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...
ABAP 常用BAPI 大家好,又见面了,我是你们的朋友全栈君。 调用bapi都需要判断return消息类型,如果没有报错则BAPI_TRANSACTION_COMMIT和COMMIT WORK AND WAIT.,否则BAPI_TRANSACTION_ROLLBACK。 同时,部分bapi调用之后还需调用特定的函数进行垃圾回收,否则会造成duplicate问题。
1.如果是 commit work还是BAPI 那个异步提交,异步提交,则按顺序 则有4个更新进程需要去提交,这时判断 commit work 返回sy-subrc 只是 modify db结果,前面成功与否需要查看实际数据情况。2.如果是同步提交,则 判断 返回的 sy-subrc 如果成功 则整体提交成功 并EXIT当前DO循环,失败 则 ROLLBACK ,则全部失败。
ENDLOOP. IF po_order_number IS INITIAL. WRITE:/'PO number initial'. RETURN. ENDIF. CLEAR: lt_bapiret2. CALL FUNCTION'BAPI_TRANSACTION_COMMIT'EXPORTINGwait='X'IMPORTINGreturn=lt_bapiret2. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":...
CALL FUNCTION 'BAPI_REPMANCONF1_CREATE_MTS' EXPORTING bflushflags = gt_it1 bflushdatagen = gt_it* BFLUSHDATAMTS = i_bflushdatmts IMPORTING confirmation = i_fc return = i_re.IF i_re is INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = '' IMPORTING return = ls_return...