Tem
1
2015

Tedarikçi ve Adresini Tanımlamak için Kullanılan Örnek Script

Merhaba,

R11 versiyon applikasyon sistemlerinde (11.5.10) tedarikçi ve adresini tanımlamak için AP_PO_VENDORS_APIS_PKG standart paketini kullanarak hazırladığım scripti ve adres tanımlama işleminin çalışması için gerekli olan workarround u sizlerle paylaşmak istiyorum.

Aşağıdaki script hem vendor ı hemde adresini tanımlamaktadır. Ancak vendor site tanımlama işleminde AP_APXVDMVD_PKG paketi içerisinde çalışan INITIALIZE programı R11 (11.5.10) sistemlerde interface kullanımı dışında hata vermektedir. Verdiği hata:

Errors :ORA-20001: UYG-SQLAP-10000: Select routing_name işlemi gerçekleştirilirken
(SHIP_TO_LOCATION_ID = 1152612BILL_TO_LOCATION_ID = 1152612FOB_LOOKUP_CODE = Doğrudan TeslimatFREIGHT_TERMS_LOOKUP_CODE = Doğrudan TeslimatTERMS_ID = PAYMENT_METHOD_LOOKUP_CODE = Doğrudan TeslimatPAY_DATE_BASIS_LOOKUP_CODE = Doğrudan TeslimatSET_OF_BOOKS_ID = 162VENDOR_PAY_GROUP_LOOKUP_CODE = Doğrudan TeslimatTERMS_DATE_BASIS = Doğrudan TeslimatSHIP_VIA_LOOKUP_CODE = INVENTORY_ORGANIZATION_ID = 1634ENFORCE_SHIP_TO_LOC_CODE = Doğrudan

şeklindedir .

http://oracle.developer-works.com/article/5934904/AP_PO_VENDORS_APIS_PKG.insert_new_vendor_site+AP_APXVDMVD_PKG.INITIALIZE

yukarıdaki linkte bu hata bildirilmiş ve metalik notu olarak 292099.1 nolu

sr ile çözümü belirtilmiştir. Ancak bu çözüm fonksiyonel bir çözümdür ve benim denediğim R11 (11.5.10) sistemde bu tanımlamalar yapılmasına rağmen hata devam etmektedir. Hatanın çözümü olarak AP_PO_VENDORS_APIS_PKG.INSERT_NEW_VENDOR_SITE programı içerisine şu şekilde bir müdahalede bulunarak fix işlemi gerçekeştirilmektedir. Aşağıdaki şekilde ilerleyen kod içerisine commentlenmiş (–> yeni eklendi !!) şekilde gösterilen kodlar eklenerek (Default country comes from here cümlesinden hareketle biz parametre olarak ülke kodunu ve diğer initialize parametrelerini dışardan set ettiğimiz için bu aşamada çalıştırmamak adına bu şekilde bir çözüm hazırlandı) derlenmesi ile problem çözülecektir.

 
 IF g_source <> 'IMPORT' THEN
 
    -- Set up the correct org context for this insert, and store the
    -- old one
 
    l_old_org_id := existing_org_context();
    FND_CLIENT_INFO.set_org_context(p_org_id);
    l_org_id := p_org_id;
 
    -- Retrieve values from initialize which would be in ':world' in the form
    -- Default country comes from here, as well as accts_pay_ccid,
    -- future_dated_payment_ccid, and prepay_code_combination_id
 
    l_default_country := p_country; --> yeni eklendi !!
    IF l_default_country IS NULL THEN --> yeni eklendi !!
 
    ap_apxvdmvd_pkg.initialize(
        x_user_defined_vendor_num_code  => l_not_used,
        x_manual_vendor_num_type        => l_not_used,
        x_rfq_only_site_flag            => l_not_used,
        x_ship_to_location_id           => l_sys_ship_to_location_id, -- 6009003
        x_ship_to_location_code         => l_not_used,
        x_bill_to_location_id           => l_not_used,
        x_bill_to_location_code         => l_not_used,
        x_fob_lookup_code               => l_not_used,
        x_freight_terms_lookup_code     => l_not_used,
        x_terms_id                      => l_not_used,
        x_terms_disp                    => l_not_used,
        x_always_take_disc_flag         => l_not_used,
        x_invoice_currency_code         => l_not_used,
              .
              .
              .
         );
 
   END IF; --> yeni eklendi !!
 
DECLARE
   l_vendor_id        NUMBER;
   l_vendor_status    VARCHAR2 (15);
   l_err_msg          VARCHAR2 (3000);
   l_vendor_site_id   NUMBER;
   v_vendor_status    VARCHAR2 (15);
   v_err_msg          VARCHAR2 (3000);
   l_user_id          NUMBER (10);
   l_resp_id          NUMBER (10);
   l_appl_id          NUMBER (10);
BEGIN
   fnd_global.apps_initialize (0, 67445, 201);
   ap_po_vendors_apis_pkg.insert_new_vendor
      (p_vendor_name                     => 'ORASISTEM',
                                                                         --> ?
       p_vendor_type_lookup_code         => 'Yurtiçi Stok',                -->
       p_taxpayer_id                     => 'MENDERES',
       p_tax_registration_id             => NULL,
       p_women_owned_flag                => NULL,
       p_small_business_flag             => NULL,
       p_minority_group_lookup_code      => NULL,
       p_supplier_number                 => '10199987',                  --> ?
       x_vendor_id                       => l_vendor_id,
       x_status                          => l_vendor_status,
       x_exception_msg                   => l_err_msg,
       p_source                          => 'NOT IMPORT',
                                      --> IMPORT olursa interface i kullanır !
       p_what_to_import                  => NULL,
       p_commit_size                     => 1000
      );
   ap_po_vendors_apis_pkg.insert_new_vendor_site
            (x_vendor_site_id            => l_vendor_site_id,
             x_status                    => v_vendor_status,
             x_exception_msg             => v_err_msg,
             p_vendor_site_code          => 'YURTİÇİ',
             p_vendor_id                 => l_vendor_id,
             p_org_id                    => TO_CHAR
                                                  (fnd_profile.VALUE ('ORG_ID')
                                                  ),
             p_address_line1             => 'VENDOR103_S28_ADDR_LINE_1',
             p_address_line2             => NULL,
             p_address_line3             => NULL,
             p_address_line4             => NULL,
             p_city                      => 'İçel',
             p_state                     => '24500182177',
             p_zip                       => '111111',
             p_province                  => NULL,
             p_county                    => NULL,
             p_country                   => 'TR',
             p_area_code                 => NULL,
             p_phone                     => NULL,
             p_fax_area_code             => NULL,
             p_fax                       => NULL,
             p_email_address             => NULL,
             p_purchasing_site_flag      => 'Y',
             p_pay_site_flag             => 'Y',
             p_rfq_only_site_flag        => 'N',
             p_source                    => 'NOT IMPORT',
                                      --> IMPORT olursa interface i kullanır !
             p_what_to_import            => NULL,
             p_commit_size               => 1000
            );
   COMMIT;
   DBMS_OUTPUT.put_line ('VENDOR ID :' || l_vendor_id || l_err_msg);
   DBMS_OUTPUT.put_line ('Vendor Creation Result  :' || l_vendor_status);
   DBMS_OUTPUT.put_line ('VENDOR SITE ID :' || l_vendor_site_id || v_err_msg);
   DBMS_OUTPUT.put_line ('Vendor Site Creation Result  :' || v_vendor_status);
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Errors :' || SQLERRM);
END;

Mustafa Korkmaz

Oracle Applications Developer at Partnera
2005 yılında Dokuz Eylül Üniversitesi Endüstri Mühendisliğinden Mezun
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
Mustafa Korkmaz


Yorum yapın

*