Anda di halaman 1dari 3

API - AR Invoice (Transaction) Creation

CREATE OR REPLACE procedure APPS.xx_ar_invoice_api is l_return_status varchar2(1); l_msg_count number; l_msg_data varchar2(2000); l_batch_source_rec ar_invoice_api_pub.batch_source_rec_type; l_trx_header_tbl ar_invoice_api_pub.trx_header_tbl_type; l_trx_lines_tbl ar_invoice_api_pub.trx_line_tbl_type; l_trx_dist_tbl ar_invoice_api_pub.trx_dist_tbl_type; l_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type; l_cust_trx_id number; BEGIN begin MO_GLOBAL.SET_POLICY_CONTEXT('S',82); end; fnd_global.apps_initialize(1090,20678,222); l_batch_source_rec.batch_source_id l_trx_header_tbl(1).trx_header_id l_trx_header_tbl(1).trx_date l_trx_header_tbl(1).trx_currency l_trx_header_tbl(1).cust_trx_type_id l_trx_header_tbl(1).bill_to_customer_id l_trx_header_tbl(1).term_id l_trx_header_tbl(1).finance_charges l_trx_header_tbl(1).status_trx l_trx_header_tbl(1).printing_option --l_trx_header_tbl(1).reference_number '1111'; l_trx_lines_tbl(1).trx_header_id l_trx_lines_tbl(1).trx_line_id l_trx_lines_tbl(1).line_number l_trx_lines_tbl(1).inventory_item_id -- l_trx_lines_tbl(1).description IRON GRILL-325*485MM'; l_trx_lines_tbl(1).quantity_invoiced := := := := := 9898; 101; 1; 1185; := 'CAST 3; := := := := := := := := := := 1001; 9898; sysdate; 'AED'; 1000; 1139; 1000; 'N'; 'OP'; 'NOT'; :=

l_trx_lines_tbl(1).unit_selling_price --Price l_trx_lines_tbl(1).uom_code l_trx_lines_tbl(1).line_type l_trx_dist_tbl(1).trx_dist_id l_trx_dist_tbl(1).trx_line_id l_trx_dist_tbl(1).ACCOUNT_CLASS l_trx_dist_tbl(1).percent l_trx_dist_tbl(1).CODE_COMBINATION_ID

:=

525;

:= 'EAC'; := 'LINE'; := 101; := 101; := 'REV'; := 100; := 1012;

--Here we call the API to create Invoice with the stored values AR_INVOICE_API_PUB.create_invoice (p_api_version => 1.0 --,p_commit => 'T' ,p_batch_source_rec => l_batch_source_rec ,p_trx_header_tbl => l_trx_header_tbl ,p_trx_lines_tbl => l_trx_lines_tbl ,p_trx_dist_tbl => l_trx_dist_tbl ,p_trx_salescredits_tbl => l_trx_salescredits_tbl ,x_return_status => l_return_status ,x_msg_count => l_msg_count ,x_msg_data => l_msg_data ); dbms_output.put_line('Created:'||l_msg_data|| l_return_status); IF l_return_status = fnd_api.g_ret_sts_error OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN dbms_output.put_line(l_return_status||':'||sqlerrm); Else dbms_output.put_line(l_return_status||':'||sqlerrm); If (ar_invoice_api_pub.g_api_outputs.batch_id IS NOT NULL) Then Dbms_output.put_line('Invoice(s) suceessfully created!') ; Dbms_output.put_line('Batch ID: ' || ar_invoice_api_pub.g_api_outputs.batch_id); Dbms_output.put_line('customer_trx_id: ' || l_cust_trx_id); Else Dbms_output.put_line(sqlerrm); End If; end if;

commit; End;

Anda mungkin juga menyukai