使用API取消采购订单,行,发运

取消采购订单头时,只有在行没有完全被接收的情况才可以,不然会报错说完全接收的行不能取消

declare
  v_resp_id number;--36954  83423  82436
  X_RETURN_STATUS VARCHAR2(10);
begin
   select decode(85,85,50643,86,50647,50643) into v_resp_id from dual;
       fnd_global.apps_initialize(user_id      => 1333,
                             resp_id      => v_resp_id,
                             resp_appl_id => 201);
       MO_GLOBAL.init('SQLAP');
       
   PO_DOCUMENT_CONTROL_PUB.CONTROL_DOCUMENT(P_API_VERSION      => 1.0
                                            , --版本信息,目前为1.0
                                             P_INIT_MSG_LIST    => 'T'
                                            ,P_COMMIT           => 'T'
                                            ,X_RETURN_STATUS    => X_RETURN_STATUS
                                            , -- 返回接口运行结果,S为成功,E为错误,U为未知错误
                                             P_DOC_TYPE         => 'PO'
                                            ,P_DOC_SUBTYPE      => 'STANDARD'
                                            , -- 取消标准PO
                                             P_DOC_ID           => 36954
                                            ,P_DOC_NUM          => NULL
                                            , -- Po_header_id和单据编码任选一个参数即可
                                             P_RELEASE_ID       => NULL
                                            ,P_RELEASE_NUM      => NULL
                                            ,P_DOC_LINE_ID      => 83424
                                            ,P_DOC_LINE_NUM     => NULL
                                            ,P_DOC_LINE_LOC_ID  => null  --po_line_location_id
                                            ,P_DOC_SHIPMENT_NUM => NULL
                                            ,P_ACTION           => 'CANCEL'
                                            , --固定值
                                             P_ACTION_DATE      => NULL
                                            ,P_CANCEL_REASON    => NULL
                                            , --Cancel原因
                                             P_CANCEL_REQS_FLAG => NULL
                                            ,P_PRINT_FLAG       => NULL
                                            ,P_NOTE_TO_VENDOR   => NULL
                                            ,P_USE_GLDATE       => 'N');
 
    COMMIT;    
    dbms_output.put_line(X_RETURN_STATUS);--取消po也会有po通信输出
       
end ;

注意:因为没取消一次都会有PO通信输出,所以如果大批量的取消防止程序过多导致系统宕机,最好是一个跑完之后再取消另一个

可参考更改需求日期的代码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值