收款核销API: ar_receipt_api_pub.apply
以下示例代码仅供学习参考:
declare
l_org_id number;
l_cash_receipt_id number;
l_customer_trx_id number;
l_apply_gl_date date;
l_apply_amount number;
l_return_status varchar2(10);
l_msg_count number;
l_msg_data varchar2(1000);
l_rowid varchar2(30);
l_count number;
begin
l_org_id := rpt_ap.org_id;
l_cash_receipt_id := rpt_ap.cash_receipt_id;
l_customer_trx_id := rpt_ap.customer_trx_id;
l_apply_gl_date := rpt_ap.gl_date;
l_apply_amount := rpt_ap.app_amount;
l_rowid := rpt_ap.rowid;
fnd_global.apps_initialize(user_id => 1322, -- 1
resp_id => 50559, -- 2
resp_appl_id => 222);
mo_global.set_policy_context('S', l_org_id);
---- 调用标准API开始核销操作
ar_receipt_api_pub.apply(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
p_validation_level => fnd_api.g_valid_level_full,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_cash_receipt_id => l_cash_receipt_id,
p_customer_trx_id => l_customer_trx_id,
p_amount_applied => l_apply_amount,
p_apply_date => sysdate,
p_apply_gl_date => l_apply_gl_date);
end ;
收款取消核销API: ar_receipt_api_pub.unapply
示例代码如下,仅供学习参考
declare
l_cash_receipt_id number;
l_customer_trx_id number;
l_org_id number;
l_rowid varchar2(30);
l_count number := 0;
l_return_status varchar2(20);
l_msg_count number;
l_msg_data varchar2(1000);
begin
l_cash_receipt_id := rpt_up.cash_receipt_id;
l_customer_trx_id := rpt_up.customer_trx_id;
l_org_id := rpt_up.org_id;
l_rowid := rpt_up.rowid;
---- 验证数据安全性
select count(1)
into l_count
from ar_receivable_applications_all araa
where araa.cash_receipt_id = l_cash_receipt_id
and araa.applied_customer_trx_id = l_customer_trx_id
and araa.org_id = l_org_id;
if l_count < 1 then
l_return_status := 'E';
l_msg_data := l_cash_receipt_id || '没有与' || l_customer_trx_id || '核销';
raise fnd_api.g_exc_error;
end if;
---- 初始化
mo_global.set_policy_context('S', l_org_id);
---- 调用标准API开始取消核销
ar_receipt_api_pub.unapply(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
p_validation_level => fnd_api.g_valid_level_full,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_reversal_gl_date => p_gl_date,
p_cash_receipt_id => l_cash_receipt_id,
p_customer_trx_id => l_customer_trx_id,
p_org_id => l_org_id);
end ;