0% found this document useful (0 votes)
141 views12 pages

How To Create A Contact at Address Level With Phone Via TCA API

The document provides an example of how to create a contact at an address level with a phone number using the Oracle Trading Community Architecture (TCA) API. It demonstrates creating a party, account, physical location, party site, account site, and account site use to establish an address, then creates a contact definition and links it to the organization through several API calls. The step-by-step example creates these entities programmatically and outputs the results of each call.

Uploaded by

Vinay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
141 views12 pages

How To Create A Contact at Address Level With Phone Via TCA API

The document provides an example of how to create a contact at an address level with a phone number using the Oracle Trading Community Architecture (TCA) API. It demonstrates creating a party, account, physical location, party site, account site, and account site use to establish an address, then creates a contact definition and links it to the organization through several API calls. The step-by-step example creates these entities programmatically and outputs the results of each call.

Uploaded by

Vinay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

How To Create A Contact At Address Level With

Phone Via TCA API? (Doc ID 239737.1)


APPLIES TO:
Oracle Trading Community - Version 11.5.3 to 12.1.0 [Release 11.5 to 12.1]
Information in this document applies to any platform.

GOAL
How To Create A Contact At Address Level With Phone Via TCA API?

SOLUTION
Example of How To Create A Contact At Address Level With Phone Via TCA
API
------------------------------------- 1a. Setup the Org_id
-----------------------------------exec dbms_application_info.set_client_info('204');

------------------------------------- 1b. Show the output variables


-----------------------------------set serveroutput on

------------------------------------- 2. Create a party and an account


-----------------------------------DECLARE
p_cust_account_rec HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE;
p_organization_rec HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE;
p_customer_profile_rec
HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE;
x_cust_account_id NUMBER;
x_account_number VARCHAR2(2000);
x_party_id NUMBER;
x_party_number VARCHAR2(2000);
x_profile_id NUMBER;

x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_cust_account_rec.account_name := 'FennerAPIc001';
p_cust_account_rec.created_by_module := 'TCAPI_EXAMPLE';
-- p_cust_account_rec.orig_system_reference := '001_001';
mandatory

-- is not

p_organization_rec.organization_name := 'FennerAPIc001';
p_organization_rec.created_by_module := 'TCAPI_EXAMPLE';
hz_cust_account_v2pub.create_cust_account(
'T',
p_cust_account_rec,
p_organization_rec,
p_customer_profile_rec,
'F',
x_cust_account_id,
x_account_number,
x_party_id,
x_party_number,
x_profile_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_cust_account_id: '||x_cust_account_id);
dbms_output.put_line('x_account_number: '||x_account_number);
dbms_output.put_line('x_party_id: '||x_party_id);
dbms_output.put_line('x_party_number: '||x_party_number);
dbms_output.put_line('x_profile_id: '||x_profile_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_cust_account_id: 4251
x_account_number: 2029
x_party_id: 11204
x_party_number: 8739

x_profile_id: 2939
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

/* BEGIN address */
------------------------------------- 3. Create a physical location
-----------------------------------DECLARE
p_location_rec HZ_LOCATION_V2PUB.LOCATION_REC_TYPE;
x_location_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_location_rec.country := 'US';
p_location_rec.address1 := 'FennerAPIc001Add6';
p_location_rec.city := 'San Mateo';
p_location_rec.postal_code := '94401';
p_location_rec.state := 'CA';
p_location_rec.created_by_module := 'TCAPI_EXAMPLE';
hz_location_v2pub.create_location(
'T',
p_location_rec,
x_location_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_location_id: '||x_location_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_location_id: 10080

x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------- 4. Create a party site using party_id from step 2 and location_id from step 3
-----------------------------------DECLARE
p_party_site_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
x_party_site_id NUMBER;
x_party_site_number VARCHAR2(2000);
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_party_site_rec.party_id := 11204; --<<value for party_id from step
2>
p_party_site_rec.location_id := 10080; --<<value for location_id from
step 3>
p_party_site_rec.identifying_address_flag := 'Y';
p_party_site_rec.created_by_module := 'TCAPI_EXAMPLE';
hz_party_site_v2pub.create_party_site(
'T',
p_party_site_rec,
x_party_site_id,
x_party_site_number,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_party_site_id: '||x_party_site_id);
dbms_output.put_line('x_party_site_number: '||x_party_site_number);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_party_site_id: 5635
x_party_site_number: 4144

x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------- 5. Create an account site using cust_account_id from step 2 and
party_site_id from step 4.
-----------------------------------DECLARE
p_cust_acct_site_rec
hz_cust_account_site_v2pub.cust_acct_site_rec_type;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
x_cust_acct_site_id NUMBER;
BEGIN
p_cust_acct_site_rec.cust_account_id := 4251; --<<value for
cust_account_id you get from step 2>
p_cust_acct_site_rec.party_site_id := 5635; --<<value for
party_site_id from step 4>
p_cust_acct_site_rec.language := 'US';
p_cust_acct_site_rec.created_by_module := 'TCAPI_EXAMPLE';
hz_cust_account_site_v2pub.create_cust_acct_site(
'T',
p_cust_acct_site_rec,
x_cust_acct_site_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_cust_acct_site_id: '||x_cust_acct_site_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_cust_acct_site_id: 4280
x_return_status: S

x_msg_count: 0
x_msg_data:
***************************
------------------------------------- 6. Create an account site use using cust_acct_site_id from step 5 and
site_use_code='BILL_TO'
-----------------------------------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
p_cust_site_use_rec.cust_acct_site_id := 4280; --<<value for
cust_acct_site_id from step 5>
p_cust_site_use_rec.site_use_code := 'BILL_TO';
p_cust_site_use_rec.created_by_module := 'TCAPI_EXAMPLE';
hz_cust_account_site_v2pub.create_cust_site_use(
'T',
p_cust_site_use_rec,
p_customer_profile_rec,
'',
'',
x_site_use_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_site_use_id: '||x_site_use_id);
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_count);
dbms_output.put_line('***************************');
END;
/
***************************
Output information ....
x_site_use_id: 4598
x_return_status: S
x_msg_count: 0

x_msg_data: 0
***************************
/* END address

*/

commit;

/* BEGIN contact to an address */


------------------------------------- 7. Create a contact definition
-----------------------------------DECLARE
p_create_person_rec HZ_PARTY_V2PUB.person_rec_type;
x_party_id NUMBER;
x_party_number VARCHAR2(2000);
x_profile_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_create_person_rec.person_pre_name_adjunct := 'MR.';
p_create_person_rec.person_first_name := 'FNFennerC001';
p_create_person_rec.person_last_name := 'LNGiraldoC001';
p_create_person_rec.created_by_module := 'TCAPI_EXAMPLE';
HZ_PARTY_V2PUB.create_person(
'T',
p_create_person_rec,
x_party_id,
x_party_number,
x_profile_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_party_id: '||x_party_id);
dbms_output.put_line('x_party_number: '||x_party_number);
dbms_output.put_line('x_profile_id: '||x_profile_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_party_id: 11205
x_party_number: 8740
x_profile_id: 8262
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------- 8. Create a relation cont-org using party_id from step 7 and party_id from
step 2
-----------------------------------DECLARE
p_org_contact_rec HZ_PARTY_CONTACT_V2PUB.ORG_CONTACT_REC_TYPE;
x_org_contact_id NUMBER;
x_party_rel_id NUMBER;
x_party_id NUMBER;
x_party_number VARCHAR2(2000);
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_org_contact_rec.department_code := 'ACCOUNTING';
p_org_contact_rec.job_title := 'ACCOUNTS OFFICER';
p_org_contact_rec.decision_maker_flag := 'Y';
p_org_contact_rec.job_title_code := 'APC';
p_org_contact_rec.created_by_module := 'TCAPI_EXAMPLE';
p_org_contact_rec.party_rel_rec.subject_id := 11205; --<<value for
party_id from step 7>
p_org_contact_rec.party_rel_rec.subject_type := 'PERSON';
p_org_contact_rec.party_rel_rec.subject_table_name := 'HZ_PARTIES';
p_org_contact_rec.party_rel_rec.object_id := 11204; --<<value for
party_id from step 2>
p_org_contact_rec.party_rel_rec.object_type := 'ORGANIZATION';
p_org_contact_rec.party_rel_rec.object_table_name := 'HZ_PARTIES';
p_org_contact_rec.party_rel_rec.relationship_code := 'CONTACT_OF';
p_org_contact_rec.party_rel_rec.relationship_type := 'CONTACT';
p_org_contact_rec.party_rel_rec.start_date := SYSDATE;
hz_party_contact_v2pub.create_org_contact(
'T',
p_org_contact_rec,
x_org_contact_id,
x_party_rel_id,
x_party_id,
x_party_number,

x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_org_contact_id: '||x_org_contact_id);
dbms_output.put_line('x_party_rel_id: '||x_party_rel_id);
dbms_output.put_line('x_party_id: '||x_party_id);
dbms_output.put_line('x_party_number: '||x_party_number);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_org_contact_id: 4746
x_party_rel_id: 5869
x_party_id: 11206
x_party_number: 8741
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------- 9. Create a contact using party_id you get 8, cust_account_id from step 2
and cust_acct_site_id from step 5
-----------------------------------DECLARE
p_cr_cust_acc_role_rec
HZ_CUST_ACCOUNT_ROLE_V2PUB.cust_account_role_rec_type;
x_cust_account_role_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
-- NOTE:
-- must be unique CUST_ACCOUNT_ID, PARTY_ID,ROLE_TYPE
-- must be unique CUST_ACCT_SITE_ID, PARTY_ID,ROLE_TYPE

p_cr_cust_acc_role_rec.party_id := 11206; --<<value for party_id from


step 8>
p_cr_cust_acc_role_rec.cust_account_id := 4251; --<<value for
cust_account_id from step 2>
p_cr_cust_acc_role_rec.cust_acct_site_id := 4280; --<<value for
cust_acct_site_id from step 5>
p_cr_cust_acc_role_rec.primary_flag := 'Y';
p_cr_cust_acc_role_rec.role_type := 'CONTACT';
p_cr_cust_acc_role_rec.created_by_module := 'TCAPI_EXAMPLE';
HZ_CUST_ACCOUNT_ROLE_V2PUB.create_cust_account_role(
'T',
p_cr_cust_acc_role_rec,
x_cust_account_role_id,
x_return_status,
x_msg_count,
x_msg_data);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_cust_account_role_id: '||
x_cust_account_role_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************
Output information ....
x_cust_account_role_id: 4516
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
/* END contact */
commit;

/* Begin phone */
------------------------------------------------------- 10. Create phone using party_id you get in step 8
------------------------------------------------------

DECLARE
p_contact_point_rec HZ_CONTACT_POINT_V2PUB.CONTACT_POINT_REC_TYPE;
p_phone_rec HZ_CONTACT_POINT_V2PUB.phone_rec_type;
p_edi_rec_type HZ_CONTACT_POINT_V2PUB.edi_rec_type;
p_email_rec_type HZ_CONTACT_POINT_V2PUB.email_rec_type;
p_telex_rec_type HZ_CONTACT_POINT_V2PUB.telex_rec_type;
p_web_rec_type HZ_CONTACT_POINT_V2PUB.web_rec_type;
x_contact_point_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_contact_point_rec.contact_point_type := 'PHONE';
p_contact_point_rec.owner_table_name := 'HZ_PARTIES';
p_contact_point_rec.owner_table_id := 11206; --<value for party_id
from step 8>
p_contact_point_rec.created_by_module := 'TCAPI_EXAMPLE';
p_phone_rec.Phone_number := '4075555';
p_phone_rec.phone_line_type := 'GEN';
HZ_CONTACT_POINT_V2PUB.create_contact_point (
'T',
p_contact_point_rec,
p_edi_rec_type,
p_email_rec_type,
p_phone_rec,
p_telex_rec_type,
p_web_rec_type,
x_contact_point_id,
x_return_status,
x_msg_count,
x_msg_data
);
dbms_output.put_line('***************************');
dbms_output.put_line('Output information ....');
dbms_output.put_line('x_contact_point_id: '||x_contact_point_id);
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);
dbms_output.put_line('***************************');
END;
/

***************************

Output information ....


x_contact_point_id: 8979
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
commit;
/* End Phone */

You might also like