Oracle EBS AR 其他API
阿新 • • 發佈:2018-11-26
DECLARE L_CR_ID NUMBER; L_ATTRIBUTE_REC AR_RECEIPT_API_PUB.ATTRIBUTE_REC_TYPE; L_GLOBAL_ATT_REC AR_RECEIPT_API_PUB.global_attribute_rec_type; L_RETURN_STATUS VARCHAR2(100); L_MSG_COUNT NUMBER; L_MSG_DATA VARCHAR2(2000); I NUMBER; L_MESSAGE_LISTVARCHAR2(1000); L_MSG_INDEX_OUT NUMBER; BEGIN FND_GLOBAL.APPS_INITIALIZE(USER_ID => 1111, RESP_ID => 50737 , RESP_APPL_ID => 50737); mo_global.set_policy_context('S', 142); AR_RECEIPT_API_PUB.REVERSE( P_API_VERSION=> 1.0, P_COMMIT => 'F', P_VALIDATION_LEVEL => 100, P_CASH_RECEIPT_ID => 1000, P_REVERSAL_DATE => fnd_conc_date.string_to_date('2017-03-31'), P_REVERSAL_GL_DATE => fnd_conc_date.string_to_date('2017-03-31'), P_REVERSAL_CATEGORY_CODE => 'REV', P_REVERSAL_REASON_CODE => 'PAYMENT REVERSAL', P_REVERSAL_COMMENTS => 'TEST', X_RETURN_STATUS => L_RETURN_STATUS, X_MSG_COUNT => L_MSG_COUNT, X_MSG_DATA => L_MSG_DATA); IF L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN FOR I IN 1..L_MSG_COUNT LOOP FND_MSG_PUB.GET(P_MSG_INDEX => I ,P_DATA => L_MESSAGE_LIST ,P_MSG_INDEX_OUT => L_MSG_INDEX_OUT); DBMS_OUTPUT.PUT_LINE(L_MESSAGE_LIST); END LOOP; ELSE DBMS_OUTPUT.PUT_LINE(L_CR_ID); DBMS_OUTPUT.PUT_LINE(L_RETURN_STATUS); DBMS_OUTPUT.PUT_LINE('L_MSG_DATA '||L_MSG_DATA); END IF; END;
--set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); -- 2) Call the API AR_RECEIPT_API_PUB.CREATE_CASH ( 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_currency_code => 'USD', p_amount => 1005.65, p_receipt_number => 'rct-api1', p_receipt_date => '22-JUL-2011', p_gl_date => '22-JUL-2011', p_customer_number => '1007', p_receipt_method_id => 1001, p_cr_id => l_cash_receipt_id ); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Cash Receipt id ' || l_cash_receipt_id ); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '||l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status varchar2(1); l_msg_count number; l_msg_data varchar2(240); p_count number :=0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); -- 2) Call the 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, p_cash_receipt_id => 83989, p_customer_trx_id => 527928, x_return_status => l_return_status, x_msg_count => l_msg_count, x_msg_data => l_msg_data); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; end; / set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.create_and_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_amount => 2000.00, p_receipt_number => 'rct-api2', p_receipt_date => '22-JUL-2011', p_gl_date => '22-JUL-2011', p_customer_number => 1007, p_receipt_method_id => 1001, p_trx_number => '102317', p_cr_id => l_cash_receipt_id ); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Cash Receipt ID ' || l_cash_receipt_id ); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); 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_cash_receipt_id => 83989, p_applied_payment_schedule_id => 182804, p_reversal_gl_date => '23-JUL-2011' ); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.APPLY_ON_ACCOUNT ( 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 => 83992); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.UNAPPLY_ON_ACCOUNT ( 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 => 83992, P_reversal_gl_date => '23-JUL-2011'); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.reverse ( 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 => 83993, p_reversal_category_code => 'REV', p_reversal_reason_code => 'WRONG INVOICE'); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; l_application_ref_type ar_receivable_applications.application_ref_type%TYPE; l_application_ref_id ar_receivable_applications.application_ref_id%TYPE; l_application_ref_num ar_receivable_applications.application_ref_num%TYPE; l_secondary_application_ref_id ar_receivable_applications.secondary_application_ref_id%TYPE; l_receivable_application_id ar_receivable_applications.receivable_application_id%TYPE; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.ACTIVITY_APPLICATION ( 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 => 83994, p_applied_payment_schedule_id => -3, p_receivables_trx_id => 2536, p_receivable_application_id => l_receivable_application_id p_application_ref_type => l_application_ref_type, p_application_ref_id => l_application_ref_id, p_application_ref_num => l_application_ref_num, p_secondary_application_ref_id => l_secondary_application_ref_id); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Application ID ' || l_receivable_application_id; if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; l_receipt_number varchar(10); BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); l_receipt_number := 'misc-api1'; AR_RECEIPT_API_PUB.CREATE_MISC ( 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_amount => 4560.00, p_receipt_date => '22-JUL-2011', p_gl_date => '22-JUL-2011', p_receipt_method_id => 1001, p_activity => 'Interest Income', p_misc_receipt_id => l_cash_receipt_id , p_receipt_number => l_receipt_number); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Cash Receipt ID ' || l_cash_receipt_id ); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / -- set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count NUMBER; x_receivable_application_id NUMBER; x_application_ref_id NUMBER; x_application_ref_num VARCHAR2(30); x_secondary_application_ref_id NUMBER; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); -- 2) Call the API AR_RECEIPT_API_PUB.apply_other_account ( 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_receivable_application_id => x_receivable_application_id, p_cash_receipt_id => 83997, p_receivables_trx_id => 1747, p_applied_payment_schedule_id => -4, p_amount_applied => 500.00, p_application_ref_id => x_application_ref_id, p_application_ref_num => x_application_ref_num, p_secondary_application_ref_id => x_secondary_application_ref_id, p_called_from => null); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Receivable Application Id ' || x_receivable_application_id); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / -- Note that several parameters are similar to those --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count NUMBER; x_receivable_application_id NUMBER; x_application_ref_id NUMBER; x_application_ref_num VARCHAR2(30); x_secondary_application_ref_id NUMBER; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); -- 2) Call the API AR_RECEIPT_API_PUB.apply_other_account ( 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_receivable_application_id => x_receivable_application_id, p_cash_receipt_id => 83997, p_receivables_trx_id => 1747, p_applied_payment_schedule_id => -4, p_amount_applied => 500.00, p_application_ref_id => x_application_ref_id, p_application_ref_num => x_application_ref_num, p_secondary_application_ref_id => x_secondary_application_ref_id, p_called_from => null); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Receivable Application Id ' || x_receivable_application_id); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.UNAPPLY_OTHER_ACCOUNT ( 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 => 83997, p_reversal_gl_date => '26-SEP-2011', p_receivable_application_id => 285776, p_cancel_claim_flag => 'Y', p_called_from => NULL); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count number := 0; l_application_ref_num VARCHAR2(30); l_receivable_application_id NUMBER; l_applied_rec_app_id NUMBER; l_acctd_amount_applied_from NUMBER; l_acctd_amount_applied_to VARCHAR2(30); BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.APPLY_OPEN_RECEIPT ( 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_amount_applied => -20.00, p_receipt_number => 'rct-api11', p_open_receipt_number => 'rct-api10', x_application_ref_num => l_application_ref_num, x_receivable_application_id => l_receivable_application_id, x_applied_rec_app_id => l_applied_rec_app_id, x_acctd_amount_applied_from => l_acctd_amount_applied_from, x_acctd_amount_applied_to => l_acctd_amount_applied_to); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Receivable Application Id ' || l_receivable_application_id); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_cash_receipt_id NUMBER; p_count number := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_API_PUB.CREATE_APPLY_ON_ACC ( 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_amount => 555.00, p_receipt_number => 'rct-api12', p_receipt_date => '22-JUL-2011', p_gl_date => '22-JUL-2011', p_customer_number => 1007, p_receipt_method_id => 1001, p_cr_id => l_cash_receipt_id ); -- 3) Review the API output dbms_output.put_line('Status ' || l_return_status); dbms_output.put_line('Message count ' || l_msg_count); dbms_output.put_line('Cash Receipt Id ' || l_cash_receipt_id); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE cursor c1 is select line.customer_trx_line_id, line.line_number, line.extended_amount line_amount, tax.extended_amount tax_amount from ra_customer_trx_lines line, (select link_to_cust_trx_line_id, sum(nvl(extended_amount,0)) extended_amount from ra_customer_trx_lines where customer_trx_id = 528349 and line_type = 'TAX' group by link_to_cust_trx_line_id) tax where line.customer_trx_id = 528349 and line.line_type = 'LINE' and line.customer_trx_line_id = tax.LINK_TO_CUST_TRX_LINE_ID(+); l_llca_trx_lines_tbl ar_receipt_api_pub.llca_trx_lines_tbl_type; l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); p_count NUMBER := 0; l_cnt NUMBER := 0; BEGIN -- 1) Set the applications context fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); -- 2) define the amounts to apply, for illustration purposes we will apply 10% of the original amounts for i in c1 loop l_cnt := l_cnt + 1; l_llca_trx_lines_tbl(l_cnt).customer_trx_line_id := i.customer_trx_line_id ; l_llca_trx_lines_tbl(l_cnt).line_amount := i.line_amount * .10; l_llca_trx_lines_tbl(l_cnt).amount_applied := i.line_amount * .10; l_llca_trx_lines_tbl(l_cnt).tax_amount := i.tax_amount *.10; end loop; AR_RECEIPT_API_PUB.APPLY_IN_DETAIL ( 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 => 84003, p_customer_trx_id => 528349, p_llca_type => 'L', p_org_id => 204, p_llca_trx_lines_tbl => l_llca_trx_lines_tbl ); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END; / --set serveroutput on size 1000000 DECLARE l_count NUMBER; l_return_status VARCHAR2(1); l_msg_count NUMBER; l_msg_data VARCHAR2(240); l_status VARCHAR2(1); p_count number := 0; BEGIN fnd_global.apps_initialize(1011902, 50559, 222,0); mo_global.init('AR'); mo_global.set_policy_context('S','204'); AR_RECEIPT_UPDATE_API_PUB.UPDATE_RECEIPT_UNID_TO_UNAPP (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 => 177018, p_pay_from_customer => 1290, p_comments => 'TEST RECEIPT API', x_status => l_status ); DBMS_OUTPUT.put_line ('X_RETURN_STATUS = ' || l_return_status); DBMS_OUTPUT.put_line ('X_MSG_COUNT = ' || l_msg_count); DBMS_OUTPUT.put_line ('X_MSG_DATA = ' || l_msg_data); DBMS_OUTPUT.put_line ('X_STATUS = ' || l_status); if l_msg_count = 1 Then dbms_output.put_line('l_msg_data '|| l_msg_data); elsif l_msg_count > 1 Then loop p_count := p_count + 1; l_msg_data := FND_MSG_PUB.Get(FND_MSG_PUB.G_NEXT,FND_API.G_FALSE); if l_msg_data is NULL Then exit; end if; dbms_output.put_line('Message ' || p_count ||'. '||l_msg_data); end loop; end if; END;