/* Formatted on 2016/03/03 21:41 (Formatter Plus v4.8.8) */
CREATE OR REPLACE PACKAGE aad_sup_1
IS
PROCEDURE PRINT (p_message VARCHAR2);
PROCEDURE main1 (errbuf OUT VARCHAR2, retcode OUT VARCHAR2);
END;
CREATE OR REPLACE PACKAGE BODY aad_sup_1
IS
PROCEDURE PRINT (p_message VARCHAR2)
IS
BEGIN
fnd_file.put_line (fnd_file.LOG, p_message);
END;
PROCEDURE main1 (errbuf OUT VARCHAR2, retcode OUT VARCHAR2)
IS
CURSOR c1
IS
(SELECT vendor_name, vendor_type_lookup_code, invoice_currency_code,
payment_currency_code, start_date_active, terms_name,
ROWID row_id
FROM aad_supplier_stg
WHERE process_flag = 'N');
lv_vendor_name NUMBER;
ln_err_cnt NUMBER;
ln_err_msg VARCHAR2 (4000);
ln_vendor_interface_id NUMBER;
lv_vendor_type_lookup_code NUMBER;
lv_invoice_currency_code NUMBER;
lv_payment_currency_code NUMBER;
lv_terms_name NUMBER;
BEGIN
FOR i IN c1
LOOP
ln_err_cnt := 0;
ln_err_msg := ' ';
-- Vendor name validation -----------
BEGIN
SELECT 1
INTO lv_vendor_name
FROM ap_suppliers aps
WHERE aps.vendor_name = i.vendor_name;
IF lv_vendor_name = 1
THEN
ln_err_cnt := 1;
ln_err_msg :=
'Given vendor name ' || i.vendor_name || 'already exit';
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg := 'Err_msg: ' || SQLERRM;
END;
-- Vendor code validation -----------
BEGIN
SELECT 1
INTO lv_vendor_type_lookup_code
FROM fnd_lookup_values
WHERE lookup_type = 'VENDOR TYPE'
AND enabled_flag = 'Y'
AND LANGUAGE = USERENV ('LANG')
AND lookup_code = i.vendor_type_lookup_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given vendor site code invalid- '
|| i.vendor_type_lookup_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Vendor Type: '
|| SQLERRM;
END;
-- Invoice currency code validation -----------
BEGIN
SELECT 1
INTO lv_invoice_currency_code
FROM fnd_currencies
WHERE currency_code = i.invoice_currency_code
AND enabled_flag = 'Y';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given invoice currency code invalid- '
|| i.invoice_currency_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating invoice currency code: '
|| SQLERRM;
END;
-- Payment currency code validation -----------
BEGIN
SELECT 1
INTO lv_payment_currency_code
FROM fnd_currencies
WHERE currency_code = i.payment_currency_code
AND enabled_flag = 'Y';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given Payment currency code invalid- '
|| i.payment_currency_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Payment currency code: '
|| SQLERRM;
END;
-- Terms name validation -----------
BEGIN
SELECT 1
INTO lv_terms_name
FROM ap_terms_tl
WHERE NAME = i.terms_name AND LANGUAGE = USERENV ('LANG');
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given Term name invalid- '
|| i.terms_name;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Terms name: '
|| SQLERRM;
END;
IF ln_err_cnt = 0
THEN
SELECT ap_suppliers_int_s.NEXTVAL
INTO ln_vendor_interface_id
FROM DUAL;
INSERT INTO ap_suppliers_int
(vendor_interface_id, vendor_name,
vendor_type_lookup_code, invoice_currency_code,
payment_currency_code, terms_name,
start_date_active, created_by, creation_date,
last_updated_by, last_update_date
)
VALUES (ln_vendor_interface_id, i.vendor_name,
i.vendor_type_lookup_code, i.invoice_currency_code,
i.payment_currency_code, i.terms_name,
i.start_date_active, fnd_global.user_id, SYSDATE,
fnd_global.user_id, SYSDATE
);
UPDATE aad_supplier_stg
SET process_flag = 'S'
WHERE ROWID = i.row_id;
ELSE
UPDATE aad_supplier_stg
SET process_flag = 'E',
error_msg = ln_err_msg
WHERE ROWID = i.row_id;
END IF;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
PRINT ('Err_msg:- ' || SQLERRM);
END;
END;
CREATE OR REPLACE PACKAGE aad_sup_1
IS
PROCEDURE PRINT (p_message VARCHAR2);
PROCEDURE main1 (errbuf OUT VARCHAR2, retcode OUT VARCHAR2);
END;
CREATE OR REPLACE PACKAGE BODY aad_sup_1
IS
PROCEDURE PRINT (p_message VARCHAR2)
IS
BEGIN
fnd_file.put_line (fnd_file.LOG, p_message);
END;
PROCEDURE main1 (errbuf OUT VARCHAR2, retcode OUT VARCHAR2)
IS
CURSOR c1
IS
(SELECT vendor_name, vendor_type_lookup_code, invoice_currency_code,
payment_currency_code, start_date_active, terms_name,
ROWID row_id
FROM aad_supplier_stg
WHERE process_flag = 'N');
lv_vendor_name NUMBER;
ln_err_cnt NUMBER;
ln_err_msg VARCHAR2 (4000);
ln_vendor_interface_id NUMBER;
lv_vendor_type_lookup_code NUMBER;
lv_invoice_currency_code NUMBER;
lv_payment_currency_code NUMBER;
lv_terms_name NUMBER;
BEGIN
FOR i IN c1
LOOP
ln_err_cnt := 0;
ln_err_msg := ' ';
-- Vendor name validation -----------
BEGIN
SELECT 1
INTO lv_vendor_name
FROM ap_suppliers aps
WHERE aps.vendor_name = i.vendor_name;
IF lv_vendor_name = 1
THEN
ln_err_cnt := 1;
ln_err_msg :=
'Given vendor name ' || i.vendor_name || 'already exit';
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg := 'Err_msg: ' || SQLERRM;
END;
-- Vendor code validation -----------
BEGIN
SELECT 1
INTO lv_vendor_type_lookup_code
FROM fnd_lookup_values
WHERE lookup_type = 'VENDOR TYPE'
AND enabled_flag = 'Y'
AND LANGUAGE = USERENV ('LANG')
AND lookup_code = i.vendor_type_lookup_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given vendor site code invalid- '
|| i.vendor_type_lookup_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Vendor Type: '
|| SQLERRM;
END;
-- Invoice currency code validation -----------
BEGIN
SELECT 1
INTO lv_invoice_currency_code
FROM fnd_currencies
WHERE currency_code = i.invoice_currency_code
AND enabled_flag = 'Y';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given invoice currency code invalid- '
|| i.invoice_currency_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating invoice currency code: '
|| SQLERRM;
END;
-- Payment currency code validation -----------
BEGIN
SELECT 1
INTO lv_payment_currency_code
FROM fnd_currencies
WHERE currency_code = i.payment_currency_code
AND enabled_flag = 'Y';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given Payment currency code invalid- '
|| i.payment_currency_code;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Payment currency code: '
|| SQLERRM;
END;
-- Terms name validation -----------
BEGIN
SELECT 1
INTO lv_terms_name
FROM ap_terms_tl
WHERE NAME = i.terms_name AND LANGUAGE = USERENV ('LANG');
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Given Term name invalid- '
|| i.terms_name;
WHEN OTHERS
THEN
ln_err_cnt := 1;
ln_err_msg :=
ln_err_msg
|| ','
|| 'Error While validating Terms name: '
|| SQLERRM;
END;
IF ln_err_cnt = 0
THEN
SELECT ap_suppliers_int_s.NEXTVAL
INTO ln_vendor_interface_id
FROM DUAL;
INSERT INTO ap_suppliers_int
(vendor_interface_id, vendor_name,
vendor_type_lookup_code, invoice_currency_code,
payment_currency_code, terms_name,
start_date_active, created_by, creation_date,
last_updated_by, last_update_date
)
VALUES (ln_vendor_interface_id, i.vendor_name,
i.vendor_type_lookup_code, i.invoice_currency_code,
i.payment_currency_code, i.terms_name,
i.start_date_active, fnd_global.user_id, SYSDATE,
fnd_global.user_id, SYSDATE
);
UPDATE aad_supplier_stg
SET process_flag = 'S'
WHERE ROWID = i.row_id;
ELSE
UPDATE aad_supplier_stg
SET process_flag = 'E',
error_msg = ln_err_msg
WHERE ROWID = i.row_id;
END IF;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
PRINT ('Err_msg:- ' || SQLERRM);
END;
END;
No comments:
Post a Comment