[zz]Oracle EBS API: 采购订单承诺日期更改示例

Oracle EBS API: 采购订单承诺日期更改示例(PO promise date updated with API )


本示例中, 采用PO模块的API, 实现订单行的送货承诺日期更改.  对其进行改动和扩展, 可实现对PO其他数据的更改.

    l_result_num := PO_CHANGE_API1_S.UPDATE_PO (
                                     X_PO_NUMBER        => p_po_num,
                                     X_RELEASE_NUMBER  => p_release_num,
                                     X_REVISION_NUMBER        => l_revision_num,
                                     X_LINE_NUMBER  => p_line_num,
                                     X_SHIPMENT_NUMBER        => p_shipment_num,
                                     NEW_QUANTITY  => NULL,
                                     NEW_PRICE   => NULL,
                                     NEW_PROMISED_DATE        => p_new_promised,
                                     LAUNCH_APPROVALS_FLAG => ‘Y’,
                                     UPDATE_SOURCE  => NULL,
                                     VERSION   => 1.0,
                                     X_OVERRIDE_DATE  => NULL,
                                     X_API_ERRORS             => l_po_error_rec,
                                     p_BUYER_NAME             => NULL
                                     );

 详细代码请查看附件. PO updated with API


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


create or replace package sg_po_update is


PROCEDURE update_promise_date(p_po_num IN VARCHAR2,
p_release_num IN NUMBER,
p_line_num IN VARCHAR2,
p_shipment_num IN VARCHAR2,
p_new_promised IN DATE,
p_comments IN VARCHAR2
);


FUNCTION get_original_promise_date(po_line_location_id IN NUMBER)
RETURN DATE;



end sg_po_update;
/
create or replace package body sg_po_update is


PROCEDURE update_promise_date(p_po_num IN VARCHAR2,
p_release_num IN NUMBER,
p_line_num IN VARCHAR2,
p_shipment_num IN VARCHAR2,
p_new_promised IN DATE,
p_comments IN VARCHAR2 )
AS
l_result_num NUMBER := NULL;
l_revision_num NUMBER;
l_po_error_rec PO_API_ERRORS_REC_TYPE;
l_user_id NUMBER;

BEGIN
l_user_id := fnd_profile.value('USER_ID');
fnd_global.apps_initialize(l_user_id, 50578, 201); --user_id, resp_id, resp_appl_id

IF p_release_num IS NULL THEN
SELECT pha.revision_num
INTO l_revision_num
FROM po.po_headers_all pha
WHERE pha.segment1 = p_po_num
AND ROWNUM = 1;
ELSE
SELECT pra.release_num
INTO l_revision_num
FROM po.po_headers_all pha,
po.po_releases_all pra
WHERE pha.segment1 = p_po_num
AND pra.release_num = p_release_num
AND ROWNUM = 1;
END IF;

l_result_num := PO_CHANGE_API1_S.UPDATE_PO (
X_PO_NUMBER => p_po_num,
X_RELEASE_NUMBER => p_release_num,
X_REVISION_NUMBER => l_revision_num,
X_LINE_NUMBER => p_line_num,
X_SHIPMENT_NUMBER => p_shipment_num,
NEW_QUANTITY => NULL,
NEW_PRICE => NULL,
NEW_PROMISED_DATE => p_new_promised,
LAUNCH_APPROVALS_FLAG => 'Y',
UPDATE_SOURCE => NULL,
VERSION => 1.0,
X_OVERRIDE_DATE => NULL,
X_API_ERRORS => l_po_error_rec,
p_BUYER_NAME => NULL
);
COMMIT;

EXCEPTION
WHEN OTHERS THEN
NULL;
END update_promise_date;


FUNCTION get_original_promise_date(po_line_location_id IN NUMBER)
RETURN DATE
IS
BEGIN

RETURN sysdate;

END get_original_promise_date;

END sg_po_update;
/


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/318394/viewspace-621032/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/318394/viewspace-621032/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值