0% found this document useful (0 votes)
33 views2 pages

Page 9

This PL/SQL block loops through records from the XXSD_SUP_SITE_STG2 table to create vendor sites. It populates a record variable with the required fields for each row and calls a package to create the vendor site. Any errors are handled by updating the status and error message in the source table.

Uploaded by

gufran.momin25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views2 pages

Page 9

This PL/SQL block loops through records from the XXSD_SUP_SITE_STG2 table to create vendor sites. It populates a record variable with the required fields for each row and calls a package to create the vendor site. Any errors are handled by updating the status and error message in the source table.

Uploaded by

gufran.momin25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

SET SERVEROUTPUT ON

DECLARE

L_VENDOR_SITE_REC AP_VENDOR_PUB_PKG.R_VENDOR_SITE_REC_TYPE;
L_RETURN_STATUS VARCHAR2(10);
L_MSG_COUNT NUMBER;
L_MSG_DATA VARCHAR2(1000);
L_VENDOR_SITE_ID NUMBER;
L_PARTY_SITE_ID NUMBER;
L_LOCATION_ID NUMBER;
L_MSG VARCHAR2(200);

CURSOR XXSD_SUPP_SITE
IS
SELECT * FROM XXSD_SUP_SITE_STG2
WHERE STATUS NOT IN ('P') OR STATUS IS NULL;

BEGIN

/*FND_GLOBAL.APPS_INITIALIZE(
USER_ID => 15790 /* USER_ID => DEVELOPER*/
---, RESP_ID => 20639 /* RESPONSIBILITY_ID => PAYABLES MANAGER*/
---, RESP_APPL_ID => 200 /* APPLICATION_ID => PAYABLES*/
--- );

FOR I IN XXSD_SUPP_SITE LOOP

--REQUIRED
L_VENDOR_SITE_REC.VENDOR_ID :=I.VENDOR_ID;
L_VENDOR_SITE_REC.VENDOR_SITE_CODE := I.SITE_CODE;
L_VENDOR_SITE_REC.ADDRESS_LINE1 :=I.SITE_ADDRESS_LINE_1;
L_VENDOR_SITE_REC.ADDRESS_LINE2 := I.SITE_ADDRESS_LINE_2;
L_VENDOR_SITE_REC.ADDRESS_LINE3 :=I.SITE_ADDRESS_LINE_3;
L_VENDOR_SITE_REC.CITY := I.SITE_CITY_TOWN;
L_VENDOR_SITE_REC.STATE :=I.SITE_STATE;
L_VENDOR_SITE_REC.ZIP :=I.SITE_PIN;
L_VENDOR_SITE_REC.COUNTRY := 'IN';
L_VENDOR_SITE_REC.ORG_ID := I.OPERATING_UNIT;
L_VENDOR_SITE_REC.ATTRIBUTE10 := I.SITE_CODE;
----L_VENDOR_SITE_REC.ACCTS_PAY_CODE_COMBINATION_ID:= I.LIABILITY_ACCOUNT; --
LIBILITY--
----L_VENDOR_SITE_REC.PREPAY_CODE_COMBINATION_ID :=I.PREPAYMENT_ACCOUNT; --
PREPAYMENT--

--OPTIONAL

/*L_VENDOR_SITE_REC.PURCHASING_SITE_FLAG:='Y';
L_VENDOR_SITE_REC.PAY_SITE_FLAG :='Y';
L_VENDOR_SITE_REC.RFQ_ONLY_SITE_FLAG :='N';
L_VENDOR_SITE_REC.MATCH_OPTION :='R';

POS_VENDOR_PUB_PKG.CREATE_VENDOR_SITE
(
P_VENDOR_SITE_REC => L_VENDOR_SITE_REC,
X_RETURN_STATUS => L_RETURN_STATUS,
X_MSG_COUNT => L_MSG_COUNT,
X_MSG_DATA => L_MSG_DATA,
X_VENDOR_SITE_ID => L_VENDOR_SITE_ID,
X_PARTY_SITE_ID => L_PARTY_SITE_ID,
X_LOCATION_ID => L_LOCATION_ID
);*/

COMMIT;

/*DBMS_OUTPUT.PUT_LINE('RETURN_STATUS: '||L_RETURN_STATUS);
DBMS_OUTPUT.PUT_LINE('MSG_DATA: '||L_MSG_DATA);
DBMS_OUTPUT.PUT_LINE('VENDOR_SITE_ID: '||L_VENDOR_SITE_ID);
DBMS_OUTPUT.PUT_LINE('PARTY_SITE_ID: '||L_PARTY_SITE_ID);
DBMS_OUTPUT.PUT_LINE('LOCATION_ID: '||L_LOCATION_ID);*/

BEGIN
UPDATE XXSD_SUP_SITE_STG2
SET status = 'P', error_msg = NULL
WHERE VENDOR_ID = I.VENDOR_ID; ----SITE_CODE =I.SITE_CODE;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;

COMMIT;

IF (L_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS) THEN


FOR I IN 1 .. FND_MSG_PUB.COUNT_MSG LOOP
L_MSG := FND_MSG_PUB.GET(P_MSG_INDEX => I,
P_ENCODED => FND_API.G_FALSE);
DBMS_OUTPUT.PUT_LINE('THE API CALL FAILED WITH ERROR ' || L_MSG);
END LOOP;
ELSE
DBMS_OUTPUT.PUT_LINE('THE API CALL ENDED WITH SUCESSS STATUS');
END IF;

COMMIT;

/*BEGIN
UPDATE XXSD_SUP_SITE_STG2
SET status = 'P', error_msg = NULL
WHERE SITE_CODE =I.SITE_CODE;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;*/

END LOOP;

END;

You might also like