系统版本:
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_nameAPI名称,随给个名称 p_api_version版本号 p_init_msg_list是否初始化信息列表FND_API.G_FALSEp_commit是否Commit(Oracle事务处理)FND_API.G_FALSEp_validation_level验证层级(100)FND_API.G_VALID_LEVEL_FULL=100p_batch_recAR事务处理批 p_header_recAR事务处理题头 p_receivable_gl_dateGL日期p_header_rec.trx_date必须与它同一天p_commitment_rec p_lines_tblAR事务处理行 p_tax_lines_tblAR事务处理税行 p_freight_lines_tblAR事务处理运费行 p_salescredit_lines_tblAR事务处理贷项发票 p_dist_tblAR事务处理分配行 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>