Oracle EBS Service Invocation Framework (Business Events – SIF)
Merhaba, Bu yazıda, Oracle EBS üzerinde iş olaylarını kullanarak web servis çağırma yöntemini aktaracağım. Servislerin çağrılması için kullanılan framework adı literatürde Service Invocation Framework (SIF) olarak geçmektedir. Bu framework, iş olayları üzerine kuruludur. Dolayısıyla uygulama üzerinde iş olay tanımı ve…
Oracle APPS Borçlar Muhasebesi Ödeme Yaratma API
Merhaba, Bu yazıda Oracle EBS Borçlar Muhasebesi modülünde ödeme yaratma yöntemini paylaşacağım. Borçlar Muhasebesi modülünde PUBLIC bir ödeme yaratma API’si bulunmamaktadır. Fakat AP_PAY_SINGLE_INVOICE_PKG paketinde bulunan AP_Pay_Invoice_In_Full prosedürüne ufak bir ekleme ile içerisindeki BUG’ı yok ederek, ödeme oluşturup, faturaları ödeyebiliyoruz. Prosedür içerisinde yer alan l_next_check_number değişkeni…

Oracle APPS Integrated SOA Gateway Web Servis Yapımı
Merhaba, Oracle EBS üzerinde servis yayını yapmak için en doğru yöntem Integrated SOA Gateway kullanılmasıdır. Integrated SOA Gateway modülünün DBA’ler tarafından Oracle EBS üzerinde kurulması gerekiyor. Servis yapmak ve yayınlamak için SOA Gateway farklı yöntemler sunmaktadır. Bu örnekte PL/SQL ile…

Oracle APPS Shell Eş Zamanlı Programı İle Java Uygulaması
Merhaba, Daha önceki yazımda Oracle Apps için Java Eş Zamanlı program yapımını anlatmıştım. Bu yazımda ise Shell eş zamanlı program ile bağımsız Java uygulamasını geliştirme ve çalıştırma yöntemini anlatacağım. İki yöntem arasındaki temel farklar; Yazıda xlsx Excel üreten basit bir Java…
Oracle EBS(Apps) AP Fatura İptali
Merhaba, Borçlar Muhasebesi faturalarını iptal etmek için aşağıdaki SCRIPT’i kullanabilirsiniz. Öncesinde ap_cancel_pkg.Is_Invoice_Cancellable API’sini çağırmanıza gerek yoktur zira Ap_Cancel_Single_Invoice kendi içerisinde bu kontrolü gerçekleştirmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
DECLARE l_invoice_id NUMBER; l_last_updated_by NUMBER; l_last_update_login NUMBER; l_gl_date DATE; l_ret_message VARCHAR2 (4000); l_cancel_api_result BOOLEAN; l_invoice_num VARCHAR2 (100); --out params l_message_name_out VARCHAR2 (1000); l_invoice_amount_out NUMBER; l_base_amount_out NUMBER; l_tax_amount_out NUMBER; l_temp_cancelled_amount_out NUMBER; l_cancelled_by_out VARCHAR2 (1000); l_cancelled_amount_out NUMBER; l_cancelled_date_out DATE; l_last_update_date_out DATE; l_original_prepayment_amount_o NUMBER; l_pay_curr_invoice_amount_out NUMBER; l_token_out VARCHAR2 (100); BEGIN BEGIN SELECT last_updated_by, last_update_login, gl_date, invoice_num INTO l_last_updated_by, l_last_update_login, l_gl_date, l_invoice_num FROM ap_invoices_all WHERE invoice_id = l_invoice_id; EXCEPTION WHEN NO_DATA_FOUND THEN l_last_updated_by := NULL; l_last_update_login := NULL; l_gl_date := NULL; l_invoice_num := NULL; END; BEGIN l_cancel_api_result := ap_cancel_pkg. ap_cancel_single_invoice ( p_invoice_id => l_invoice_id, p_last_updated_by => l_last_updated_by, p_last_update_login => l_last_update_login, p_accounting_date => l_gl_date, p_message_name => l_message_name_out, p_invoice_amount => l_invoice_amount_out, p_base_amount => l_base_amount_out, p_temp_cancelled_amount => l_temp_cancelled_amount_out, p_cancelled_by => l_cancelled_by_out, p_cancelled_amount => l_cancelled_amount_out, p_cancelled_date => l_cancelled_date_out, p_last_update_date => l_last_update_date_out, p_original_prepayment_amount => l_original_prepayment_amount_o, p_pay_curr_invoice_amount => l_pay_curr_invoice_amount_out, p_token => l_token_out, p_calling_sequence => NULL); IF l_cancel_api_result THEN l_ret_message := l_invoice_num || ' numaralı fatura iptal edilmiştir.'; x_status := 'S'; ELSE l_ret_message := l_invoice_num || ' numaralı fatura iptal edilirken sorun oluşmuştur.'; l_ret_message := l_ret_message || '. l_message_name_out: ' || l_message_name_out; l_ret_message := l_ret_message || '. sqlerrm: ' || SQLERRM; x_status := 'E'; END IF; DBMS_OUTPUT.put_line ('l_ret_messsage:' || l_ret_message); END; END; |