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
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
Açıklamalar çok faydalı olmuş.
Teşekkürler,
Faydalı olabildiysek ne mutlu bize Halil..