Thursday, August 17, 2017

API to update Supplier/Vendor Sites

declare
   p_api_version               NUMBER;
  p_init_msg_list             VARCHAR2(2000);
  p_commit                    VARCHAR2(2000);
  p_validation_level          NUMBER;
  x_return_status             VARCHAR2(2000);
  x_msg_count                 NUMBER;
  x_msg_data                  VARCHAR2(2000);
  lr_vendor_site_rec          apps.ap_vendor_pub_pkg .r_vendor_site_rec_type;
  lr_existing_vendor_site_rec ap_supplier_sites_all%ROWTYPE;
  p_vendor_site_id            NUMBER;
  p_calling_prog              VARCHAR2(2000);

  cursor c_supplier_sites is






       SELECT assa.org_id,
           assa.vendor_site_id,
           assa.vendor_site_code,
           s.azf_site,
           assa.vendor_id


      FROM ap_supplier_sites_all assa,
           xxbak_site_mapping_tmp s
      where assa.vendor_id=1253
      and assa.vendor_site_code=s.ora_site

   --  in (select s.vendor_site_id_ora from XXAZF_INT_SUP s )
     ;


BEGIN

  -- Initialize apps session
 fnd_global.apps_initialize
   (
      user_id       => 2594  --l_user_id
    , resp_id       => 52587 --l_resp_id
    , resp_appl_id  => 200   --l_resp_app_id
   );
mo_global.init('SQLAP');
-- MO_GLOBAL.init('po');
   mo_global.set_policy_context('s',5259);

  -- Assign Basic Values
  p_api_version      := 1.0;
  p_init_msg_list    := fnd_api.g_true;
  p_commit           := fnd_api.g_true;
  p_validation_level := fnd_api.g_valid_level_full;
--  p_vendor_site_id   := 2040; -- to be end dated
  p_calling_prog     := 'XXCUSTOM';


 for c in c_supplier_sites
   loop
  -- Assign Vendor Site Details
  lr_vendor_site_rec.vendor_site_id   := c.vendor_site_id;
  lr_vendor_site_rec.last_update_date := SYSDATE;
  --lr_vendor_site_rec.last_updated_by  := -1;
  lr_vendor_site_rec.vendor_id        := c.vendor_id;
  lr_vendor_site_rec.org_id           := c.org_id;
  lr_vendor_site_rec.VENDOR_SITE_CODE :=c.azf_site;
  --lr_vendor_site_rec.purchasing_site_flag  :='Y';
  --lr_vendor_site_rec.pay_site_flag         :='Y';
  p_vendor_site_id := c.vendor_site_id;


  AP_VENDOR_PUB_PKG.UPDATE_VENDOR_SITE(p_api_version      => p_api_version,
                                       p_init_msg_list    => p_init_msg_list,
                                       p_commit           => p_commit,
                                       p_validation_level => p_validation_level,
                                       x_return_status    => x_return_status,
                                       x_msg_count        => x_msg_count,
                                       x_msg_data         => x_msg_data,
                                       p_vendor_site_rec  => lr_vendor_site_rec,
                                       p_vendor_site_id   => p_vendor_site_id,
                                       p_calling_prog     => p_calling_prog);

      end loop;

  DBMS_OUTPUT.put_line('X_RETURN_STATUS = ' || x_return_status);
  --DBMS_OUTPUT.put_line('X_MSG_COUNT = ' || x_msg_count);
 -- DBMS_OUTPUT.put_line('X_MSG_DATA = ' || x_msg_data);

END;