Oracle EBS AR 更新客户组织层

declare 
  -- Local variables here
  i integer;
  g_module varchar2(30) := 'TCA_V2_API';
  lrec_org   hz_party_v2pub.organization_rec_type;
  lrec_party hz_party_v2pub.party_rec_type;
  l_return_status varchar2(1);
  l_msg_count number;
  l_msg_data varchar2(2000);
  l_party_id number;
  l_party_number hz_parties.party_number%type;
  l_profile_id number;
  v_error_msg varchar2(2000);
  v_version_number number; 
  cursor cur_DT is
    SELECT loc.location_id,
           loc.object_version_number,
           addr.PARTY_SITE_ID,
           hc.ACCOUNT_NUMBER,
           hc.CUST_ACCOUNT_ID,
           party_site.PARTY_SITE_NAME,
           hcp.CUST_ACCOUNT_PROFILE_ID,
           hcp.CREDIT_HOLD,
           hc.CREATION_DATE,
           hc.CREATED_BY,
           hc.ORIG_SYSTEM_REFERENCE,
           hc.PARTY_ID,
           hc.STATUS STATUS1,
           hz.STATUS STATUS2
      FROM hz_cust_acct_sites_all addr,
           hz_party_sites         party_site,
           hz_locations           loc,
           HZ_CUSTOMER_PROFILES   hcp,
           HZ_CUST_ACCOUNTS       hc,
           hz_parties hz
     WHERE 1 = 1
       AND addr.party_site_id = party_site.party_site_id
       AND loc.location_id = party_site.location_id
       and hc.PARTY_ID = party_site.PARTY_ID
       and hc.CUST_ACCOUNT_ID = hcp.CUST_ACCOUNT_ID
       and hz.PARTY_ID = party_site.PARTY_ID
               and hz.PARTY_NUMBER = '10984';
begin
  -- Test statements here
    fnd_global.apps_initialize(0, 50738, 20003);
  mo_global.init('AR');
  FOR rec IN CUR_DT LOOP
   begin
     select h.OBJECT_VERSION_NUMBER
     into v_version_number
     from hz_parties h
     where h.PARTY_ID = rec.PARTY_ID;
   end;
    lrec_party.party_id := rec.party_id;
    lrec_party.status := 'I';
    lrec_org.party_rec := lrec_party;
    hz_party_v2pub.update_organization(p_init_msg_list => fnd_api.G_TRUE
                                      ,p_organization_rec => lrec_org
                                      ,p_party_object_version_number => v_version_number
                                      ,x_profile_id => l_profile_id
                                      ,x_return_status => l_return_status
                                      ,x_msg_count => l_msg_count
                                      ,x_msg_data => l_msg_data);
   IF l_return_status = fnd_api.g_ret_sts_error THEN
      l_msg_count := fnd_msg_pub.count_msg;
      l_msg_data  := substr(fnd_msg_pub.get(fnd_msg_pub.g_first,
                                            fnd_api.g_false),
                            1,
                            512);
      dbms_output.put_line(l_msg_data);
      fnd_msg_pub.delete_msg();
      RAISE fnd_api.g_exc_error;
    ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
      l_msg_count := fnd_msg_pub.count_msg;
      l_msg_data  := substr(fnd_msg_pub.get(fnd_msg_pub.g_first,
                                            fnd_api.g_false),
                            1,
                            512);
      dbms_output.put_line(l_msg_data);
    
      fnd_msg_pub.delete_msg();
      RAISE fnd_api.g_exc_unexpected_error;
    END IF;
    IF l_return_status = fnd_api.g_ret_sts_success THEN
      dbms_output.put_line('------------------Update Success-------------------');
    
    END IF;
    end loop;                            
end;

猜你喜欢

转载自www.cnblogs.com/jenrry/p/10006831.html
今日推荐