详解ebs接口之客户配置文件导入(二)
------------------------------------
-- 1a. Setup the Org_id
------------------------------------
------------------------------------
-- 1b. Show the output variables
------------------------------------
------------------------------------
-- 2a. Create a party and an account
------------------------------------
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);
p_create_profile_amt VARCHAR2(2000);
BEGIN
-- record for the account
p_cust_account_rec.account_name := 'FennerProfAPIamtc002';
p_cust_account_rec.created_by_module := 'TCAPI_EXAMPLE';
-- p_cust_account_rec.orig_system_reference := '001_001'; -- is not mandatory
-- record for the organization
p_organization_rec.organization_name := 'FennerProfAPIamtc002';
p_organization_rec.created_by_module := 'TCAPI_EXAMPLE';
-- record for the profile (this will use he DEFAULT profile but change these fields)
p_customer_profile_rec.credit_checking := 'Y';
p_customer_profile_rec.interest_charges := 'N';
-- as interest charges is N, you need to set this two values in null
p_customer_profile_rec.charge_on_finance_charge_flag := FND_API.G_MISS_CHAR;
p_customer_profile_rec.interest_period_days := FND_API.G_MISS_NUM;
p_customer_profile_rec.created_by_module := 'TCAPI_EXAMPLE';
-- Record for the profile amounts
-- You are not able to assign values for the amounts in this API
-- As you want to create specific values for the amounts set the field in 'F'
-- You will insertthe information later
p_create_profile_amt := 'F';
hz_cust_account_v2pub.create_cust_account(
'T',
p_cust_account_rec,
p_organization_rec,
p_customer_profile_rec,
p_create_profile_amt,
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: 7744
x_account_number: 3991
x_party_id: 19566
x_party_number: 16479
x_profile_id: 8679
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------
-- 2b. Create the profile amounts record
------------------------------------
p_cpamt_rec HZ_CUSTOMER_PROFILE_V2PUB.cust_profile_amt_rec_type;
v_cust_account_profile_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
x_cust_acct_profile_amt_id NUMBER;
BEGIN
select cust_account_profile_id into v_cust_account_profile_id
from hz_customer_profiles where cust_account_id = 7744; --<<value for cust_account_id from step 2a
p_cpamt_rec.cust_account_profile_id := v_cust_account_profile_id;
p_cpamt_rec.currency_code := 'USD'; --<< Currency Code
p_cpamt_rec.created_by_module := 'TCAPI_EXAMPLE';
p_cpamt_rec.overall_credit_limit := 1000000;
p_cpamt_rec.cust_account_id := 7744; --<<value for cust_account_id from step 2a
HZ_CUSTOMER_PROFILE_V2PUB.create_cust_profile_amt (
'T',
'T',
p_cpamt_rec,
x_cust_acct_profile_amt_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_profile_amt_id: '||x_cust_acct_profile_amt_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_profile_amt_id: 14883
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
/* BEGIN address */
------------------------------------
-- 3. Create a physical location
------------------------------------
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 := 'FennerProfAPIamtc002';
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: 15538
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------
-- 4. Create a party site using party_id from step 2a and location_id from step 3
------------------------------------
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 := 19566; --<<value for party_id from step 2a>
p_party_site_rec.location_id := 15538; --<<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: 10710
x_party_site_number: 8437
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************
------------------------------------
-- 5. Create an account site using cust_account_id from step 2a and party_site_id from step 4.
------------------------------------
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 := 7744; --<<value for cust_account_id you get from step 2a>
p_cust_acct_site_rec.party_site_id := 10710; --<<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: 7261
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'
------------------------------------
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 := 7261; --<<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: 8943
x_return_status: S
x_msg_count: 0
x_msg_data: 0
***************************
/* END address */