How To Add A Contact At Customer Level Without Phone Via TCA API

How To Add A Contact At Customer Level Without Phone Via TCA API [ID 187975.1] 

 Modified 07-MAY-2002     Type HOWTO     Status PUBLISHED 
 
 
  • goal: How To Add A Contact At Customer Level Without Phone Via TCA API
  • fact: Oracle Trading Community 11.5
fix: ------------------------------------ -- 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 := 'ACC01_01_04'; p_cust_account_rec.created_by_module := 'TCAPI_EXAMPLE'; -- p_cust_account_rec.orig_system_reference := '001_001'; -- is not mandatory p_organization_rec.organization_name := 'CUSTAPI4'; 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; /* 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 := 'Address4'; 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; ------------------------------------ -- 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 := XX; --< p_party_site_rec.identifying_address_flag := 'Y'; p_party_site_rec.created_by_module := 'TCAPI_EXAMPLE'; hz_party_s. ite_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; ------------------------------------ -- 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 := XX; --< p_cust_acct_site_rec.party_site_id := XX; --< 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; ------------------------------------ -- 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& #059; 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 := XX; --< 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; /* END address */ commit; /* BEGIN contact to an organization */ ------------------------------------ -- 7. Create a definition contact ------------------------------------ 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 := 'Fennerc4'; p_create_person_rec.person_last_name := 'Giraldoc4'; 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; ------------------------------------ -- 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 := XX; --< 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 := XX; --< 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; ------------------------------------ -- 9. Create a contact using party_id you get 8 and cust_account_id from step 2 ------------------------------------ DECLARE p_cr_cust_acc_role_rec HZ_CUST_ACCOUNT_ROLE_V2PUB.cust_account_role_rec_type& #059; 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 := XX; --< p_cr_cust_acc_role_rec.cust_account_id := XX; --< 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; /* END contact */ commit;.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23739124/viewspace-661750/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23739124/viewspace-661750/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值