DECLARE
CURSOR c IS
SELECT mm.manufacturer_id
,mm.manufacturer_name
,mm.description
,mm.attribute5 --曾用名
,mm.attribute4
,mm.attribute6
,mm.attribute7
,mm.attribute9
-- ,mm.created_by
-- ,mm.creation_date
,mm.attribute3
,mm.attribute1
FROM mtl_manufacturers mm
WHERE NOT EXISTS (SELECT 1
FROM ap.ap_suppliers ap
WHERE mm.description = ap.vendor_name); --1246
l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
j NUMBER := 0;
l_segment1 VARCHAR2(240);
x_return_status VARCHAR2(240);
x_msg_count NUMBER;
x_msg_message VARCHAR2(4000);
l_vendor_id NUMBER;
l_party_id NUMBER;
BEGIN
FOR i IN c LOOP
l_segment1 := cux_hap_comm_data_pkg.get_max_segment1;
j := j + 1;
-- 建立供應商
l_vendor_rec := NULL;
l_vendor_rec.segment1 := l_segment1;
l_vendor_rec.vendor_name := i.description;
l_vendor_rec.vendor_type_lookup_code := 'VENDOR';
l_vendor_rec.attribute_category := NULL;
l_vendor_rec.attribute2 := '系統外';
l_vendor_rec.attribute4 := i.attribute4;
l_vendor_rec.attribute5 := 'VENDOR';
--modify by [email protected]
--PIM在處理時,供方檔案密級不儲存單據表頭密級,預設存儲為“内部(代碼)
l_vendor_rec.attribute6 := 'VC9F3MBC4G6I6NA'; --i.security_level;
--end modify
l_vendor_rec.attribute7 := i.attribute6;
l_vendor_rec.attribute8 := i.attribute7;
l_vendor_rec.attribute9 := i.attribute9;
l_vendor_rec.attribute10 := 'ONLY_MANUFACTURER';
l_vendor_rec.start_date_active := SYSDATE; --INSERT BY [email protected]
IF i.attribute3 = 'Y' THEN
l_vendor_rec.end_date_active := SYSDATE - 1;
ELSE
l_vendor_rec.end_date_active := NULL;
END IF;
--INSERT BY [email protected]
l_vendor_rec.vendor_name_alt := i.attribute1; --ADD BY [email protected]
l_vendor_rec.attribute11 := i.manufacturer_name;
l_vendor_rec.attribute12 := i.manufacturer_id;
l_vendor_rec.attribute13 := i.description; --ADD BY [email protected] 制造商名稱(與供應商名稱一緻)
l_vendor_rec.attribute14 := i.attribute5; --ADD BY [email protected]
l_vendor_rec.attribute15 := 'INTRANET'; --ADD BY [email protected]
l_vendor_rec.attribute1 := NULL; --ADD BY [email protected]
ap_vendor_pub_pkg.create_vendor(p_api_version => 1.0
,p_init_msg_list => fnd_api.g_false
,p_commit => fnd_api.g_false
,p_validation_level => fnd_api.g_valid_level_full
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_message
,p_vendor_rec => l_vendor_rec
,x_vendor_id => l_vendor_id
,x_party_id => l_party_id);
END LOOP;
dbms_output.put_line(j);
END;