客户导入程序:
--分步导入比较靠谱
--暂分成:1. 客户编号及名称导入
2. 客户地址及收货方 收单方导入
3. 客户层联系人及联系人电话导入
--客户编号及名称导入程序(即客户层信息导入)
--客户编号名称导入程序 HZ_PARTIES/ HZ_CUST_ACCOUNTS
DECLARE
P_CUST_ACCOUNT_REC HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE; --对应表:HZ_CUST_ACCOUNTS
P_ORGANIZATION_REC HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE; --对应表:HZ_PARTIES
P_CUSTOMER_PROFILE_REC HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE; --对应表:从此VIEW AR_CUSTOMER_PROFILES_V 追溯至 HZ_CUSTOMER_PROFILES
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 := 'Fenner_01';
P_CUST_ACCOUNT_REC.CREATED_BY_MODULE := 'TCAPI_EXAMPLE';
P_CUSTOMER_PROFILE_REC.PROFILE_CLASS_ID := 1060; --取自AR_CUSTOMER_PROFILE_CLASSES_V OM模块-->设置-->客户-->客户配置文件分类
P_ORGANIZATION_REC.ORGANIZATION_NAME := 'Fenner_01'; --Party_name
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
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('236');
END;*/
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);
P_PARTY_SITE_REC HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
X_PARTY_SITE_ID NUMBER;
X_PARTY_SITE_NUMBER VARCHAR2(2000);
P_CUST_ACCT_SITE_REC HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_ACCT_SITE_REC_TYPE;
X_CUST_ACCT_SITE_ID NUMBER;
V_CUST_ACCOUNT_ID NUMBER;
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;
V_BILL_TO_SITE_USE_ID NUMBER;
--客户信息
--收单方与收货方地址一样,此时只需创建一个客户地址,然后先创建BILL_TO,再创建SHIP_TO,然后再把先前生成的BILL_TO,赋给SHIP_TO
--收单方与收货方地址不一样,此时需先创建BILL_TO地址,然后只创建BILL_TO,接着再创建一个SHIP_TO地址,然后再把先前生成的BILL_TO,赋给SHIP_TO的BILL_TO
CURSOR C1 IS
SELECT (SELECT HP.PARTY_ID
FROM HZ_PARTIES HP
WHERE HP.PARTY_NAME = A.CUSTOMER_NAME) PARTY_ID
,A.*
FROM MEWBACKUP.MEW_CUSTOMER_IMPORT_TMP A
WHERE A.CUSTOMER_NUMBER = 'B80024010'
--AND A.BILL_TO = A.SHIP_TO
;
BEGIN
FOR R1 IN C1
LOOP
IF R1.SHIP_TO = R1.BILL_TO
THEN
--1 Location Create Begin
P_LOCATION_REC.COUNTRY := 'CN';
P_LOCATION_REC.ADDRESS1 := R1.CUSTOMER_NAME;
P_LOCATION_REC.ADDRESS2 := R1.SHIP_TO;
P_LOCATION_REC.ADDRESS4 := R1.SHIP_TO;
P_LOCATION_REC.CITY := R1.CITY;
--P_LOCATION_REC.POSTAL_CODE := '94401';
P_LOCATION_REC.PROVINCE := R1.PROVINCE;
P_LOCATION_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
DBMS_OUTPUT.PUT_LINE(' ');
--Location Create End
--2 Party Site Create Begin
BEGIN
P_PARTY_SITE_REC.PARTY_ID := R1.PARTY_ID; --<<value for party_id from step 2& GT;
P_PARTY_SITE_REC.LOCATION_ID := X_LOCATION_ID; --<<value for location_id from STEP 3 >
P_PARTY_SITE_REC.IDENTIFYING_ADDRESS_FLAG := 'Y';
P_PARTY_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
--2 Party Site Create End
--3 Cust Account Site ID Create Begin
BEGIN
V_CUST_ACCOUNT_ID := NULL;
SELECT HCA.CUST_ACCOUNT_ID
INTO V_CUST_ACCOUNT_ID
FROM HZ_CUST_ACCOUNTS HCA
WHERE HCA.PARTY_ID = R1.PARTY_ID;
P_CUST_ACCT_SITE_REC.CUST_ACCOUNT_ID := V_CUST_ACCOUNT_ID; --<<value for CUST_ACCOUNT_ID YOU GET FROM STEP 2 >
P_CUST_ACCT_SITE_REC.PARTY_SITE_ID := X_PARTY_SITE_ID; --<<value for PARTY_SITE_ID FROM STEP 4 >
P_CUST_ACCT_SITE_REC.LANGUAGE := 'ZHS';
P_CUST_ACCT_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
--3 Cust Account Site ID Create End
--4 Cust account Site Use ID Create Begin
BEGIN
P_CUST_SITE_USE_REC.CUST_ACCT_SITE_ID := X_CUST_ACCT_SITE_ID; --<<value for CUST_ACCT_SITE_ID FROM STEP 5 >
P_CUST_SITE_USE_REC.SITE_USE_CODE := 'BILL_TO';
P_CUST_SITE_USE_REC.LOCATION := R1.BILL_TO;
-- P_CUST_SITE_USE_REC.BILL_TO_SITE_USE_ID := V_BILL_TO_SITE_USE_ID;
-- P_CUST_SITE_USE_REC.PAYMENT_TERM_ID := 1081;
P_CUST_SITE_USE_REC.TAX_CODE := 'VAT 17%';
-- P_CUST_SITE_USE_REC.ORDER_TYPE_ID := 1579;
-- P_CUST_SITE_USE_REC.PRICE_LIST_ID := 179738;
-- P_CUST_SITE_USE_REC.PRIMARY_SALESREP_ID := 100007105;
P_CUST_SITE_USE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
V_BILL_TO_SITE_USE_ID := NULL;
SELECT NVL(A.BILL_TO_SITE_USE_ID
,A.SITE_USE_ID)
INTO V_BILL_TO_SITE_USE_ID
FROM HZ_CUST_SITE_USES_ALL A
WHERE A.CUST_ACCT_SITE_ID IN
(SELECT B.CUST_ACCT_SITE_ID
FROM HZ_CUST_ACCT_SITES_ALL B
WHERE B.CUST_ACCOUNT_ID = V_CUST_ACCOUNT_ID)
AND A.LOCATION = R1.SHIP_TO
AND A.SITE_USE_CODE = 'BILL_TO'
--AND A.BILL_TO_SITE_USE_ID IS NOT NULL
;
P_CUST_SITE_USE_REC.CUST_ACCT_SITE_ID := X_CUST_ACCT_SITE_ID; --<<value for CUST_ACCT_SITE_ID FROM STEP 5 >
P_CUST_SITE_USE_REC.SITE_USE_CODE := 'SHIP_TO';
P_CUST_SITE_USE_REC.LOCATION := R1.SHIP_TO;
P_CUST_SITE_USE_REC.BILL_TO_SITE_USE_ID := V_BILL_TO_SITE_USE_ID;
-- P_CUST_SITE_USE_REC.PAYMENT_TERM_ID := 1081;
P_CUST_SITE_USE_REC.TAX_CODE := 'VAT 17%';
-- P_CUST_SITE_USE_REC.ORDER_TYPE_ID := 1579;
-- P_CUST_SITE_USE_REC.PRICE_LIST_ID := 179738;
-- P_CUST_SITE_USE_REC.PRIMARY_SALESREP_ID := 100007105;
P_CUST_SITE_USE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
ELSE
--导入BILL_TO地址
P_LOCATION_REC.COUNTRY := 'CN';
P_LOCATION_REC.ADDRESS1 := R1.CUSTOMER_NAME;
P_LOCATION_REC.ADDRESS2 := R1.BILL_TO;
-- P_LOCATION_REC.ADDRESS4 := R1.ADDRESS4;
--P_LOCATION_REC.POSTAL_CODE := '94401';
P_LOCATION_REC.PROVINCE := R1.PROVINCE;
P_LOCATION_REC.CITY := R1.CITY;
P_LOCATION_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
DBMS_OUTPUT.PUT_LINE(' ');
BEGIN
P_PARTY_SITE_REC.PARTY_ID := R1.PARTY_ID; --<<value for party_id from step 2& GT;
P_PARTY_SITE_REC.LOCATION_ID := X_LOCATION_ID; --<<value for location_id from STEP 3 >
P_PARTY_SITE_REC.IDENTIFYING_ADDRESS_FLAG := 'Y';
P_PARTY_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
BEGIN
V_CUST_ACCOUNT_ID := NULL;
SELECT HCA.CUST_ACCOUNT_ID
INTO V_CUST_ACCOUNT_ID
FROM HZ_CUST_ACCOUNTS HCA
WHERE HCA.PARTY_ID = R1.PARTY_ID;
P_CUST_ACCT_SITE_REC.CUST_ACCOUNT_ID := V_CUST_ACCOUNT_ID; --<<value for CUST_ACCOUNT_ID YOU GET FROM STEP 2 >
P_CUST_ACCT_SITE_REC.PARTY_SITE_ID := X_PARTY_SITE_ID; --<<value for PARTY_SITE_ID FROM STEP 4 >
P_CUST_ACCT_SITE_REC.LANGUAGE := 'ZHS';
P_CUST_ACCT_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
--导入BILL_TO
BEGIN
P_CUST_SITE_USE_REC.CUST_ACCT_SITE_ID := X_CUST_ACCT_SITE_ID; --<<value for CUST_ACCT_SITE_ID FROM STEP 5 >
P_CUST_SITE_USE_REC.SITE_USE_CODE := 'BILL_TO';
P_CUST_SITE_USE_REC.LOCATION := R1.BILL_TO;
-- P_CUST_SITE_USE_REC.BILL_TO_SITE_USE_ID := V_BILL_TO_SITE_USE_ID;
-- P_CUST_SITE_USE_REC.PAYMENT_TERM_ID := 1081;
P_CUST_SITE_USE_REC.TAX_CODE := 'VAT 17%';
-- P_CUST_SITE_USE_REC.ORDER_TYPE_ID := 1579;
-- P_CUST_SITE_USE_REC.PRICE_LIST_ID := 179738;
-- P_CUST_SITE_USE_REC.PRIMARY_SALESREP_ID := 100007105;
P_CUST_SITE_USE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
--导入SHIP_TO地址
P_LOCATION_REC.COUNTRY := 'CN';
P_LOCATION_REC.ADDRESS1 := R1.CUSTOMER_NAME;
P_LOCATION_REC.ADDRESS2 := R1.SHIP_TO;
P_LOCATION_REC.ADDRESS4 := R1.SHIP_TO;
--P_LOCATION_REC.POSTAL_CODE := '94401';
P_LOCATION_REC.PROVINCE := R1.PROVINCE;
P_LOCATION_REC.CITY := R1.CITY;
P_LOCATION_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
DBMS_OUTPUT.PUT_LINE(' ');
BEGIN
P_PARTY_SITE_REC.PARTY_ID := R1.PARTY_ID; --<<value for party_id from step 2& GT;
P_PARTY_SITE_REC.LOCATION_ID := X_LOCATION_ID; --<<value for location_id from STEP 3 >
P_PARTY_SITE_REC.IDENTIFYING_ADDRESS_FLAG := 'Y';
P_PARTY_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
BEGIN
V_CUST_ACCOUNT_ID := NULL;
SELECT HCA.CUST_ACCOUNT_ID
INTO V_CUST_ACCOUNT_ID
FROM HZ_CUST_ACCOUNTS HCA
WHERE HCA.PARTY_ID = R1.PARTY_ID;
P_CUST_ACCT_SITE_REC.CUST_ACCOUNT_ID := V_CUST_ACCOUNT_ID; --<<value for CUST_ACCOUNT_ID YOU GET FROM STEP 2 >
P_CUST_ACCT_SITE_REC.PARTY_SITE_ID := X_PARTY_SITE_ID; --<<value for PARTY_SITE_ID FROM STEP 4 >
P_CUST_ACCT_SITE_REC.LANGUAGE := 'ZHS';
P_CUST_ACCT_SITE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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;
--导入SHIP_TO
V_BILL_TO_SITE_USE_ID := NULL;
SELECT NVL(A.BILL_TO_SITE_USE_ID
,A.SITE_USE_ID)
INTO V_BILL_TO_SITE_USE_ID
FROM HZ_CUST_SITE_USES_ALL A
WHERE A.CUST_ACCT_SITE_ID IN
(SELECT B.CUST_ACCT_SITE_ID
FROM HZ_CUST_ACCT_SITES_ALL B
WHERE B.CUST_ACCOUNT_ID = V_CUST_ACCOUNT_ID)
AND A.LOCATION = R1.SHIP_TO
AND A.SITE_USE_CODE = 'BILL_TO'
--AND A.BILL_TO_SITE_USE_ID IS NOT NULL
;
P_CUST_SITE_USE_REC.CUST_ACCT_SITE_ID := X_CUST_ACCT_SITE_ID; --<<value for CUST_ACCT_SITE_ID FROM STEP 5 >
P_CUST_SITE_USE_REC.SITE_USE_CODE := 'SHIP_TO';
P_CUST_SITE_USE_REC.LOCATION := R1.SHIP_TO;
P_CUST_SITE_USE_REC.BILL_TO_SITE_USE_ID := V_BILL_TO_SITE_USE_ID;
-- P_CUST_SITE_USE_REC.PAYMENT_TERM_ID := 1081;
P_CUST_SITE_USE_REC.TAX_CODE := 'VAT 17%';
-- P_CUST_SITE_USE_REC.ORDER_TYPE_ID := 1579;
-- P_CUST_SITE_USE_REC.PRICE_LIST_ID := 179738;
-- P_CUST_SITE_USE_REC.PRIMARY_SALESREP_ID := 100007105;
P_CUST_SITE_USE_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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 IF;
END LOOP;
END;
--3. 客户层联系人和联系人电话导入程序
--联系人电话导入程序
/*BEGIN
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('236');
END;*/
--7
DECLARE
P_CREATE_PERSON_REC HZ_PARTY_V2PUB.PERSON_REC_TYPE;
X_PARTY_ID NUMBER /*:= 97293*/
;
X_PARTY_NUMBER VARCHAR2(2000);
X_PROFILE_ID NUMBER;
X_RETURN_STATUS VARCHAR2(2000);
X_MSG_COUNT NUMBER;
X_MSG_DATA VARCHAR2(2000);
P_ORG_CONTACT_REC HZ_PARTY_CONTACT_V2PUB.ORG_CONTACT_REC_TYPE;
X_ORG_CONTACT_ID NUMBER;
X_PARTY_REL_ID NUMBER;
P_CR_CUST_ACC_ROLE_REC HZ_CUST_ACCOUNT_ROLE_V2PUB.CUST_ACCOUNT_ROLE_REC_TYPE;
X_CUST_ACCOUNT_ROLE_ID NUMBER;
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;
CURSOR C1 IS
SELECT (SELECT HP.PARTY_ID
FROM HZ_PARTIES HP
WHERE HP.PARTY_NAME = A.CUSTOMER_NAME) PARTY_ID
,(SELECT CUSTOMER_ID
FROM AR_CUSTOMERS AC
WHERE AC.CUSTOMER_NAME = A.CUSTOMER_NAME) CUSTOMBER_ACCOUNT_ID
,A.*
FROM MEWBACKUP.MEW_CUSTOMER_IMPORT_TMP A
WHERE A.CUSTOMER_NUMBER = 'B80024010';
BEGIN
FOR R1 IN C1
LOOP
--7
P_CREATE_PERSON_REC.PERSON_LAST_NAME := NVL(R1.CONTACTOR
,'无');
P_CREATE_PERSON_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
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('***************************');
--8
P_ORG_CONTACT_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
P_ORG_CONTACT_REC.PARTY_REL_REC.SUBJECT_ID := X_PARTY_ID; --<<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 := R1.PARTY_ID; --<<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('***************************');
--9
P_CR_CUST_ACC_ROLE_REC.PARTY_ID := X_PARTY_ID; --<<value for party_id from step 8>
P_CR_CUST_ACC_ROLE_REC.CUST_ACCOUNT_ID := R1.CUSTOMBER_ACCOUNT_ID; --<<value for cust_account_id from step 2>
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 := 'TCA_FORM_WRAPPER';
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('***************************');
--10电话
P_CONTACT_POINT_REC.CONTACT_POINT_TYPE := 'PHONE';
P_CONTACT_POINT_REC.OWNER_TABLE_NAME := 'HZ_PARTIES';
P_CONTACT_POINT_REC.OWNER_TABLE_ID := X_PARTY_ID; --<value for party_id from step 8>
P_CONTACT_POINT_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
P_PHONE_REC.PHONE_NUMBER := R1.PHONE;
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('***************************');
P_CONTACT_POINT_REC.CONTACT_POINT_TYPE := 'PHONE';
P_CONTACT_POINT_REC.OWNER_TABLE_NAME := 'HZ_PARTIES';
P_CONTACT_POINT_REC.OWNER_TABLE_ID := X_PARTY_ID; --<value for party_id from step 8>
P_CONTACT_POINT_REC.CREATED_BY_MODULE := 'TCA_FORM_WRAPPER';
P_PHONE_REC.PHONE_NUMBER := R1.FAX;
P_PHONE_REC.PHONE_LINE_TYPE := 'FAX';
--11传真
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 LOOP;
END;