AP Supplier Interface

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

Oracle Application

AP Supplier Interface
Loading Data
Muhammad Aurangzaib

15
AP Supplier Interface [Data Loading]

Table of Contents

Oracle Supplier Tables: .................................................................................................................................................................................................. 2


Oracle Supplier Interface Table ..................................................................................................................................................................................... 2
Minimum columns to be populated for suppliers interface: ..................................................................................................................................... 2
Table AP_SUPPLIERS_INT ....................................................................................................................................................................................... 2
Table AP_SUPPILER_SITES_INT .............................................................................................................................................................................. 3
Table AP_SUP_SITE_CONTACT_INT ....................................................................................................................................................................... 3
Steps to Load the Data: .................................................................................................................................................................................................. 3
Executable and Concurrent Programs ....................................................................................................................................................................... 4
Create the Stage Tables ........................................................................................................................................................................................... 10
Create Package “XXEDB_AP_SUPPLIERS_INTERFACE” ............................................................................................................................................ 22
Execute the Open Interface in “Payable Manager” Responsibility.......................................................................................................................... 58
View the Rejection Records, “AP_SUPPLIER_INT_REJECTIONS” Table.................................................................................................................... 60

Page 1 of 60
AP Supplier Interface [Data Loading]

AP Supplier Interface
Oracle Supplier Tables:

This is Supplier Interface Program to load the data for the Oracle Tables:

1. AP_SUPPLIERS
2. AP_SUPPLIER_SITES_ALL
3. AP_SUPPLIER_CONTACTS

Oracle Supplier Interface Table

To load data, interface tables will be used:

1. AP_SUPPLIERS_INT
2. AP_SUPPLIER_SITES_INT
3. AP_SUP_SITE_CONTACT_INT

Minimum columns to be populated for suppliers interface:


Table AP_SUPPLIERS_INT
1. Vendor_ interface_ id => ap_suppliers_int_s.next_val
2. summary_flag=>set to y
3. enabled_flag=>set to y
4. vendor_name
5. segment1=>vendor number

Page 2 of 60
AP Supplier Interface [Data Loading]
6. terms_id/terms_name
7. invoice_currency_code

Table AP_SUPPILER_SITES_INT
1. vendor_site_interface_id=> ap_supplier_sites_int_s.nextval
2. vendor_interface_id =>ap_supplier_sites_int_s.nextval
3. vendor_site_code
4. org_id
5. vendor_id
6. address_line1
7. terms_id/terms_name
8. invoice_currency_code
9. country

Table AP_SUP_SITE_CONTACT_INT
1. vendor_interface_id =>ap_supplier_sites_int_s.nextval
2. vendor_contact_interface_id=>AP_SUP_SITE_CONTACT_INT_S.NEXTVAL
3. vendor_site_code
4. org_id
5. vendor_site_id
6. vendor_id
7. last_name

Note: if you want to populate URL or Email then make sure they are in correct format or oracle rejects these data. The data inserted via this
interface are automatically populated into “HZ_PARTIES” table.

Steps to Load the Data:


1. Define the Executable and Concurrent Programs
2. Create the Stage Tables as XXAP_SUPPLIERS_INT_STG, XXAP_SUPPLIER_SITES_INT_STG, XXAP_SUP_SITE_CONTACT_INT_STG.
3. Create Package “XXEDB_AP_SUPPLIERS_INTERFACE”, Validate the Stage Tables and insert into the Suppliers interface tables.
4. Run the Oracle’s Open Supplier Standard Interfaces Programs in "Payable Manager" Responsibility.

Page 3 of 60
AP Supplier Interface [Data Loading]
a. Supplier Open Interface Import
b. Supplier Sites Open Interface Import
c. Supplier Contacts Open Interface Import
5. View the Rejection Records, “AP_SUPPLIER_INT_REJECTIONS” Table

Executable and Concurrent Programs


XXEDB_AP_SUPPLIERS_LOAD

Page 4 of 60
AP Supplier Interface [Data Loading]

Page 5 of 60
AP Supplier Interface [Data Loading]

XXEDB_AP_SUPPLIERS_SITES_LOAD

Page 6 of 60
AP Supplier Interface [Data Loading]

Page 7 of 60
AP Supplier Interface [Data Loading]

XXEDB_AP_SUPPLIERS_CONT_LOAD

Page 8 of 60
AP Supplier Interface [Data Loading]

Page 9 of 60
AP Supplier Interface [Data Loading]

Create the Stage Tables


DROP TABLE XXAP_SUPPLIERS_INT_STG CASCADE CONSTRAINTS PURGE;

CREATE TABLE XXAP_SUPPLIERS_INT_STG


(
VENDOR_INTERFACE_ID NUMBER(15),
LAST_UPDATE_DATE DATE,
LAST_UPDATED_BY NUMBER(15),
VENDOR_NAME VARCHAR2(240 BYTE) NOT NULL,
VENDOR_NAME_ALT VARCHAR2(320 BYTE),
SEGMENT1 VARCHAR2(30 BYTE),
SUMMARY_FLAG VARCHAR2(1 BYTE),
ENABLED_FLAG VARCHAR2(1 BYTE),
LAST_UPDATE_LOGIN NUMBER(15),
CREATION_DATE DATE,

Page 10 of 60
AP Supplier Interface [Data Loading]
CREATED_BY NUMBER(15),
EMPLOYEE_ID NUMBER,
VENDOR_TYPE_LOOKUP_CODE VARCHAR2(30 BYTE),
CUSTOMER_NUM VARCHAR2(25 BYTE),
ONE_TIME_FLAG VARCHAR2(1 BYTE),
MIN_ORDER_AMOUNT NUMBER,
SHIP_TO_LOCATION_ID NUMBER,
SHIP_TO_LOCATION_CODE VARCHAR2(60 BYTE),
BILL_TO_LOCATION_ID NUMBER,
BILL_TO_LOCATION_CODE VARCHAR2(60 BYTE),
SHIP_VIA_LOOKUP_CODE VARCHAR2(25 BYTE),
FREIGHT_TERMS_LOOKUP_CODE VARCHAR2(25 BYTE),
FOB_LOOKUP_CODE VARCHAR2(25 BYTE),
TERMS_ID NUMBER,
TERMS_NAME VARCHAR2(50 BYTE),
SET_OF_BOOKS_ID NUMBER,
ALWAYS_TAKE_DISC_FLAG VARCHAR2(1 BYTE),
PAY_DATE_BASIS_LOOKUP_CODE VARCHAR2(25 BYTE),
PAY_GROUP_LOOKUP_CODE VARCHAR2(25 BYTE),
PAYMENT_PRIORITY NUMBER,
INVOICE_CURRENCY_CODE VARCHAR2(15 BYTE),
PAYMENT_CURRENCY_CODE VARCHAR2(15 BYTE),
INVOICE_AMOUNT_LIMIT NUMBER,
HOLD_ALL_PAYMENTS_FLAG VARCHAR2(1 BYTE),
HOLD_FUTURE_PAYMENTS_FLAG VARCHAR2(1 BYTE),
HOLD_REASON VARCHAR2(240 BYTE),
DISTRIBUTION_SET_ID NUMBER,
DISTRIBUTION_SET_NAME VARCHAR2(50 BYTE),
ACCTS_PAY_CODE_COMBINATION_ID NUMBER,
PREPAY_CODE_COMBINATION_ID NUMBER,
NUM_1099 VARCHAR2(30 BYTE),
TYPE_1099 VARCHAR2(10 BYTE),
ORGANIZATION_TYPE_LOOKUP_CODE VARCHAR2(25 BYTE),
VAT_CODE VARCHAR2(30 BYTE),
START_DATE_ACTIVE DATE,
END_DATE_ACTIVE DATE,
MINORITY_GROUP_LOOKUP_CODE VARCHAR2(30 BYTE),
PAYMENT_METHOD_LOOKUP_CODE VARCHAR2(30 BYTE),
WOMEN_OWNED_FLAG VARCHAR2(1 BYTE),

Page 11 of 60
AP Supplier Interface [Data Loading]
SMALL_BUSINESS_FLAG VARCHAR2(1 BYTE),
STANDARD_INDUSTRY_CLASS VARCHAR2(25 BYTE),
HOLD_FLAG VARCHAR2(1 BYTE),
PURCHASING_HOLD_REASON VARCHAR2(240 BYTE),
HOLD_BY NUMBER(9),
HOLD_DATE DATE,
TERMS_DATE_BASIS VARCHAR2(25 BYTE),
INSPECTION_REQUIRED_FLAG VARCHAR2(1 BYTE),
RECEIPT_REQUIRED_FLAG VARCHAR2(1 BYTE),
QTY_RCV_TOLERANCE NUMBER,
QTY_RCV_EXCEPTION_CODE VARCHAR2(25 BYTE),
ENFORCE_SHIP_TO_LOCATION_CODE VARCHAR2(25 BYTE),
DAYS_EARLY_RECEIPT_ALLOWED NUMBER,
DAYS_LATE_RECEIPT_ALLOWED NUMBER,
RECEIPT_DAYS_EXCEPTION_CODE VARCHAR2(25 BYTE),
RECEIVING_ROUTING_ID NUMBER,
ALLOW_SUBSTITUTE_RECEIPTS_FLAG VARCHAR2(1 BYTE),
ALLOW_UNORDERED_RECEIPTS_FLAG VARCHAR2(1 BYTE),
HOLD_UNMATCHED_INVOICES_FLAG VARCHAR2(1 BYTE),
EXCLUSIVE_PAYMENT_FLAG VARCHAR2(1 BYTE),
AP_TAX_ROUNDING_RULE VARCHAR2(1 BYTE),
AUTO_TAX_CALC_FLAG VARCHAR2(1 BYTE),
AUTO_TAX_CALC_OVERRIDE VARCHAR2(1 BYTE),
AMOUNT_INCLUDES_TAX_FLAG VARCHAR2(1 BYTE),
TAX_VERIFICATION_DATE DATE,
NAME_CONTROL VARCHAR2(4 BYTE),
STATE_REPORTABLE_FLAG VARCHAR2(1 BYTE),
FEDERAL_REPORTABLE_FLAG VARCHAR2(1 BYTE),
ATTRIBUTE_CATEGORY VARCHAR2(30 BYTE),
ATTRIBUTE1 VARCHAR2(150 BYTE),
ATTRIBUTE2 VARCHAR2(150 BYTE),
ATTRIBUTE3 VARCHAR2(150 BYTE),
ATTRIBUTE4 VARCHAR2(150 BYTE),
ATTRIBUTE5 VARCHAR2(150 BYTE),
ATTRIBUTE6 VARCHAR2(150 BYTE),
ATTRIBUTE7 VARCHAR2(150 BYTE),
ATTRIBUTE8 VARCHAR2(150 BYTE),
ATTRIBUTE9 VARCHAR2(150 BYTE),
ATTRIBUTE10 VARCHAR2(150 BYTE),

Page 12 of 60
AP Supplier Interface [Data Loading]
ATTRIBUTE11 VARCHAR2(150 BYTE),
ATTRIBUTE12 VARCHAR2(150 BYTE),
ATTRIBUTE13 VARCHAR2(150 BYTE),
ATTRIBUTE14 VARCHAR2(150 BYTE),
ATTRIBUTE15 VARCHAR2(150 BYTE),
REQUEST_ID NUMBER,
PROGRAM_APPLICATION_ID NUMBER,
PROGRAM_ID NUMBER,
PROGRAM_UPDATE_DATE DATE,
VAT_REGISTRATION_NUM VARCHAR2(20 BYTE),
AUTO_CALCULATE_INTEREST_FLAG VARCHAR2(1 BYTE),
EXCLUDE_FREIGHT_FROM_DISCOUNT VARCHAR2(1 BYTE),
TAX_REPORTING_NAME VARCHAR2(80 BYTE),
ALLOW_AWT_FLAG VARCHAR2(1 BYTE),
AWT_GROUP_ID NUMBER(15),
AWT_GROUP_NAME VARCHAR2(25 BYTE),
GLOBAL_ATTRIBUTE1 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE2 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE3 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE4 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE5 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE6 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE7 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE8 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE9 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE10 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE11 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE12 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE13 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE14 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE15 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE16 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE17 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE18 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE19 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE20 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE_CATEGORY VARCHAR2(30 BYTE),
EDI_TRANSACTION_HANDLING VARCHAR2(25 BYTE),
EDI_PAYMENT_METHOD VARCHAR2(25 BYTE),

Page 13 of 60
AP Supplier Interface [Data Loading]
EDI_PAYMENT_FORMAT VARCHAR2(25 BYTE),
EDI_REMITTANCE_METHOD VARCHAR2(25 BYTE),
EDI_REMITTANCE_INSTRUCTION VARCHAR2(256 BYTE),
BANK_CHARGE_BEARER VARCHAR2(1 BYTE),
MATCH_OPTION VARCHAR2(25 BYTE),
FUTURE_DATED_PAYMENT_CCID NUMBER(15),
CREATE_DEBIT_MEMO_FLAG VARCHAR2(25 BYTE),
OFFSET_TAX_FLAG VARCHAR2(1 BYTE),
IMPORT_REQUEST_ID NUMBER(15),
STATUS VARCHAR2(30 BYTE),
REJECT_CODE VARCHAR2(2000 BYTE),
ECE_TP_LOCATION_CODE VARCHAR2(60 BYTE),
IBY_BANK_CHARGE_BEARER VARCHAR2(30 BYTE),
BANK_INSTRUCTION1_CODE VARCHAR2(30 BYTE),
BANK_INSTRUCTION2_CODE VARCHAR2(30 BYTE),
BANK_INSTRUCTION_DETAILS VARCHAR2(255 BYTE),
PAYMENT_REASON_CODE VARCHAR2(30 BYTE),
PAYMENT_REASON_COMMENTS VARCHAR2(240 BYTE),
PAYMENT_TEXT_MESSAGE1 VARCHAR2(150 BYTE),
PAYMENT_TEXT_MESSAGE2 VARCHAR2(150 BYTE),
PAYMENT_TEXT_MESSAGE3 VARCHAR2(150 BYTE),
DELIVERY_CHANNEL_CODE VARCHAR2(30 BYTE),
PAYMENT_FORMAT_CODE VARCHAR2(150 BYTE),
SETTLEMENT_PRIORITY VARCHAR2(30 BYTE),
PAYMENT_METHOD_CODE VARCHAR2(30 BYTE),
PAY_AWT_GROUP_ID NUMBER(15),
PAY_AWT_GROUP_NAME VARCHAR2(25 BYTE),
URL VARCHAR2(2000 BYTE),
SUPPLIER_NOTIF_METHOD VARCHAR2(25 BYTE),
REMITTANCE_EMAIL VARCHAR2(2000 BYTE),
EMAIL_ADDRESS VARCHAR2(2000 BYTE),
REMIT_ADVICE_FAX VARCHAR2(100 BYTE),
PARTY_ORIG_SYSTEM VARCHAR2(30 BYTE),
PARTY_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
SDH_BATCH_ID NUMBER(15),
PARTY_ID NUMBER(15),
CEO_NAME VARCHAR2(240 BYTE),
CEO_TITLE VARCHAR2(240 BYTE),
PROCESS_FLAG VARCHAR2(240 BYTE),

Page 14 of 60
AP Supplier Interface [Data Loading]
ERROR_FLAG VARCHAR2(240 BYTE),
ERROR_DESC VARCHAR2(2000 BYTE),
OLD_SUPPLIER_ID NUMBER,
OLD_SUPPLIER_NUMBER VARCHAR2(250 BYTE),
RECEIVING_ROUTING_NAME VARCHAR2(350 BYTE)
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

DROP PUBLIC SYNONYM XXAP_SUPPLIERS_INT_STG;

CREATE PUBLIC SYNONYM XXAP_SUPPLIERS_INT_STG FOR XXAP_SUPPLIERS_INT_STG;


DROP TABLE XXAP_SUPPLIER_SITES_INT_STG CASCADE CONSTRAINTS PURGE;

CREATE TABLE XXAP_SUPPLIER_SITES_INT_STG


(
VENDOR_INTERFACE_ID NUMBER(15),
LAST_UPDATE_DATE DATE,
LAST_UPDATED_BY NUMBER(15),
VENDOR_ID NUMBER,
VENDOR_SITE_CODE VARCHAR2(15 BYTE) NOT NULL,
VENDOR_SITE_CODE_ALT VARCHAR2(320 BYTE),
LAST_UPDATE_LOGIN NUMBER(15),
CREATION_DATE DATE,
CREATED_BY NUMBER(15),
PURCHASING_SITE_FLAG VARCHAR2(1 BYTE),
RFQ_ONLY_SITE_FLAG VARCHAR2(1 BYTE),
PAY_SITE_FLAG VARCHAR2(1 BYTE),
ATTENTION_AR_FLAG VARCHAR2(1 BYTE),
ADDRESS_LINE1 VARCHAR2(240 BYTE),
ADDRESS_LINES_ALT VARCHAR2(560 BYTE),
ADDRESS_LINE2 VARCHAR2(240 BYTE),
ADDRESS_LINE3 VARCHAR2(240 BYTE),
CITY VARCHAR2(60 BYTE),
STATE VARCHAR2(150 BYTE),

Page 15 of 60
AP Supplier Interface [Data Loading]
ZIP VARCHAR2(60 BYTE),
PROVINCE VARCHAR2(150 BYTE),
COUNTRY VARCHAR2(60 BYTE),
AREA_CODE VARCHAR2(10 BYTE),
PHONE VARCHAR2(15 BYTE),
CUSTOMER_NUM VARCHAR2(25 BYTE),
SHIP_TO_LOCATION_ID NUMBER,
SHIP_TO_LOCATION_CODE VARCHAR2(60 BYTE),
BILL_TO_LOCATION_ID NUMBER,
BILL_TO_LOCATION_CODE VARCHAR2(60 BYTE),
SHIP_VIA_LOOKUP_CODE VARCHAR2(25 BYTE),
FREIGHT_TERMS_LOOKUP_CODE VARCHAR2(25 BYTE),
FOB_LOOKUP_CODE VARCHAR2(25 BYTE),
INACTIVE_DATE DATE,
FAX VARCHAR2(15 BYTE),
FAX_AREA_CODE VARCHAR2(10 BYTE),
TELEX VARCHAR2(15 BYTE),
PAYMENT_METHOD_LOOKUP_CODE VARCHAR2(30 BYTE),
TERMS_DATE_BASIS VARCHAR2(25 BYTE),
VAT_CODE VARCHAR2(20 BYTE),
DISTRIBUTION_SET_ID NUMBER,
DISTRIBUTION_SET_NAME VARCHAR2(50 BYTE),
ACCTS_PAY_CODE_COMBINATION_ID NUMBER,
PREPAY_CODE_COMBINATION_ID NUMBER,
PAY_GROUP_LOOKUP_CODE VARCHAR2(25 BYTE),
PAYMENT_PRIORITY NUMBER,
TERMS_ID NUMBER,
TERMS_NAME VARCHAR2(50 BYTE),
INVOICE_AMOUNT_LIMIT NUMBER,
PAY_DATE_BASIS_LOOKUP_CODE VARCHAR2(25 BYTE),
ALWAYS_TAKE_DISC_FLAG VARCHAR2(1 BYTE),
INVOICE_CURRENCY_CODE VARCHAR2(15 BYTE),
PAYMENT_CURRENCY_CODE VARCHAR2(15 BYTE),
HOLD_ALL_PAYMENTS_FLAG VARCHAR2(1 BYTE),
HOLD_FUTURE_PAYMENTS_FLAG VARCHAR2(1 BYTE),
HOLD_REASON VARCHAR2(240 BYTE),
HOLD_UNMATCHED_INVOICES_FLAG VARCHAR2(1 BYTE),
AP_TAX_ROUNDING_RULE VARCHAR2(1 BYTE),
AUTO_TAX_CALC_FLAG VARCHAR2(1 BYTE),

Page 16 of 60
AP Supplier Interface [Data Loading]
AUTO_TAX_CALC_OVERRIDE VARCHAR2(1 BYTE),
AMOUNT_INCLUDES_TAX_FLAG VARCHAR2(1 BYTE),
EXCLUSIVE_PAYMENT_FLAG VARCHAR2(1 BYTE),
TAX_REPORTING_SITE_FLAG VARCHAR2(1 BYTE),
ATTRIBUTE_CATEGORY VARCHAR2(30 BYTE),
ATTRIBUTE1 VARCHAR2(150 BYTE),
ATTRIBUTE2 VARCHAR2(150 BYTE),
ATTRIBUTE3 VARCHAR2(150 BYTE),
ATTRIBUTE4 VARCHAR2(150 BYTE),
ATTRIBUTE5 VARCHAR2(150 BYTE),
ATTRIBUTE6 VARCHAR2(150 BYTE),
ATTRIBUTE7 VARCHAR2(150 BYTE),
ATTRIBUTE8 VARCHAR2(150 BYTE),
ATTRIBUTE9 VARCHAR2(150 BYTE),
ATTRIBUTE10 VARCHAR2(150 BYTE),
ATTRIBUTE11 VARCHAR2(150 BYTE),
ATTRIBUTE12 VARCHAR2(150 BYTE),
ATTRIBUTE13 VARCHAR2(150 BYTE),
ATTRIBUTE14 VARCHAR2(150 BYTE),
ATTRIBUTE15 VARCHAR2(150 BYTE),
REQUEST_ID NUMBER,
PROGRAM_APPLICATION_ID NUMBER,
PROGRAM_ID NUMBER,
PROGRAM_UPDATE_DATE DATE,
EXCLUDE_FREIGHT_FROM_DISCOUNT VARCHAR2(1 BYTE),
VAT_REGISTRATION_NUM VARCHAR2(20 BYTE),
ORG_ID NUMBER,
OPERATING_UNIT_NAME VARCHAR2(240 BYTE),
ADDRESS_LINE4 VARCHAR2(240 BYTE),
COUNTY VARCHAR2(150 BYTE),
ADDRESS_STYLE VARCHAR2(30 BYTE),
LANGUAGE VARCHAR2(30 BYTE),
ALLOW_AWT_FLAG VARCHAR2(1 BYTE),
AWT_GROUP_ID NUMBER(15),
AWT_GROUP_NAME VARCHAR2(25 BYTE),
GLOBAL_ATTRIBUTE1 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE2 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE3 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE4 VARCHAR2(150 BYTE),

Page 17 of 60
AP Supplier Interface [Data Loading]
GLOBAL_ATTRIBUTE5 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE6 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE7 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE8 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE9 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE10 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE11 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE12 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE13 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE14 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE15 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE16 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE17 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE18 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE19 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE20 VARCHAR2(150 BYTE),
GLOBAL_ATTRIBUTE_CATEGORY VARCHAR2(30 BYTE),
EDI_TRANSACTION_HANDLING VARCHAR2(25 BYTE),
EDI_ID_NUMBER VARCHAR2(30 BYTE),
EDI_PAYMENT_METHOD VARCHAR2(25 BYTE),
EDI_PAYMENT_FORMAT VARCHAR2(25 BYTE),
EDI_REMITTANCE_METHOD VARCHAR2(25 BYTE),
BANK_CHARGE_BEARER VARCHAR2(1 BYTE),
EDI_REMITTANCE_INSTRUCTION VARCHAR2(256 BYTE),
PAY_ON_CODE VARCHAR2(25 BYTE),
DEFAULT_PAY_SITE_ID NUMBER(15),
PAY_ON_RECEIPT_SUMMARY_CODE VARCHAR2(25 BYTE),
TP_HEADER_ID NUMBER,
ECE_TP_LOCATION_CODE VARCHAR2(60 BYTE),
PCARD_SITE_FLAG VARCHAR2(1 BYTE),
MATCH_OPTION VARCHAR2(25 BYTE),
COUNTRY_OF_ORIGIN_CODE VARCHAR2(2 BYTE),
FUTURE_DATED_PAYMENT_CCID NUMBER(15),
CREATE_DEBIT_MEMO_FLAG VARCHAR2(25 BYTE),
OFFSET_TAX_FLAG VARCHAR2(1 BYTE),
SUPPLIER_NOTIF_METHOD VARCHAR2(25 BYTE),
EMAIL_ADDRESS VARCHAR2(2000 BYTE),
REMITTANCE_EMAIL VARCHAR2(2000 BYTE),
PRIMARY_PAY_SITE_FLAG VARCHAR2(1 BYTE),

Page 18 of 60
AP Supplier Interface [Data Loading]
IMPORT_REQUEST_ID NUMBER(15),
STATUS VARCHAR2(30 BYTE),
REJECT_CODE VARCHAR2(2000 BYTE),
SHIPPING_CONTROL VARCHAR2(30 BYTE),
DUNS_NUMBER VARCHAR2(30 BYTE),
TOLERANCE_ID NUMBER(15),
TOLERANCE_NAME VARCHAR2(255 BYTE),
IBY_BANK_CHARGE_BEARER VARCHAR2(30 BYTE),
BANK_INSTRUCTION1_CODE VARCHAR2(30 BYTE),
BANK_INSTRUCTION2_CODE VARCHAR2(30 BYTE),
BANK_INSTRUCTION_DETAILS VARCHAR2(255 BYTE),
PAYMENT_REASON_CODE VARCHAR2(30 BYTE),
PAYMENT_REASON_COMMENTS VARCHAR2(240 BYTE),
DELIVERY_CHANNEL_CODE VARCHAR2(30 BYTE),
PAYMENT_FORMAT_CODE VARCHAR2(150 BYTE),
SETTLEMENT_PRIORITY VARCHAR2(30 BYTE),
PAYMENT_TEXT_MESSAGE1 VARCHAR2(150 BYTE),
PAYMENT_TEXT_MESSAGE2 VARCHAR2(150 BYTE),
PAYMENT_TEXT_MESSAGE3 VARCHAR2(150 BYTE),
VENDOR_SITE_INTERFACE_ID NUMBER(15),
PAYMENT_METHOD_CODE VARCHAR2(30 BYTE),
RETAINAGE_RATE NUMBER,
GAPLESS_INV_NUM_FLAG VARCHAR2(1 BYTE),
SELLING_COMPANY_IDENTIFIER VARCHAR2(10 BYTE),
PAY_AWT_GROUP_ID NUMBER(15),
PAY_AWT_GROUP_NAME VARCHAR2(25 BYTE),
PARTY_SITE_ID NUMBER(15),
PARTY_SITE_NAME VARCHAR2(240 BYTE),
REMIT_ADVICE_DELIVERY_METHOD VARCHAR2(30 BYTE),
REMIT_ADVICE_FAX VARCHAR2(100 BYTE),
PARTY_ORIG_SYSTEM VARCHAR2(30 BYTE),
PARTY_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
PARTY_SITE_ORIG_SYSTEM VARCHAR2(30 BYTE),
PARTY_SITE_ORIG_SYS_REFERENCE VARCHAR2(255 BYTE),
SUPPLIER_SITE_ORIG_SYSTEM VARCHAR2(30 BYTE),
SUP_SITE_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
SDH_BATCH_ID NUMBER(15),
PARTY_ID NUMBER(15),
LOCATION_ID NUMBER(15),

Page 19 of 60
AP Supplier Interface [Data Loading]
CAGE_CODE VARCHAR2(5 BYTE),
LEGAL_BUSINESS_NAME VARCHAR2(240 BYTE),
DOING_BUS_AS_NAME VARCHAR2(240 BYTE),
DIVISION_NAME VARCHAR2(60 BYTE),
SMALL_BUSINESS_CODE VARCHAR2(10 BYTE),
CCR_COMMENTS VARCHAR2(240 BYTE),
DEBARMENT_START_DATE DATE,
DEBARMENT_END_DATE DATE,
SERVICES_TOLERANCE_ID NUMBER(15),
SERVICES_TOLERANCE_NAME VARCHAR2(255 BYTE),
PROCESS_FLAG VARCHAR2(240 BYTE),
ERROR_FLAG VARCHAR2(240 BYTE),
ERROR_DESC VARCHAR2(2000 BYTE),
OLD_SUPPLIER_ID NUMBER,
OLD_SUPPLIER_NUMBER VARCHAR2(340 BYTE),
OLD_SUPPLIER_NAME VARCHAR2(340 BYTE),
OLD_VENDOR_SITE_ID NUMBER,
OLD_VENDOR_SITE_CODE VARCHAR2(4000 BYTE)
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

DROP PUBLIC SYNONYM XXAP_SUPPLIER_SITES_INT_STG;

CREATE PUBLIC SYNONYM XXAP_SUPPLIER_SITES_INT_STG FOR XXAP_SUPPLIER_SITES_INT_STG;


DROP TABLE XXAP_SUP_SITE_CONTACT_INT_STG CASCADE CONSTRAINTS PURGE;

CREATE TABLE XXAP_SUP_SITE_CONTACT_INT_STG


(
LAST_UPDATE_DATE DATE,
LAST_UPDATED_BY NUMBER(15),
VENDOR_SITE_ID NUMBER,
VENDOR_SITE_CODE VARCHAR2(15 BYTE),
ORG_ID NUMBER(15),
OPERATING_UNIT_NAME VARCHAR2(240 BYTE),

Page 20 of 60
AP Supplier Interface [Data Loading]
LAST_UPDATE_LOGIN NUMBER(15),
CREATION_DATE DATE,
CREATED_BY NUMBER(15),
INACTIVE_DATE DATE,
FIRST_NAME VARCHAR2(15 BYTE),
MIDDLE_NAME VARCHAR2(15 BYTE),
LAST_NAME VARCHAR2(60 BYTE),
PREFIX VARCHAR2(30 BYTE),
TITLE VARCHAR2(30 BYTE),
MAIL_STOP VARCHAR2(35 BYTE),
AREA_CODE VARCHAR2(10 BYTE),
PHONE VARCHAR2(40 BYTE),
PROGRAM_APPLICATION_ID NUMBER,
PROGRAM_ID NUMBER,
PROGRAM_UPDATE_DATE DATE,
REQUEST_ID NUMBER,
CONTACT_NAME_ALT VARCHAR2(320 BYTE),
FIRST_NAME_ALT VARCHAR2(230 BYTE),
LAST_NAME_ALT VARCHAR2(230 BYTE),
DEPARTMENT VARCHAR2(230 BYTE),
IMPORT_REQUEST_ID NUMBER(15),
STATUS VARCHAR2(30 BYTE),
REJECT_CODE VARCHAR2(2000 BYTE),
EMAIL_ADDRESS VARCHAR2(2000 BYTE),
URL VARCHAR2(2000 BYTE),
ALT_AREA_CODE VARCHAR2(10 BYTE),
ALT_PHONE VARCHAR2(15 BYTE),
FAX_AREA_CODE VARCHAR2(10 BYTE),
FAX VARCHAR2(40 BYTE),
VENDOR_INTERFACE_ID NUMBER(15),
VENDOR_ID NUMBER(15),
VENDOR_CONTACT_INTERFACE_ID NUMBER(15),
PARTY_SITE_ID NUMBER(15),
PARTY_SITE_NAME VARCHAR2(240 BYTE),
PARTY_ORIG_SYSTEM VARCHAR2(240 BYTE),
PARTY_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
PARTY_SITE_ORIG_SYSTEM VARCHAR2(30 BYTE),
PARTY_SITE_ORIG_SYS_REFERENCE VARCHAR2(255 BYTE),
SUPPLIER_SITE_ORIG_SYSTEM VARCHAR2(30 BYTE),

Page 21 of 60
AP Supplier Interface [Data Loading]
SUP_SITE_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
CONTACT_ORIG_SYSTEM VARCHAR2(30 BYTE),
CONTACT_ORIG_SYSTEM_REFERENCE VARCHAR2(255 BYTE),
SDH_BATCH_ID NUMBER(15),
PARTY_ID NUMBER(15),
PER_PARTY_ID NUMBER(15),
REL_PARTY_ID NUMBER(15),
RELATIONSHIP_ID NUMBER(15),
ORG_CONTACT_ID NUMBER(15),
PROCESS_FLAG VARCHAR2(240 BYTE),
ERROR_FLAG VARCHAR2(240 BYTE),
ERROR_DESC VARCHAR2(2000 BYTE),
OLD_CONTACT_ID NUMBER,
OLD_SUPPLIER_ID NUMBER,
OLD_SUPPLIER_NUMBER VARCHAR2(340 BYTE),
OLD_SUPPLER_NAME VARCHAR2(340 BYTE),
OLD_VENDOR_SITE_ID NUMBER,
OLD_VENDOR_SITE_CODE VARCHAR2(4000 BYTE)
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

DROP PUBLIC SYNONYM XXAP_SUP_SITE_CONTACT_INT_STG;

CREATE PUBLIC SYNONYM XXAP_SUP_SITE_CONTACT_INT_STG FOR XXAP_SUP_SITE_CONTACT_INT_STG;

Create Package “XXEDB_AP_SUPPLIERS_INTERFACE”


CREATE OR REPLACE PACKAGE APPS.xxedb_ap_suppliers_interface
IS
PROCEDURE supplier_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'

Page 22 of 60
AP Supplier Interface [Data Loading]
);

PROCEDURE supplier_sites_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'
);

PROCEDURE sup_site_contact_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'
);
END xxedb_ap_suppliers_interface;
/
CREATE OR REPLACE PACKAGE BODY APPS.xxedb_ap_suppliers_interface
IS
PROCEDURE supplier_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'
)
AS
CURSOR c_supplier
IS
SELECT xasis.ROWID, xasis.*
FROM xxedb.xxap_suppliers_int_stg xasis
WHERE NVL (error_flag, 'Y') <> 'N' AND vendor_interface_id IS NULL;

---VARIABLES
l_vendor_interface_id ap_suppliers_int.vendor_interface_id%TYPE;
l_insert_error_flag VARCHAR2 (1);
l_insert_error_desc VARCHAR2 (4000);
l_load_success NUMBER := 0;
l_vendor_type_lookup_code ap_suppliers_int.vendor_type_lookup_code%TYPE;
l_ship_to_location_code ap_suppliers_int.ship_to_location_code%TYPE;
l_ship_to_location_id ap_suppliers_int.ship_to_location_id%TYPE;
l_bill_to_location_code ap_suppliers_int.bill_to_location_code%TYPE;
l_bill_to_location_id ap_suppliers_int.bill_to_location_id%TYPE;

Page 23 of 60
AP Supplier Interface [Data Loading]
l_terms_name ap_suppliers_int.terms_name%TYPE;
l_pay_date_basis_lookup_code ap_suppliers_int.pay_date_basis_lookup_code%TYPE;
l_receiving_routing_id ap_suppliers_int.receiving_routing_id%TYPE;
l_ledger_id NUMBER
:= fnd_profile.VALUE ('GL_SET_OF_BKS_ID');
BEGIN
UPDATE xxedb.xxap_suppliers_int_stg xasis
SET segment1 = old_supplier_number
WHERE segment1 IS NULL;

UPDATE xxedb.xxap_suppliers_int_stg xasis


SET set_of_books_id = l_ledger_id;

UPDATE xxedb.xxap_suppliers_int_stg xasis


SET process_flag = NULL,
error_flag = NULL,
error_desc = NULL
WHERE NVL (process_flag, 'N') = 'Y' AND NVL (error_flag, 'N') = 'Y';

COMMIT;

FOR r_supp IN c_supplier


LOOP
---(INITILIZATION THE LOCAL VARUABLES AS NULL;)
l_vendor_interface_id := 0;
l_insert_error_flag := 'N';
l_insert_error_desc := NULL;
-----------------
l_vendor_type_lookup_code := NULL;
l_ship_to_location_code := NULL;
l_ship_to_location_id := NULL;
l_bill_to_location_code := NULL;
l_bill_to_location_id := NULL;
l_terms_name := NULL;
l_pay_date_basis_lookup_code := NULL;
l_receiving_routing_id := NULL;

---
------(CHECKING VENDOR_NAME)-------------------

Page 24 of 60
AP Supplier Interface [Data Loading]
IF r_supp.vendor_name IS NULL
THEN
UPDATE xxedb.xxap_suppliers_int_stg xasis
SET error_flag = 'Y',
process_flag = 'N',
error_desc = error_desc || ' ,VENDOR_NAME IS NULL'
WHERE ROWID = r_supp.ROWID;
END IF;

--------(CHECKING - VENDOR_TYPE_LOOKUP_CODE )
IF TRIM (r_supp.vendor_type_lookup_code) IS NOT NULL
THEN
BEGIN
SELECT MAX (lookup_code)
INTO l_vendor_type_lookup_code
FROM fnd_lookup_values_vl flv
WHERE UPPER (lookup_code) =
UPPER (TRIM (r_supp.vendor_type_lookup_code))
AND lookup_type = 'VENDOR TYPE';
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
error_desc || ' , Invalid VENDOR_TYPE_LOOKUP_CODE'
WHERE ROWID = r_supp.ROWID;
END;
END IF;

--------(CHECKING -- SHIP_TO_LOCATION_CODE)
IF TRIM (r_supp.ship_to_location_code) IS NOT NULL
THEN
BEGIN
SELECT location_code, location_id
INTO l_ship_to_location_code, l_ship_to_location_id
FROM ap_ship_bill_to_locations_v
WHERE location_code = r_supp.ship_to_location_code;

Page 25 of 60
AP Supplier Interface [Data Loading]
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
error_desc || ' , Invalid SHIP_TO_LOCATION_CODE'
WHERE ROWID = r_supp.ROWID;
END;
END IF;

--------(CHECKING --BILL_TO_LOCATION_CODE)
IF TRIM (r_supp.bill_to_location_code) IS NOT NULL
THEN
BEGIN
SELECT location_code, location_id
INTO l_bill_to_location_code, l_bill_to_location_id
FROM ap_ship_bill_to_locations_v
WHERE location_code = r_supp.bill_to_location_code;
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
error_desc || ' , Invalid BILL_TO_LOCATION_CODE'
WHERE ROWID = r_supp.ROWID;
END;
END IF;

--------(CHECKING --PAYMENT_TERMS)
IF r_supp.terms_name IS NULL
THEN
UPDATE xxedb.xxap_suppliers_int_stg xasis
SET error_flag = 'Y',
process_flag = 'N',
error_desc = error_desc || ' ,PAYMENT_TERMS IS NULL'

Page 26 of 60
AP Supplier Interface [Data Loading]
WHERE ROWID = r_supp.ROWID;
END IF;

IF r_supp.terms_name IS NOT NULL


THEN
BEGIN
SELECT NAME
INTO l_terms_name
FROM ap_terms_v
WHERE NAME = r_supp.terms_name;
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg xasis
SET error_flag = 'Y',
process_flag = 'N',
error_desc = error_desc || ' ,Invalid PAYMENT_TERMS '
WHERE ROWID = r_supp.ROWID;
END;
END IF;

--
--------(CHECKING - PAY_DATE_BASIS_LOOKUP_CODE)
IF TRIM (r_supp.pay_date_basis_lookup_code) IS NOT NULL
THEN
BEGIN
SELECT MAX (lookup_code)
INTO l_pay_date_basis_lookup_code
FROM fnd_lookup_values_vl flv
WHERE UPPER (lookup_code) =
UPPER (TRIM (r_supp.pay_date_basis_lookup_code))
AND lookup_type = 'PAY DATE BASIS';
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =

Page 27 of 60
AP Supplier Interface [Data Loading]
error_desc
|| ' , Invalid PAY_DATE_BASIS_LOOKUP_CODE'
WHERE ROWID = r_supp.ROWID;
END;
END IF;

-------(CHECKING - RECEIVING_ROUTING_ID AND UPDATE THE CUSTOM TABLE)------------------------------


IF r_supp.receiving_routing_name IS NOT NULL
THEN
BEGIN
SELECT routing_header_id
INTO l_receiving_routing_id
FROM rcv_routing_headers rh
WHERE TRIM (UPPER (routing_name)) =
TRIM (UPPER (r_supp.receiving_routing_name));

---update the id as per the r_supp.receiving_routing_name


UPDATE xxedb.xxap_suppliers_int_stg
SET receiving_routing_id = l_receiving_routing_id
WHERE TRIM (UPPER (receiving_routing_name)) =
TRIM (UPPER (r_supp.receiving_routing_name))
AND ROWID = r_supp.ROWID;
EXCEPTION
WHEN OTHERS
THEN
UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
error_desc || ' , Invalid RECEIVING_ROUTING_NAME'
WHERE ROWID = r_supp.ROWID;
END;
END IF;

COMMIT; -- update all the informations

--------------------------------------------------------------------------------------------------

---(LOAD IF P_VALID FLAG IS SET AS "N'))

Page 28 of 60
AP Supplier Interface [Data Loading]
IF p_valid_flag = 'N'
THEN
IF NVL (r_supp.error_flag, 'N') = 'N'
AND NVL (r_supp.process_flag, 'N') = 'N'
THEN
BEGIN
SELECT ap_suppliers_int_s.NEXTVAL
INTO l_vendor_interface_id
FROM DUAL;

----(insert into the interface after validations)-----------------


INSERT INTO ap_suppliers_int
(vendor_interface_id,
last_update_date,
last_updated_by, vendor_name,
vendor_name_alt, segment1,
summary_flag, enabled_flag,
last_update_login,
creation_date, created_by,
employee_id,
vendor_type_lookup_code,
customer_num, one_time_flag,
min_order_amount,
ship_to_location_id,
ship_to_location_code,
bill_to_location_id,
bill_to_location_code,
ship_via_lookup_code,
freight_terms_lookup_code,
fob_lookup_code, terms_id,
terms_name, set_of_books_id,
always_take_disc_flag,
pay_date_basis_lookup_code,
pay_group_lookup_code,
payment_priority,
invoice_currency_code,
payment_currency_code,
invoice_amount_limit,
hold_all_payments_flag,

Page 29 of 60
AP Supplier Interface [Data Loading]
hold_future_payments_flag,
hold_reason,
distribution_set_id,
distribution_set_name,
accts_pay_code_combination_id,
prepay_code_combination_id,
num_1099, type_1099,
organization_type_lookup_code,
vat_code, start_date_active,
end_date_active,
minority_group_lookup_code,
payment_method_lookup_code,
women_owned_flag,
small_business_flag,
standard_industry_class,
hold_flag,
purchasing_hold_reason, hold_by,
hold_date, terms_date_basis,
inspection_required_flag,
receipt_required_flag,
qty_rcv_tolerance,
qty_rcv_exception_code,
enforce_ship_to_location_code,
days_early_receipt_allowed,
days_late_receipt_allowed,
receipt_days_exception_code,
receiving_routing_id,
allow_substitute_receipts_flag,
allow_unordered_receipts_flag,
hold_unmatched_invoices_flag,
exclusive_payment_flag,
ap_tax_rounding_rule,
auto_tax_calc_flag,
auto_tax_calc_override,
amount_includes_tax_flag,
tax_verification_date,
name_control,
state_reportable_flag,
federal_reportable_flag,

Page 30 of 60
AP Supplier Interface [Data Loading]
attribute_category, attribute1,
attribute2, attribute3,
attribute4, attribute5,
attribute6, attribute7,
attribute8, attribute9,
attribute10, attribute11,
attribute12, attribute13,
attribute14,
attribute15, request_id,
program_application_id,
program_id, program_update_date,
vat_registration_num,
auto_calculate_interest_flag,
exclude_freight_from_discount,
tax_reporting_name,
allow_awt_flag, awt_group_id,
awt_group_name,
global_attribute1,
global_attribute2,
global_attribute3,
global_attribute4,
global_attribute5,
global_attribute6,
global_attribute7,
global_attribute8,
global_attribute9,
global_attribute10,
global_attribute11,
global_attribute12,
global_attribute13,
global_attribute14,
global_attribute15,
global_attribute16,
global_attribute17,
global_attribute18,
global_attribute19,
global_attribute20,
global_attribute_category,
edi_transaction_handling,

Page 31 of 60
AP Supplier Interface [Data Loading]
edi_payment_method,
edi_payment_format,
edi_remittance_method,
edi_remittance_instruction,
bank_charge_bearer,
match_option,
future_dated_payment_ccid,
create_debit_memo_flag,
offset_tax_flag,
import_request_id, status,
reject_code,
ece_tp_location_code,
iby_bank_charge_bearer,
bank_instruction1_code,
bank_instruction2_code,
bank_instruction_details,
payment_reason_code,
payment_reason_comments,
payment_text_message1,
payment_text_message2,
payment_text_message3,
delivery_channel_code,
payment_format_code,
settlement_priority,
payment_method_code,
pay_awt_group_id,
pay_awt_group_name, url,
supplier_notif_method,
remittance_email, email_address,
remit_advice_fax,
party_orig_system,
party_orig_system_reference,
sdh_batch_id, party_id,
ceo_name, ceo_title
)
VALUES (l_vendor_interface_id,
r_supp.last_update_date,
r_supp.last_updated_by, r_supp.vendor_name,
r_supp.vendor_name_alt, r_supp.segment1,

Page 32 of 60
AP Supplier Interface [Data Loading]
r_supp.summary_flag, r_supp.enabled_flag,
r_supp.last_update_login,
r_supp.creation_date, r_supp.created_by,
r_supp.employee_id,
r_supp.vendor_type_lookup_code,
r_supp.customer_num, r_supp.one_time_flag,
r_supp.min_order_amount,
r_supp.ship_to_location_id,
r_supp.ship_to_location_code,
r_supp.bill_to_location_id,
r_supp.bill_to_location_code,
r_supp.ship_via_lookup_code,
r_supp.freight_terms_lookup_code,
r_supp.fob_lookup_code, r_supp.terms_id,
r_supp.terms_name, r_supp.set_of_books_id,
r_supp.always_take_disc_flag,
r_supp.pay_date_basis_lookup_code,
r_supp.pay_group_lookup_code,
r_supp.payment_priority,
r_supp.invoice_currency_code,
r_supp.payment_currency_code,
r_supp.invoice_amount_limit,
r_supp.hold_all_payments_flag,
r_supp.hold_future_payments_flag,
r_supp.hold_reason,
r_supp.distribution_set_id,
r_supp.distribution_set_name,
r_supp.accts_pay_code_combination_id,
r_supp.prepay_code_combination_id,
r_supp.num_1099, r_supp.type_1099,
r_supp.organization_type_lookup_code,
r_supp.vat_code, r_supp.start_date_active,
r_supp.end_date_active,
r_supp.minority_group_lookup_code,
r_supp.payment_method_lookup_code,
r_supp.women_owned_flag,
r_supp.small_business_flag,
r_supp.standard_industry_class,
r_supp.hold_flag,

Page 33 of 60
AP Supplier Interface [Data Loading]
r_supp.purchasing_hold_reason, r_supp.hold_by,
r_supp.hold_date, r_supp.terms_date_basis,
r_supp.inspection_required_flag,
r_supp.receipt_required_flag,
r_supp.qty_rcv_tolerance,
r_supp.qty_rcv_exception_code,
r_supp.enforce_ship_to_location_code,
r_supp.days_early_receipt_allowed,
r_supp.days_late_receipt_allowed,
r_supp.receipt_days_exception_code,
l_receiving_routing_id,
--r_supp.receiving_routing_id,
r_supp.allow_substitute_receipts_flag,
r_supp.allow_unordered_receipts_flag,
r_supp.hold_unmatched_invoices_flag,
r_supp.exclusive_payment_flag,
r_supp.ap_tax_rounding_rule,
r_supp.auto_tax_calc_flag,
r_supp.auto_tax_calc_override,
r_supp.amount_includes_tax_flag,
r_supp.tax_verification_date,
r_supp.name_control,
r_supp.state_reportable_flag,
r_supp.federal_reportable_flag,
r_supp.attribute_category, r_supp.attribute1,
r_supp.attribute2, r_supp.attribute3,
r_supp.attribute4, r_supp.attribute5,
r_supp.attribute6, r_supp.attribute7,
r_supp.attribute8, r_supp.attribute9,
r_supp.attribute10, r_supp.attribute11,
r_supp.attribute12, r_supp.attribute13,
r_supp.attribute14,
r_supp.old_supplier_number, --attribute15,
r_supp.request_id,
r_supp.program_application_id,
r_supp.program_id, r_supp.program_update_date,
r_supp.vat_registration_num,
r_supp.auto_calculate_interest_flag,
r_supp.exclude_freight_from_discount,

Page 34 of 60
AP Supplier Interface [Data Loading]
r_supp.tax_reporting_name,
r_supp.allow_awt_flag, r_supp.awt_group_id,
r_supp.awt_group_name,
r_supp.global_attribute1,
r_supp.global_attribute2,
r_supp.global_attribute3,
r_supp.global_attribute4,
r_supp.global_attribute5,
r_supp.global_attribute6,
r_supp.global_attribute7,
r_supp.global_attribute8,
r_supp.global_attribute9,
r_supp.global_attribute10,
r_supp.global_attribute11,
r_supp.global_attribute12,
r_supp.global_attribute13,
r_supp.global_attribute14,
r_supp.global_attribute15,
r_supp.global_attribute16,
r_supp.global_attribute17,
r_supp.global_attribute18,
r_supp.global_attribute19,
r_supp.global_attribute20,
r_supp.global_attribute_category,
r_supp.edi_transaction_handling,
r_supp.edi_payment_method,
r_supp.edi_payment_format,
r_supp.edi_remittance_method,
r_supp.edi_remittance_instruction,
r_supp.bank_charge_bearer,
r_supp.match_option,
r_supp.future_dated_payment_ccid,
r_supp.create_debit_memo_flag,
r_supp.offset_tax_flag,
r_supp.import_request_id, r_supp.status,
r_supp.reject_code,
r_supp.ece_tp_location_code,
r_supp.iby_bank_charge_bearer,
r_supp.bank_instruction1_code,

Page 35 of 60
AP Supplier Interface [Data Loading]
r_supp.bank_instruction2_code,
r_supp.bank_instruction_details,
r_supp.payment_reason_code,
r_supp.payment_reason_comments,
r_supp.payment_text_message1,
r_supp.payment_text_message2,
r_supp.payment_text_message3,
r_supp.delivery_channel_code,
r_supp.payment_format_code,
r_supp.settlement_priority,
r_supp.payment_method_code,
r_supp.pay_awt_group_id,
r_supp.pay_awt_group_name, r_supp.url,
r_supp.supplier_notif_method,
r_supp.remittance_email, r_supp.email_address,
r_supp.remit_advice_fax,
r_supp.party_orig_system,
r_supp.party_orig_system_reference,
r_supp.sdh_batch_id, r_supp.party_id,
r_supp.ceo_name, r_supp.ceo_title
);
EXCEPTION
WHEN OTHERS
THEN
l_insert_error_flag := 'Y';
l_insert_error_desc :=
SUBSTR
( 'Error while inserting into interface table : '
|| SQLERRM,
1,
4999
);
retcode := 1;
END;

--- if no errors then update the staging table with new environment ids and successfully
processed status
IF l_insert_error_flag = 'N'
THEN

Page 36 of 60
AP Supplier Interface [Data Loading]
l_load_success := l_load_success + 1;
--- Count the Number of l_load_sucess
fnd_file.put_line (fnd_file.LOG, 'Record successful');

UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'N',
process_flag = 'Y',
error_desc = NULL,
vendor_interface_id = l_vendor_interface_id
WHERE ROWID = r_supp.ROWID;

fnd_file.put_line
(fnd_file.LOG,
'Error While Loading Record for Vendor_name : '
|| r_supp.vendor_name
);
ELSIF l_insert_error_flag = 'Y'
THEN
fnd_file.put_line (fnd_file.LOG, 'Record UN-Successful');

UPDATE xxedb.xxap_suppliers_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
SUBSTR (error_desc || ', ' || l_insert_error_desc,
1,
4000
),
vendor_interface_id = l_vendor_interface_id
WHERE ROWID = r_supp.ROWID;
END IF;
END IF;
END IF;
END LOOP;

fnd_file.put_line (fnd_file.LOG,
'Number of Record Successfully Loaded '
|| l_load_success
);

Page 37 of 60
AP Supplier Interface [Data Loading]
END supplier_load;

----------------------------------------------------------
PROCEDURE supplier_sites_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'
)
AS
CURSOR c_supplier_sites
IS
SELECT xassi.ROWID, xassi.*,
xsis.vendor_interface_id vendor_interface_id_m,
xsis.old_supplier_number old_supplier_number_m,
xsis.vendor_name old_supplier_name_m
FROM xxedb.xxap_supplier_sites_int_stg xassi,
xxedb.xxap_suppliers_int_stg xsis
WHERE 1 = 1
AND xassi.old_supplier_id = xsis.old_supplier_id
AND NVL (xassi.error_flag, 'Y') <> 'N'
AND NVL (xassi.process_flag, 'N') <> 'Y'
AND xsis.process_flag = 'Y'
AND xsis.error_flag = 'N';

l_org_id NUMBER := fnd_profile.VALUE ('ORG_ID');


l_vendor_id NUMBER;
l_vendor_name VARCHAR2 (4000);
l_insert_error_flag VARCHAR2 (1);
l_insert_error_desc VARCHAR2 (4000);
l_load_success NUMBER := 0;
l_vendor_interface_id ap_supplier_sites_int.vendor_interface_id%TYPE;
l_vendor_site_interface_id ap_supplier_sites_int.vendor_interface_id%TYPE;
BEGIN
-----------------(Update All the Error Column as NULL)--------------------------------------------
UPDATE xxedb.xxap_supplier_sites_int_stg xassi
SET process_flag = NULL,
error_flag = NULL,
error_desc = NULL
WHERE NVL (process_flag, 'N') = 'Y' AND NVL (error_flag, 'N') = 'Y';

Page 38 of 60
AP Supplier Interface [Data Loading]
COMMIT;

--------------------------------------------------------------------------------------------------
FOR r_supp_sites IN c_supplier_sites
LOOP
---(INITILIZATION THE LOCAL VARUABLES AS NULL;)
l_insert_error_flag := 'N';
l_insert_error_desc := NULL;

---(LOAD IF P_VALID FLAG IS SET AS "N'))


IF p_valid_flag = 'N'
THEN
IF NVL (r_supp_sites.error_flag, 'N') = 'N'
AND NVL (r_supp_sites.process_flag, 'N') = 'N'
THEN
BEGIN
r_supp_sites.vendor_site_interface_id :=
ap_supplier_sites_int_s.NEXTVAL;
r_supp_sites.org_id := l_org_id;

UPDATE xxedb.xxap_supplier_sites_int_stg
SET vendor_interface_id =
r_supp_sites.vendor_interface_id_m,
vendor_site_interface_id =
r_supp_sites.vendor_site_interface_id,
org_id = r_supp_sites.org_id
WHERE old_supplier_id = r_supp_sites.old_supplier_id;

BEGIN
SELECT vendor_id, vendor_name
INTO l_vendor_id, l_vendor_name
FROM ap_suppliers
WHERE segment1 = r_supp_sites.old_supplier_number_m;

r_supp_sites.vendor_id := l_vendor_id;
r_supp_sites.old_supplier_name := l_vendor_name;
r_supp_sites.old_supplier_number :=
r_supp_sites.old_supplier_number_m;

Page 39 of 60
AP Supplier Interface [Data Loading]
UPDATE xxedb.xxap_supplier_sites_int_stg
SET vendor_id = l_vendor_id,
old_supplier_name = l_vendor_name,
old_supplier_number =
r_supp_sites.old_supplier_number_m,
old_vendor_site_code =
r_supp_sites.vendor_site_code
WHERE old_supplier_id = r_supp_sites.old_supplier_id;

COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fnd_file.put_line
(fnd_file.LOG,
'No Data: Vendor_id is Null For Supplier Number: '
|| r_supp_sites.old_supplier_number
);
WHEN OTHERS
THEN
fnd_file.put_line
(fnd_file.LOG,
'Others: Vendor_id is Null For Supplier Number: '
|| r_supp_sites.old_supplier_number
);
l_insert_error_flag := 'Y';
l_insert_error_desc :=
SUBSTR ('Error while Vendor Id : ' || SQLERRM,
1,
4999
);
retcode := 1;
END;

INSERT INTO ap_supplier_sites_int


(vendor_interface_id,
last_update_date,
last_updated_by,

Page 40 of 60
AP Supplier Interface [Data Loading]
vendor_id,
vendor_site_code,
vendor_site_code_alt,
last_update_login,
creation_date,
created_by,
purchasing_site_flag,
rfq_only_site_flag,
pay_site_flag,
attention_ar_flag,
address_line1,
address_lines_alt,
address_line2,
address_line3, city,
state, zip,
province, country,
area_code, phone,
customer_num,
ship_to_location_id,
ship_to_location_code,
bill_to_location_id,
bill_to_location_code,
ship_via_lookup_code,
freight_terms_lookup_code,
fob_lookup_code,
inactive_date, fax,
fax_area_code,
telex,
payment_method_lookup_code,
terms_date_basis,
vat_code,
distribution_set_id,
distribution_set_name,
accts_pay_code_combination_id,
prepay_code_combination_id,
pay_group_lookup_code,
payment_priority,
terms_id,
terms_name,

Page 41 of 60
AP Supplier Interface [Data Loading]
invoice_amount_limit,
pay_date_basis_lookup_code,
always_take_disc_flag,
invoice_currency_code,
payment_currency_code,
hold_all_payments_flag,
hold_future_payments_flag,
hold_reason,
hold_unmatched_invoices_flag,
ap_tax_rounding_rule,
auto_tax_calc_flag,
auto_tax_calc_override,
amount_includes_tax_flag,
exclusive_payment_flag,
tax_reporting_site_flag,
attribute_category,
attribute1,
attribute2,
attribute3,
attribute4,
attribute5,
attribute6,
attribute7,
attribute8,
attribute9,
attribute10,
attribute11,
attribute12,
attribute13,
attribute14,
attribute15,
request_id,
program_application_id,
program_id,
program_update_date,
exclude_freight_from_discount,
vat_registration_num,
org_id,
operating_unit_name,

Page 42 of 60
AP Supplier Interface [Data Loading]
address_line4,
county,
address_style,
LANGUAGE,
allow_awt_flag,
awt_group_id,
awt_group_name,
global_attribute1,
global_attribute2,
global_attribute3,
global_attribute4,
global_attribute5,
global_attribute6,
global_attribute7,
global_attribute8,
global_attribute9,
global_attribute10,
global_attribute11,
global_attribute12,
global_attribute13,
global_attribute14,
global_attribute15,
global_attribute16,
global_attribute17,
global_attribute18,
global_attribute19,
global_attribute20,
global_attribute_category,
edi_transaction_handling,
edi_id_number,
edi_payment_method,
edi_payment_format,
edi_remittance_method,
bank_charge_bearer,
edi_remittance_instruction,
pay_on_code,
default_pay_site_id,
pay_on_receipt_summary_code,
tp_header_id,

Page 43 of 60
AP Supplier Interface [Data Loading]
ece_tp_location_code,
pcard_site_flag,
match_option,
country_of_origin_code,
future_dated_payment_ccid,
create_debit_memo_flag,
offset_tax_flag,
supplier_notif_method,
email_address,
remittance_email,
primary_pay_site_flag,
import_request_id,
status, reject_code,
shipping_control,
duns_number,
tolerance_id,
tolerance_name,
iby_bank_charge_bearer,
bank_instruction1_code,
bank_instruction2_code,
bank_instruction_details,
payment_reason_code,
payment_reason_comments,
delivery_channel_code,
payment_format_code,
settlement_priority,
payment_text_message1,
payment_text_message2,
payment_text_message3,
vendor_site_interface_id,
payment_method_code,
retainage_rate,
gapless_inv_num_flag,
selling_company_identifier,
pay_awt_group_id,
pay_awt_group_name,
party_site_id,
party_site_name,
remit_advice_delivery_method,

Page 44 of 60
AP Supplier Interface [Data Loading]
remit_advice_fax,
party_orig_system,
party_orig_system_reference,
party_site_orig_system,
party_site_orig_sys_reference,
supplier_site_orig_system,
sup_site_orig_system_reference,
sdh_batch_id,
party_id,
location_id,
cage_code,
legal_business_name,
doing_bus_as_name,
division_name,
small_business_code,
ccr_comments,
debarment_start_date,
debarment_end_date,
services_tolerance_id,
services_tolerance_name
)
VALUES (r_supp_sites.vendor_interface_id_m,
r_supp_sites.last_update_date,
r_supp_sites.last_updated_by,
r_supp_sites.vendor_id,
r_supp_sites.vendor_site_code,
r_supp_sites.vendor_site_code_alt,
r_supp_sites.last_update_login,
r_supp_sites.creation_date,
r_supp_sites.created_by,
r_supp_sites.purchasing_site_flag,
r_supp_sites.rfq_only_site_flag,
r_supp_sites.pay_site_flag,
r_supp_sites.attention_ar_flag,
r_supp_sites.address_line1,
r_supp_sites.address_lines_alt,
r_supp_sites.address_line2,
r_supp_sites.address_line3, r_supp_sites.city,
r_supp_sites.state, r_supp_sites.zip,

Page 45 of 60
AP Supplier Interface [Data Loading]
r_supp_sites.province, r_supp_sites.country,
r_supp_sites.area_code, r_supp_sites.phone,
r_supp_sites.customer_num,
r_supp_sites.ship_to_location_id,
r_supp_sites.ship_to_location_code,
r_supp_sites.bill_to_location_id,
r_supp_sites.bill_to_location_code,
r_supp_sites.ship_via_lookup_code,
r_supp_sites.freight_terms_lookup_code,
r_supp_sites.fob_lookup_code,
r_supp_sites.inactive_date, r_supp_sites.fax,
r_supp_sites.fax_area_code,
r_supp_sites.telex,
r_supp_sites.payment_method_lookup_code,
r_supp_sites.terms_date_basis,
r_supp_sites.vat_code,
r_supp_sites.distribution_set_id,
r_supp_sites.distribution_set_name,
r_supp_sites.accts_pay_code_combination_id,
r_supp_sites.prepay_code_combination_id,
r_supp_sites.pay_group_lookup_code,
r_supp_sites.payment_priority,
r_supp_sites.terms_id,
r_supp_sites.terms_name,
r_supp_sites.invoice_amount_limit,
r_supp_sites.pay_date_basis_lookup_code,
r_supp_sites.always_take_disc_flag,
r_supp_sites.invoice_currency_code,
r_supp_sites.payment_currency_code,
r_supp_sites.hold_all_payments_flag,
r_supp_sites.hold_future_payments_flag,
r_supp_sites.hold_reason,
r_supp_sites.hold_unmatched_invoices_flag,
r_supp_sites.ap_tax_rounding_rule,
r_supp_sites.auto_tax_calc_flag,
r_supp_sites.auto_tax_calc_override,
r_supp_sites.amount_includes_tax_flag,
r_supp_sites.exclusive_payment_flag,
r_supp_sites.tax_reporting_site_flag,

Page 46 of 60
AP Supplier Interface [Data Loading]
r_supp_sites.attribute_category,
r_supp_sites.attribute1,
r_supp_sites.attribute2,
r_supp_sites.attribute3,
r_supp_sites.attribute4,
r_supp_sites.attribute5,
r_supp_sites.attribute6,
r_supp_sites.attribute7,
r_supp_sites.attribute8,
r_supp_sites.attribute9,
r_supp_sites.attribute10,
r_supp_sites.attribute11,
r_supp_sites.attribute12,
r_supp_sites.attribute13,
r_supp_sites.attribute14,
r_supp_sites.attribute15,
r_supp_sites.request_id,
r_supp_sites.program_application_id,
r_supp_sites.program_id,
r_supp_sites.program_update_date,
r_supp_sites.exclude_freight_from_discount,
r_supp_sites.vat_registration_num,
r_supp_sites.org_id,
r_supp_sites.operating_unit_name,
r_supp_sites.address_line4,
r_supp_sites.county,
r_supp_sites.address_style,
r_supp_sites.LANGUAGE,
r_supp_sites.allow_awt_flag,
r_supp_sites.awt_group_id,
r_supp_sites.awt_group_name,
r_supp_sites.global_attribute1,
r_supp_sites.global_attribute2,
r_supp_sites.global_attribute3,
r_supp_sites.global_attribute4,
r_supp_sites.global_attribute5,
r_supp_sites.global_attribute6,
r_supp_sites.global_attribute7,
r_supp_sites.global_attribute8,

Page 47 of 60
AP Supplier Interface [Data Loading]
r_supp_sites.global_attribute9,
r_supp_sites.global_attribute10,
r_supp_sites.global_attribute11,
r_supp_sites.global_attribute12,
r_supp_sites.global_attribute13,
r_supp_sites.global_attribute14,
r_supp_sites.global_attribute15,
r_supp_sites.global_attribute16,
r_supp_sites.global_attribute17,
r_supp_sites.global_attribute18,
r_supp_sites.global_attribute19,
r_supp_sites.global_attribute20,
r_supp_sites.global_attribute_category,
r_supp_sites.edi_transaction_handling,
r_supp_sites.edi_id_number,
r_supp_sites.edi_payment_method,
r_supp_sites.edi_payment_format,
r_supp_sites.edi_remittance_method,
r_supp_sites.bank_charge_bearer,
r_supp_sites.edi_remittance_instruction,
r_supp_sites.pay_on_code,
r_supp_sites.default_pay_site_id,
r_supp_sites.pay_on_receipt_summary_code,
r_supp_sites.tp_header_id,
r_supp_sites.ece_tp_location_code,
r_supp_sites.pcard_site_flag,
r_supp_sites.match_option,
r_supp_sites.country_of_origin_code,
r_supp_sites.future_dated_payment_ccid,
r_supp_sites.create_debit_memo_flag,
r_supp_sites.offset_tax_flag,
r_supp_sites.supplier_notif_method,
r_supp_sites.email_address,
r_supp_sites.remittance_email,
r_supp_sites.primary_pay_site_flag,
r_supp_sites.import_request_id,
r_supp_sites.status, r_supp_sites.reject_code,
r_supp_sites.shipping_control,
r_supp_sites.duns_number,

Page 48 of 60
AP Supplier Interface [Data Loading]
r_supp_sites.tolerance_id,
r_supp_sites.tolerance_name,
r_supp_sites.iby_bank_charge_bearer,
r_supp_sites.bank_instruction1_code,
r_supp_sites.bank_instruction2_code,
r_supp_sites.bank_instruction_details,
r_supp_sites.payment_reason_code,
r_supp_sites.payment_reason_comments,
r_supp_sites.delivery_channel_code,
r_supp_sites.payment_format_code,
r_supp_sites.settlement_priority,
r_supp_sites.payment_text_message1,
r_supp_sites.payment_text_message2,
r_supp_sites.payment_text_message3,
r_supp_sites.vendor_site_interface_id,
r_supp_sites.payment_method_code,
r_supp_sites.retainage_rate,
r_supp_sites.gapless_inv_num_flag,
r_supp_sites.selling_company_identifier,
r_supp_sites.pay_awt_group_id,
r_supp_sites.pay_awt_group_name,
r_supp_sites.party_site_id,
r_supp_sites.party_site_name,
r_supp_sites.remit_advice_delivery_method,
r_supp_sites.remit_advice_fax,
r_supp_sites.party_orig_system,
r_supp_sites.party_orig_system_reference,
r_supp_sites.party_site_orig_system,
r_supp_sites.party_site_orig_sys_reference,
r_supp_sites.supplier_site_orig_system,
r_supp_sites.sup_site_orig_system_reference,
r_supp_sites.sdh_batch_id,
r_supp_sites.party_id,
r_supp_sites.location_id,
r_supp_sites.cage_code,
r_supp_sites.legal_business_name,
r_supp_sites.doing_bus_as_name,
r_supp_sites.division_name,
r_supp_sites.small_business_code,

Page 49 of 60
AP Supplier Interface [Data Loading]
r_supp_sites.ccr_comments,
r_supp_sites.debarment_start_date,
r_supp_sites.debarment_end_date,
r_supp_sites.services_tolerance_id,
r_supp_sites.services_tolerance_name
);
EXCEPTION
WHEN OTHERS
THEN
l_insert_error_flag := 'Y';
l_insert_error_desc :=
SUBSTR
( 'Error while inserting into interface table : '
|| SQLERRM,
1,
4999
);
retcode := 1;
END;

-------------------
--- if no errors then update the staging table with new environment ids and successfully processed status
IF l_insert_error_flag = 'N'
THEN
l_load_success := l_load_success + 1;
--- Count the Number of l_load_sucess
fnd_file.put_line (fnd_file.LOG, 'Record successful');

UPDATE xxedb.xxap_supplier_sites_int_stg
SET error_flag = 'N',
process_flag = 'Y',
error_desc = NULL,
vendor_interface_id =
r_supp_sites.vendor_interface_id_m,
vendor_site_interface_id =
r_supp_sites.vendor_site_interface_id
WHERE ROWID = r_supp_sites.ROWID;

fnd_file.put_line

Page 50 of 60
AP Supplier Interface [Data Loading]
(fnd_file.LOG,
'Error While Loading Record for Vendor_name : '
|| r_supp_sites.old_supplier_name
);
ELSIF l_insert_error_flag = 'Y'
THEN
fnd_file.put_line (fnd_file.LOG, 'Record UN-Successful');

UPDATE xxedb.xxap_supplier_sites_int_stg
SET error_flag = 'Y',
process_flag = 'N',
error_desc =
SUBSTR (error_desc || ', ' || l_insert_error_desc,
1,
4000
),
vendor_interface_id =
r_supp_sites.vendor_interface_id_m,
vendor_site_interface_id =
r_supp_sites.vendor_site_interface_id
WHERE ROWID = r_supp_sites.ROWID;
END IF;

COMMIT;
-------------------
END IF;
END IF;
END LOOP;
END supplier_sites_load;

PROCEDURE sup_site_contact_load (
errbuf OUT VARCHAR2,
retcode OUT NUMBER,
p_valid_flag IN VARCHAR2 DEFAULT 'Y'
)
AS
CURSOR c_site_contacts
IS
SELECT xssc.ROWID, xssc.*,

Page 51 of 60
AP Supplier Interface [Data Loading]
xassi.vendor_interface_id vendor_interface_id_m,
xassi.old_supplier_id old_supplier_id_m,
xassi.old_supplier_number old_supplier_number_m,
xassi.old_supplier_name old_supplier_name_m,
xassi.old_vendor_site_id old_vendor_site_id_m,
xassi.old_vendor_site_code old_vendor_site_code_m
FROM xxedb.xxap_sup_site_contact_int_stg xssc,
xxedb.xxap_supplier_sites_int_stg xassi
WHERE 1 = 1
AND xssc.old_supplier_id = xassi.old_supplier_id
AND xssc.old_vendor_site_id = xassi.old_vendor_site_id
AND NVL (xssc.error_flag, 'Y') <> 'N'
AND NVL (xssc.process_flag, 'N') <> 'Y'
AND xassi.process_flag = 'Y'
AND xassi.error_flag = 'N';

l_insert_error_flag VARCHAR2 (1);


l_insert_error_desc VARCHAR2 (4000);
l_load_success NUMBER;
l_vendor_id NUMBER;
l_vendor_contact_interface_id NUMBER;
l_org_id NUMBER := fnd_profile.VALUE ('ORG_ID');
BEGIN
-----------------(Update All the Error Column as NULL)--------------------------------------------
UPDATE xxedb.xxap_sup_site_contact_int_stg xssc
SET process_flag = NULL,
error_flag = NULL,
error_desc = NULL
WHERE NVL (process_flag, 'N') = 'Y' AND NVL (error_flag, 'N') = 'Y';

UPDATE xxedb.xxap_sup_site_contact_int_stg xssc


SET vendor_site_code = old_vendor_site_code,
org_id = l_org_id;

COMMIT;

FOR r_supp_cont IN c_site_contacts


LOOP
---(INITILIZATION THE LOCAL VARUABLES AS NULL;)

Page 52 of 60
AP Supplier Interface [Data Loading]
l_insert_error_flag := 'N';
l_insert_error_desc := NULL;

IF p_valid_flag = 'N'
THEN
IF NVL (r_supp_cont.error_flag, 'N') = 'N'
AND NVL (r_supp_cont.process_flag, 'N') = 'N'
THEN
SELECT vendor_id
INTO l_vendor_id
FROM ap_suppliers
WHERE segment1 = r_supp_cont.old_supplier_number;

r_supp_cont.vendor_id := l_vendor_id;

UPDATE xxedb.xxap_sup_site_contact_int_stg xssc


SET vendor_id = r_supp_cont.vendor_id
WHERE old_supplier_number = r_supp_cont.old_supplier_number;

COMMIT;

SELECT ap_sup_site_contact_int_s.NEXTVAL
INTO l_vendor_contact_interface_id
FROM DUAL;

UPDATE xxedb.xxap_sup_site_contact_int_stg xssc


SET vendor_contact_interface_id =
l_vendor_contact_interface_id
WHERE old_supplier_number = r_supp_cont.old_supplier_number;

r_supp_cont.vendor_contact_interface_id :=
l_vendor_contact_interface_id;

BEGIN
INSERT INTO ap_sup_site_contact_int
(last_update_date,
last_updated_by,
vendor_site_id,
vendor_site_code,

Page 53 of 60
AP Supplier Interface [Data Loading]
org_id,
operating_unit_name,
last_update_login,
creation_date,
created_by,
inactive_date,
first_name,
middle_name,
last_name, prefix,
title, mail_stop,
area_code, phone,
program_application_id,
program_id,
program_update_date,
request_id,
contact_name_alt,
first_name_alt,
last_name_alt,
department,
import_request_id,
status, reject_code,
email_address, url,
alt_area_code,
alt_phone,
fax_area_code, fax,
vendor_interface_id,
vendor_id,
vendor_contact_interface_id,
party_site_id,
party_site_name,
party_orig_system,
party_orig_system_reference,
party_site_orig_system,
party_site_orig_sys_reference,
supplier_site_orig_system,
sup_site_orig_system_reference,
contact_orig_system,
contact_orig_system_reference,
sdh_batch_id,

Page 54 of 60
AP Supplier Interface [Data Loading]
party_id,
per_party_id,
rel_party_id,
relationship_id,
org_contact_id
)
VALUES (r_supp_cont.last_update_date,
r_supp_cont.last_updated_by,
r_supp_cont.vendor_site_id,
r_supp_cont.vendor_site_code,
r_supp_cont.org_id,
r_supp_cont.operating_unit_name,
r_supp_cont.last_update_login,
r_supp_cont.creation_date,
r_supp_cont.created_by,
r_supp_cont.inactive_date,
r_supp_cont.first_name,
r_supp_cont.middle_name,
r_supp_cont.last_name, r_supp_cont.prefix,
r_supp_cont.title, r_supp_cont.mail_stop,
r_supp_cont.area_code, r_supp_cont.phone,
r_supp_cont.program_application_id,
r_supp_cont.program_id,
r_supp_cont.program_update_date,
r_supp_cont.request_id,
r_supp_cont.contact_name_alt,
r_supp_cont.first_name_alt,
r_supp_cont.last_name_alt,
r_supp_cont.department,
r_supp_cont.import_request_id,
r_supp_cont.status, r_supp_cont.reject_code,
r_supp_cont.email_address, r_supp_cont.url,
r_supp_cont.alt_area_code,
r_supp_cont.alt_phone,
r_supp_cont.fax_area_code, r_supp_cont.fax,
r_supp_cont.vendor_interface_id,
r_supp_cont.vendor_id,
r_supp_cont.vendor_contact_interface_id,
r_supp_cont.party_site_id,

Page 55 of 60
AP Supplier Interface [Data Loading]
r_supp_cont.party_site_name,
r_supp_cont.party_orig_system,
r_supp_cont.party_orig_system_reference,
r_supp_cont.party_site_orig_system,
r_supp_cont.party_site_orig_sys_reference,
r_supp_cont.supplier_site_orig_system,
r_supp_cont.sup_site_orig_system_reference,
r_supp_cont.contact_orig_system,
r_supp_cont.contact_orig_system_reference,
r_supp_cont.sdh_batch_id,
r_supp_cont.party_id,
r_supp_cont.per_party_id,
r_supp_cont.rel_party_id,
r_supp_cont.relationship_id,
r_supp_cont.org_contact_id
);
EXCEPTION
WHEN OTHERS
THEN
l_insert_error_flag := 'Y';
l_insert_error_desc :=
SUBSTR
( 'Error while inserting into interface table : '
|| SQLERRM,
1,
4999
);
retcode := 1;
END;

-------------------
--- if no errors then update the staging table with new environment ids and successfully processed status
IF l_insert_error_flag = 'N'
THEN
l_load_success := l_load_success + 1;
--- Count the Number of l_load_sucess
fnd_file.put_line (fnd_file.LOG, 'Record successful');

UPDATE xxedb.xxap_sup_site_contact_int_stg xssc

Page 56 of 60
AP Supplier Interface [Data Loading]
SET error_flag = 'N',
process_flag = 'Y',
error_desc = NULL,
vendor_interface_id =
r_supp_cont.vendor_interface_id_m,
vendor_contact_interface_id =
r_supp_cont.vendor_contact_interface_id
WHERE ROWID = r_supp_cont.ROWID;

fnd_file.put_line
(fnd_file.LOG,
'Error While Loading Record for Vendor_name : '
|| r_supp_cont.old_supplier_name_m
);
ELSIF l_insert_error_flag = 'Y'
THEN
fnd_file.put_line (fnd_file.LOG, 'Record UN-Successful');

UPDATE xxedb.xxap_sup_site_contact_int_stg xssc


SET error_flag = 'Y',
process_flag = 'N',
error_desc =
SUBSTR (error_desc || ', ' || l_insert_error_desc,
1,
4000
),
vendor_interface_id =
r_supp_cont.vendor_interface_id_m,
vendor_contact_interface_id =
r_supp_cont.vendor_contact_interface_id
WHERE ROWID = r_supp_cont.ROWID;
END IF;

COMMIT;
-------------------
END IF;
END IF;
END LOOP;
END sup_site_contact_load;

Page 57 of 60
AP Supplier Interface [Data Loading]
END xxedb_ap_suppliers_interface;
/

Execute the Open Interface in “Payable Manager” Responsibility

Page 58 of 60
AP Supplier Interface [Data Loading]

Page 59 of 60
AP Supplier Interface [Data Loading]

View the Rejection Records, “AP_SUPPLIER_INT_REJECTIONS” Table


To review the rejection of the Open Supplier Interface, consult the Oracle Rejection Table name “AP_SUPPLIER_INT_REJECTIONS”. For Example:

Page 60 of 60

You might also like