系统版本:
RDBMS : 9.2.0.6.0
Oracle 应用产品 : 11.5.10.2
上篇文章:Oracle EBS AR 客户返利和坏帐准备事务处理类型设置, 用户提到“贷项-坏帐准备”和“贷项-客户返利”事务处理要做AR中操作,根据客户需求可用用AR事务处理接口或API来实现批量导入AR事务处理。但是,网上并没有找到AR贷项通知单的API或接口实例文献。
通过以查看AR事务下功能Form源代码和后台相关于AR事务处理的包,找到一个比较合适包:ar_transaction_pub.Create_Transaction。但是,希望有大神帮助验证或提供建议!
快速参考
API:ar_transaction_pub.Create_Transaction
参数 | 说明 | 默认值 |
p_api_name | API名称,随给个名称 | |
p_api_version | 版本号 | |
p_init_msg_list | 是否初始化信息列表 | FND_API.G_FALSE |
p_commit | 是否Commit(Oracle事务处理) | FND_API.G_FALSE |
p_validation_level | 验证层级(100) | FND_API.G_VALID_LEVEL_FULL=100 |
p_batch_rec | AR事务处理批 | |
p_header_rec | AR事务处理题头 | |
p_receivable_gl_date | GL日期 | p_header_rec.trx_date必须与它同一天 |
p_commitment_rec | | |
p_lines_tbl | AR事务处理行 | |
p_tax_lines_tbl | AR事务处理税行 | |
p_freight_lines_tbl | AR事务处理运费行 | |
p_salescredit_lines_tbl | AR事务处理贷项发票 | |
p_dist_tbl | AR事务处理分配行 | |
p_return_status | 返回值,执行结果返回标志 | S表志成功,E表示错误 |
p_msg_count | 返回值,消息记录条数 | |
p_msg_data | 返回值,消息数据 | |
p_errors | 返回值,错误集 | |
p_customer_trx_id | 返回值,AR事务处理标识ID | |
例实代码如下:
- Declare
- l_batch_rec ra_batches%rowtype;
- l_header_rec ra_customer_trx%rowtype;
- l_customer_trx_id Number;
- l_commitment_rec arp_process_commitment.commitment_rec_type;
- l_lines_tbl ar_transaction_pub.Line_Tbl_Type;
- l_tax_lines_tbl ar_transaction_pub.Line_Tbl_Type;
- l_freight_lines_tbl ar_transaction_pub.Line_Tbl_Type;
- l_salescredit_lines_tbl ar_transaction_pub.Salescredit_Tbl_Type;
- l_dist_tbl ar_transaction_pub.Dist_Tbl_Type;
- l_return_status varchar2(2000);
- l_msg_count NUMBER;
- l_msg_data varchar2(4000);
- l_errors arp_trx_validate.Message_Tbl_Type;
- i Number;
- Begin
-
- l_errors.delete;
- fnd_global.apps_initialize(user_id => 1110,
- resp_id => 50268,
- resp_appl_id => 222);
- fnd_client_info.set_org_context(114);
-
- l_batch_rec.BATCH_SOURCE_ID := 1002;
-
-
- l_header_rec.TRX_NUMBER := 'CXP151026_001';
-
- l_header_rec.BATCH_SOURCE_ID := l_batch_rec.batch_source_id;
-
- l_header_rec.CUST_TRX_TYPE_ID := 1080;
-
- l_header_rec.ORG_ID := 114;
-
- l_header_rec.TRX_DATE := sysdate;
- /****收单方***/
-
- l_header_rec.BILL_TO_CUSTOMER_ID := 1253;
-
- l_header_rec.BILL_TO_SITE_USE_ID := 1210;
-
- l_header_rec.BILL_TO_CONTACT_ID := 6058;
- /****付款客户***/
-
- l_header_rec.PAYING_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;
-
- l_header_rec.PAYING_SITE_USE_ID := l_header_rec.BILL_TO_SITE_USE_ID;
-
- l_header_rec.SOLD_TO_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;
-
- l_header_rec.PRIMARY_SALESREP_ID := 100000049;
-
- l_header_rec.INVOICE_CURRENCY_CODE := 'CNY';
- l_header_rec.SET_OF_BOOKS_ID := 1001;
-
- l_header_rec.STATUS_TRX := 'OP';
-
- l_header_rec.PRINTING_PENDING := 'Y';
-
- l_header_rec.COMPLETE_FLAG := 'N';
-
- l_lines_tbl(1).ORG_ID := l_header_rec.ORG_ID;
- l_lines_tbl(1).EXTENDED_AMOUNT := -300;
- l_lines_tbl(1).REVENUE_AMOUNT := -300;
-
- l_lines_tbl(1).LINE_NUMBER := 1;
- l_lines_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;
-
- l_lines_tbl(1).DESCRIPTION := '测试行1';
- l_lines_tbl(1).LINE_TYPE := 'LINE';
-
- l_lines_tbl(1).AUTOTAX := 'N';
-
-
- l_dist_tbl(1).ACCOUNT_CLASS := 'REC';
- l_dist_tbl(1).ACCOUNT_SET_FLAG := 'N';
-
- l_dist_tbl(1).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;
- l_dist_tbl(1).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;
-
- l_dist_tbl(1).CODE_COMBINATION_ID := 1494;
-
- l_dist_tbl(1).GL_DATE := l_header_rec.TRX_DATE;
-
- l_dist_tbl(1).ORG_ID := l_header_rec.ORG_ID;
-
- l_dist_tbl(1).PERCENT := 100;
-
- l_dist_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;
-
-
- l_dist_tbl(2).line_index := 1;
-
- l_dist_tbl(2).ACCOUNT_CLASS := 'REV';
- l_dist_tbl(2).ACCOUNT_SET_FLAG := 'N';
-
- l_dist_tbl(2).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;
- l_dist_tbl(2).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;
-
- l_dist_tbl(2).CODE_COMBINATION_ID := 12814;
-
- l_dist_tbl(2).GL_DATE := l_header_rec.TRX_DATE;
-
- l_dist_tbl(2).ORG_ID := l_header_rec.ORG_ID;
-
- l_dist_tbl(2).PERCENT := 100;
-
- l_dist_tbl(2).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;
-
- ar_transaction_pub.Create_Transaction(p_api_name => 'ARXTWMAI',
- p_api_version => 1,
- p_init_msg_list => FND_API.G_FALSE,
- p_commit => FND_API.G_FALSE,
- p_validation_level => FND_API.G_VALID_LEVEL_FULL,
- p_batch_rec => l_batch_rec,
- p_header_rec => l_header_rec,
- p_receivable_gl_date => l_header_rec.TRX_DATE,
- p_commitment_rec => l_commitment_rec,
- p_lines_tbl => l_lines_tbl,
- p_tax_lines_tbl => l_tax_lines_tbl,
- p_freight_lines_tbl => l_freight_lines_tbl,
- p_salescredit_lines_tbl => l_salescredit_lines_tbl,
- p_dist_tbl => l_dist_tbl,
- p_return_status => l_return_status,
- p_msg_count => l_msg_count,
- p_msg_data => l_msg_data,
- p_errors => l_errors,
- p_customer_trx_id => l_customer_trx_id);
-
- dbms_output.put_line('p_return_status=' || l_return_status);
- dbms_output.put_line('l_msg_data=' || l_msg_data);
- dbms_output.put_line('l_errors=' || l_errors.count);
- For i In 1 .. l_errors.count Loop
- dbms_output.put_line('customer_trx_id:' || l_errors(i)
- .customer_trx_id);
- dbms_output.put_line('message_name:' || l_errors(i).message_name);
- dbms_output.put_line('token_name_1:' || l_errors(i).token_name_1);
- dbms_output.put_line('token_1:' || l_errors(i).token_1);
- dbms_output.put_line('token_name_2:' || l_errors(i).token_name_2);
- dbms_output.put_line('token_2:' || l_errors(i).token_2);
- dbms_output.put_line('encoded_message:' || l_errors(i)
- .encoded_message);
- dbms_output.put_line('translated_message:' || l_errors(i)
- .translated_message);
- End Loop;
- dbms_output.put_line('p_customer_trx_id=' || l_customer_trx_id);
- End;<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
- </span></span>