Şub
21
2014

Alacaklar Muhasebesi Faturası Oluşturmak İçin Kullanılan Paket ve Paketin Kullanım Örneği

Alacaklar faturası oluşturmak için R11 de doğrudan kullanılan program

ar_invoice_api_pub.create_single_invoice

aşağıda canlı bir uygulama örneğidir.

program hata ile tamamlandığıda  aşağıdaki temp tablo aracılığı ile programın hataları  kontrol edilebilir

select * from ar_trx_errors_gt;

 

declare

p_trx_header_tbl ar_invoice_api_pub.trx_header_tbl_type;
p_trx_lines_tbl ar_invoice_api_pub.trx_line_tbl_type;
p_trx_dist_tbl ar_invoice_api_pub.trx_dist_tbl_type;
p_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type;
p_batch_source_rec ar_invoice_api_pub.batch_source_rec_type;

p_msg_count NUMBER;

p_msg_data VARCHAR2 (2000);

l_cnt                    NUMBER                                    := 0;

begin

 

p_batch_source_rec.batch_source_id := l_batch_source_id; –(select * from RA_BATCH_SOURCES_ALL)
p_trx_header_tbl (1).gl_date := p_trx_date;–> muhasebeleşme tarihi
p_trx_header_tbl (1).trx_date := p_trx_date;–> fatura tarihi
p_trx_header_tbl (1).trx_header_id := l_trx_header_id; –> başlık için unique bir değer
p_trx_header_tbl (1).trx_currency := l_trx_currency_code; –> fatura para birimi
p_trx_header_tbl (1).primary_salesrep_id := -3; –> fatura üzerindeki satış temsilcisinin salesrep_id si (select * from JTF_RS_SALESREPS)
p_trx_header_tbl (1).bill_to_customer_id := p_customer_id; –> select * from ra_customers
p_trx_header_tbl (1).bill_to_site_use_id := p_customer_site_use_id; –> müşteri faturalama adresi site_use_id si   select * from hz_cust_site_uses_all
p_trx_header_tbl (1).cust_trx_type_id := p_cust_trx_type_id; –> faturanın tipi select * from RA_CUST_TRX_TYPES_ALL
p_trx_header_tbl (1).term_id := p_term_id; –> ödeme koşulu   select * from RA_TERMS_B
p_trx_header_tbl (1).reference_number := p_irsaliye_no; –> fatura üzerinde refereans olarak görüntülenecek alan
p_trx_header_tbl (1).finance_charges := ‘N’;
p_trx_header_tbl (1).status_trx := ‘OP’;
p_trx_header_tbl (1).printing_option := ‘NOT’;

 

–> satır bilgileri

l_cnt := l_cnt + 1; –> index

p_trx_lines_tbl (l_cnt).trx_header_id := l_trx_header_id;–> başlıkta verilen aynı trx_header_id yi olmalıdır !!
p_trx_lines_tbl (l_cnt).trx_line_id := l_trx_header_id + l_cnt; –> her bir satırın diğer satırdan farklı olması için üretilmiş numara
p_trx_lines_tbl (l_cnt).line_number := l_cnt; –> satır no
p_trx_lines_tbl (l_cnt).inventory_item_id := rec.malzeme_item_id; –> select * from mtl_system_items_b
p_trx_lines_tbl (l_cnt).uom_code := rec.uom_code; –> select primary_uom_code from mtl_system_items_b where 1=1 and inventory_item_id = :item_id;
p_trx_lines_tbl (l_cnt).quantity_invoiced := 1 –> faturalama miktarı
p_trx_lines_tbl (l_cnt).unit_selling_price := 1; –> satış birim fiyatı
p_trx_lines_tbl (l_cnt).line_type := ‘LINE’; –> satır tipi
p_trx_lines_tbl (l_cnt).vat_tax_id := l_var_tax_id; –> vergi oranı select * from AR_VAT_TAX_ALL_B
p_trx_lines_tbl (l_cnt).amount := 1 * 1 ; –satırın toplam tutarı  unit_selling_price * quantity_invoiced
p_trx_lines_tbl (l_cnt).warehouse_id := fnd_profile.VALUE (‘ORG_ID’); –> depo organization_id si

 

–> dağıtım bilgileri

 

p_trx_dist_tbl (l_cnt).trx_header_id := l_trx_header_id; –> başlıktaki header_id
p_trx_dist_tbl (l_cnt).trx_dist_id := l_trx_header_id + l_cnt; –> dağıtımın unique olması gereken id si
p_trx_dist_tbl (l_cnt).trx_line_id := l_trx_header_id + l_cnt; –> satır için girilen id nin aynısı olmalıdır , dağıtım satırı her fatura satırı için girilir !!!
p_trx_dist_tbl (l_cnt).account_class := ‘REV’;
— p_trx_dist_tbl (l_cnt).PERCENT := 100; — yüzde kaçının dağıtıma gireceği 100 olmalıdır aynı satır için birden fazla dağıtım satırı varsada toplam olarak dağıtım satırları percentlerinin — toplamı 100 olmalıdır !!
p_trx_dist_tbl (l_cnt).amount := 1; –> dağıtım toplamı
p_trx_dist_tbl (l_cnt).code_combination_id := l_sales_account; –> satış hesabı select * from gl_code_combinations

 

ar_invoice_api_pub.create_single_invoice
(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
x_return_status => l_return_status,
x_msg_count => p_msg_count,
x_msg_data => p_msg_data,
x_customer_trx_id => l_customer_trx_id,
p_batch_source_rec => p_batch_source_rec,
p_trx_header_tbl => p_trx_header_tbl,
p_trx_lines_tbl => p_trx_lines_tbl,
p_trx_dist_tbl => p_trx_dist_tbl,
p_trx_salescredits_tbl => p_trx_salescredits_tbl
);

 

end;

Mustafa Korkmaz


2 Yorumlar+ Yorum Ekle

Yorum yapın

*