Tuesday, March 22, 2011

API to Create a Customer Site Use TCA R12 (HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE)

                                                                                                                                 

DESCRIPTION:
This procedure creates a site use for the customer account site.

API:   HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE
BASE TABLES AFFECTED :  HZ_CUST_SITE_USES
TEST INSTANCE : R12.1.3

SCRIPT:

SET SERVEROUTPUT ON;
DECLARE
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);

BEGIN
-- Setting the Context --
mo_global.init('AR');
fnd_global.apps_initialize ( user_id      => 1318
                            ,resp_id      => 50559
                            ,resp_appl_id => 222);
mo_global.set_policy_context('S',204);
fnd_global.set_nls_context('AMERICAN');

-- Initializing the Mandatory API parameters
p_cust_site_use_rec.cust_acct_site_id := 11935;
p_cust_site_use_rec.site_use_code     := 'INV';
p_cust_site_use_rec.location          := 'NEWYORK';
p_cust_site_use_rec.created_by_module := 'BO_API';

DBMS_OUTPUT.PUT_LINE('Calling the API hz_cust_account_site_v2pub.create_cust_site_use');

HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE
                   (
                     p_init_msg_list         => FND_API.G_TRUE,
                     p_cust_site_use_rec     => p_cust_site_use_rec,
                     p_customer_profile_rec  => p_customer_profile_rec,
                     p_create_profile        => FND_API.G_TRUE,
                     p_create_profile_amt    => FND_API.G_TRUE,
                     x_site_use_id           => x_site_use_id,
                     x_return_status         => x_return_status,
                     x_msg_count             => x_msg_count,
                     x_msg_data              => x_msg_data
                          );
                         
IF  x_return_status = fnd_api.g_ret_sts_success THEN
    COMMIT;
    DBMS_OUTPUT.PUT_LINE('Creation of Customer Accnt Site use is Successful ');
    DBMS_OUTPUT.PUT_LINE('Output information ....');   
    DBMS_OUTPUT.PUT_LINE('Site Use Id = '||x_site_use_id);
    DBMS_OUTPUT.PUT_LINE('Site Use    = '||p_cust_site_use_rec.site_use_code);     
ELSE
    DBMS_OUTPUT.put_line ('Creation of Customer Accnt Site use got failed:'||x_msg_data);
    ROLLBACK;
    FOR i IN 1 .. x_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;
END IF;
DBMS_OUTPUT.PUT_LINE('Completion of API');
END;
/

VERFICATION SCRIPT:

SELECT site_use_id,
       cust_acct_site_id,
       site_use_code,
       location,
       org_id
FROM   hz_cust_site_uses_all
WHERE  site_use_id = 4582;

2 Responses to “API to Create a Customer Site Use TCA R12 (HZ_CUST_ACCOUNT_SITE_V2PUB.CREATE_CUST_SITE_USE)”

Shagul.H said...
May 23, 2013 at 5:17 AM

Really thanks mr.publisher of shareoracleapps.com
its awesome worth one


Anonymous said...
December 26, 2014 at 5:30 PM

Performance wise... set the p_cust_site_use_rec.ORG_ID to the same org_id as the customer account site. This saves an extra lookup in the API code. Also, you can save a LOT of time if this new site use is to become the primary, by setting the existing current primary site use to non-primary first.


Post a Comment

Disclaimer

The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.