declare
CURSOR c
IS
SELECT *
FROM XX_CUSTOM_TABLE a
WHERE a.customer_id = NVL (:p_customer_id, a.customer_id)
AND ROWNUM = 1;
p_cust_site_use_rec hz_cust_account_site_v2pub.cust_site_use_rec_type;
p_customer_profile_rec hz_customer_profile_v2pub.customer_profile_rec_type;
x_site_use_id NUMBER;
x_return_status VARCHAR2 (2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2 (2000);
l_location_rec_type hz_location_v2pub.location_rec_type;
l_party_site_rec_type hz_party_site_v2pub.party_site_rec_type;
l_cust_acct_site_rec_type hz_cust_account_site_v2pub.cust_acct_site_rec_type;
l_cust_site_use_rec_type hz_cust_account_site_v2pub.cust_site_use_rec_type;
ln_location_id NUMBER;
gc_api_return_status VARCHAR2 (100);
gn_msg_count NUMBER;
gc_msg_data VARCHAR2 (4000);
ln_party_site_id NUMBER;
lc_party_site_number VARCHAR (100);
ln_cust_acct_site_id NUMBER;
ln_site_use_id NUMBER;
l_unit_name VARCHAR2 (100);
lc_add_val_status VARCHAR2 (4000);
lc_addr_warn_msg VARCHAR2 (4000);
BEGIN
mo_global.init ('AR');
mo_global.set_policy_context ('M', 196);
fnd_global.apps_initialize (fnd_profile.VALUE ('USER_ID'),
fnd_profile.VALUE ('RESP_ID'),
fnd_profile.VALUE ('RESP_APPL_ID'),
NULL, NULL);
FOR r IN c
LOOP
--CREATE CUSTOMER LOCATION
l_location_rec_type.country := r.country;
l_location_rec_type.address1 := r.address1;
l_location_rec_type.address2 := r.address2;
l_location_rec_type.address3 := r.address3;
l_location_rec_type.address4 := r.address4;
l_location_rec_type.city := r.city;
l_location_rec_type.postal_code := r.postal_code;
l_location_rec_type.state := r.state;
l_location_rec_type.county := r.country_name;
l_location_rec_type.created_by_module := 'HZ_CPUI';
l_location_rec_type.orig_system_reference := NULL;
hz_location_v2pub.create_location
(p_init_msg_list => fnd_api.g_false,
p_location_rec => l_location_rec_type,
p_do_addr_val => NULL,
x_location_id => ln_location_id,
x_addr_val_status => lc_add_val_status,
x_addr_warn_msg => lc_addr_warn_msg,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
-- CREATE CUSTOMER PARTY SITE
COMMIT;
BEGIN
SELECT a.party_id
INTO l_party_site_rec_type.party_id
FROM hz_parties a, hz_cust_accounts b
WHERE a.party_id = b.party_id AND b.cust_account_id = r.customer_id;
EXCEPTION
WHEN OTHERS
THEN
l_party_site_rec_type.party_id := NULL;
END;
l_party_site_rec_type.identifying_address_flag := 'Y';
l_party_site_rec_type.created_by_module := 'HZ_CPUI';
l_party_site_rec_type.location_id := ln_location_id;
l_party_site_rec_type.status := 'A';
hz_party_site_v2pub.create_party_site
(p_init_msg_list => fnd_api.g_false,
p_party_site_rec => l_party_site_rec_type,
x_party_site_id => ln_party_site_id,
x_party_site_number => lc_party_site_number,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
COMMIT;
-- CREATE CUSTOMER ACCT SITE
DBMS_OUTPUT.put_line ('ln_party_site_id' || ln_party_site_id);
l_cust_acct_site_rec_type.cust_account_id := r.customer_id;
l_cust_acct_site_rec_type.party_site_id := ln_party_site_id;
l_cust_acct_site_rec_type.created_by_module := 'HZ_CPUI';
l_cust_acct_site_rec_type.orig_system_reference := NULL;
--cv_address_data.site_orig_system_reference;
l_cust_acct_site_rec_type.status := 'A';
l_cust_acct_site_rec_type.org_id := r.org_id;
hz_cust_account_site_v2pub.create_cust_acct_site
(p_init_msg_list => fnd_api.g_false,
p_cust_acct_site_rec => l_cust_acct_site_rec_type,
x_cust_acct_site_id => ln_cust_acct_site_id,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
l_cust_site_use_rec_type.LOCATION := 'CAM' || ' - ' || l_unit_name;
l_cust_site_use_rec_type.created_by_module := 'HZ_CPUI';
l_cust_site_use_rec_type.status := 'A';
l_cust_site_use_rec_type.org_id := r.org_id;
l_cust_site_use_rec_type.primary_salesrep_id := r.sales_rep_id;
l_cust_site_use_rec_type.cust_acct_site_id := ln_cust_acct_site_id;
l_cust_site_use_rec_type.site_use_code := 'BILL_TO';
hz_cust_account_site_v2pub.create_cust_site_use
(p_init_msg_list => fnd_api.g_false,
p_cust_site_use_rec => l_cust_site_use_rec_type,
p_customer_profile_rec => NULL,
-- Modified by YerraS on 19-Sep-09
p_create_profile => fnd_api.g_true,
p_create_profile_amt => fnd_api.g_true,
x_site_use_id => ln_site_use_id,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
COMMIT;
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
DBMS_OUTPUT.put_line ('ln_site_use_id' || ln_site_use_id);
FOR i IN 1 .. gn_msg_count
LOOP
x_msg_data := fnd_msg_pub.get (p_msg_index => i, p_encoded => 'F');
DBMS_OUTPUT.put_line (i || ') ' || x_msg_data);
END LOOP;
COMMIT;
END LOOP;
END;
CURSOR c
IS
SELECT *
FROM XX_CUSTOM_TABLE a
WHERE a.customer_id = NVL (:p_customer_id, a.customer_id)
AND ROWNUM = 1;
p_cust_site_use_rec hz_cust_account_site_v2pub.cust_site_use_rec_type;
p_customer_profile_rec hz_customer_profile_v2pub.customer_profile_rec_type;
x_site_use_id NUMBER;
x_return_status VARCHAR2 (2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2 (2000);
l_location_rec_type hz_location_v2pub.location_rec_type;
l_party_site_rec_type hz_party_site_v2pub.party_site_rec_type;
l_cust_acct_site_rec_type hz_cust_account_site_v2pub.cust_acct_site_rec_type;
l_cust_site_use_rec_type hz_cust_account_site_v2pub.cust_site_use_rec_type;
ln_location_id NUMBER;
gc_api_return_status VARCHAR2 (100);
gn_msg_count NUMBER;
gc_msg_data VARCHAR2 (4000);
ln_party_site_id NUMBER;
lc_party_site_number VARCHAR (100);
ln_cust_acct_site_id NUMBER;
ln_site_use_id NUMBER;
l_unit_name VARCHAR2 (100);
lc_add_val_status VARCHAR2 (4000);
lc_addr_warn_msg VARCHAR2 (4000);
BEGIN
mo_global.init ('AR');
mo_global.set_policy_context ('M', 196);
fnd_global.apps_initialize (fnd_profile.VALUE ('USER_ID'),
fnd_profile.VALUE ('RESP_ID'),
fnd_profile.VALUE ('RESP_APPL_ID'),
NULL, NULL);
FOR r IN c
LOOP
--CREATE CUSTOMER LOCATION
l_location_rec_type.country := r.country;
l_location_rec_type.address1 := r.address1;
l_location_rec_type.address2 := r.address2;
l_location_rec_type.address3 := r.address3;
l_location_rec_type.address4 := r.address4;
l_location_rec_type.city := r.city;
l_location_rec_type.postal_code := r.postal_code;
l_location_rec_type.state := r.state;
l_location_rec_type.county := r.country_name;
l_location_rec_type.created_by_module := 'HZ_CPUI';
l_location_rec_type.orig_system_reference := NULL;
hz_location_v2pub.create_location
(p_init_msg_list => fnd_api.g_false,
p_location_rec => l_location_rec_type,
p_do_addr_val => NULL,
x_location_id => ln_location_id,
x_addr_val_status => lc_add_val_status,
x_addr_warn_msg => lc_addr_warn_msg,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
-- CREATE CUSTOMER PARTY SITE
COMMIT;
BEGIN
SELECT a.party_id
INTO l_party_site_rec_type.party_id
FROM hz_parties a, hz_cust_accounts b
WHERE a.party_id = b.party_id AND b.cust_account_id = r.customer_id;
EXCEPTION
WHEN OTHERS
THEN
l_party_site_rec_type.party_id := NULL;
END;
l_party_site_rec_type.identifying_address_flag := 'Y';
l_party_site_rec_type.created_by_module := 'HZ_CPUI';
l_party_site_rec_type.location_id := ln_location_id;
l_party_site_rec_type.status := 'A';
hz_party_site_v2pub.create_party_site
(p_init_msg_list => fnd_api.g_false,
p_party_site_rec => l_party_site_rec_type,
x_party_site_id => ln_party_site_id,
x_party_site_number => lc_party_site_number,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
COMMIT;
-- CREATE CUSTOMER ACCT SITE
DBMS_OUTPUT.put_line ('ln_party_site_id' || ln_party_site_id);
l_cust_acct_site_rec_type.cust_account_id := r.customer_id;
l_cust_acct_site_rec_type.party_site_id := ln_party_site_id;
l_cust_acct_site_rec_type.created_by_module := 'HZ_CPUI';
l_cust_acct_site_rec_type.orig_system_reference := NULL;
--cv_address_data.site_orig_system_reference;
l_cust_acct_site_rec_type.status := 'A';
l_cust_acct_site_rec_type.org_id := r.org_id;
hz_cust_account_site_v2pub.create_cust_acct_site
(p_init_msg_list => fnd_api.g_false,
p_cust_acct_site_rec => l_cust_acct_site_rec_type,
x_cust_acct_site_id => ln_cust_acct_site_id,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
l_cust_site_use_rec_type.LOCATION := 'CAM' || ' - ' || l_unit_name;
l_cust_site_use_rec_type.created_by_module := 'HZ_CPUI';
l_cust_site_use_rec_type.status := 'A';
l_cust_site_use_rec_type.org_id := r.org_id;
l_cust_site_use_rec_type.primary_salesrep_id := r.sales_rep_id;
l_cust_site_use_rec_type.cust_acct_site_id := ln_cust_acct_site_id;
l_cust_site_use_rec_type.site_use_code := 'BILL_TO';
hz_cust_account_site_v2pub.create_cust_site_use
(p_init_msg_list => fnd_api.g_false,
p_cust_site_use_rec => l_cust_site_use_rec_type,
p_customer_profile_rec => NULL,
-- Modified by YerraS on 19-Sep-09
p_create_profile => fnd_api.g_true,
p_create_profile_amt => fnd_api.g_true,
x_site_use_id => ln_site_use_id,
x_return_status => gc_api_return_status,
x_msg_count => gn_msg_count,
x_msg_data => gc_msg_data
);
COMMIT;
DBMS_OUTPUT.put_line ('gc_api_return_status' || gc_api_return_status);
DBMS_OUTPUT.put_line ('ln_site_use_id' || ln_site_use_id);
FOR i IN 1 .. gn_msg_count
LOOP
x_msg_data := fnd_msg_pub.get (p_msg_index => i, p_encoded => 'F');
DBMS_OUTPUT.put_line (i || ') ' || x_msg_data);
END LOOP;
COMMIT;
END LOOP;
END;
Please provide the staging table structure
ReplyDeletehello
ReplyDeletehow to create tax registration for site level
we already did it
DeleteCan you please share the API for tax registration at site level
ReplyDelete