Protected by Copyscape Web Copyright Protection Software

Search This Blog

Thursday, June 20, 2013

Supplier Interface Script in Oracle apps Part 4




         IF ln_vendor_site_num = 0
         THEN
            BEGIN
               count_new_addl_records := NVL (count_new_addl_records, 0) + 1;

               --COMENTED BY SIVA ON 26-DEC-2012
               /*INSERT INTO JA_IN_PO_VENDOR_SITES (vendor_id,
                                                  vendor_site_id,
                                                  excise_duty_range,
                                                  excise_duty_division,
                                                  excise_duty_reg_no,
                                                  excise_duty_zone,
                                                  excise_duty_region,
                                                  excise_duty_circle,
                                                  ec_code,
                                                  cst_reg_no,
                                                  st_reg_no,
                                                  approved_invoice_flag,
                                                  vendor_type,
                                                  override_flag,
                                                  vat_reg_no,
                                                  service_tax_regno,
                                                  service_type_code,
                                                  tax_category_list,
                                                  creation_date,
                                                  created_by,
                                                  last_update_date,
                                                  last_updated_by)
                    VALUES (vendor_rec.vendor_id,
                            vendor_rec.vendor_site_id,
                            NULL,                 --vendor_rec.exc_duty_range,
                            NULL,              --vendor_rec.exc_duty_division,
                            TRIM (vendor_rec.excise_registration_no),
                            NULL,                  --vendor_rec.exc_duty_zone,
                            NULL,                --vendor_rec.exc_duty_region,
                            NULL,                --vendor_rec.exc_duty_circle,
                            NULL,                        --vendor_rec.ec_code,
                            TRIM (vendor_rec.central_sales_tax_no),
                            NULL,            --vendor_rec.lst_registration_no,
                            'Y',
                            NULL,         --trim(vendor_rec.type_of_assessee),
                            'Y',
                            TRIM (vendor_rec.value_Added_tax_no),
                            TRIM (vendor_rec.service_tax_no),
                            TRIM (lc_service_code),
                            NULL,              --vendor_rec.tax_category_list,
                            SYSDATE,
                            l_created_by,
                            SYSDATE,
                            l_created_by);*/
               --ADDED BY XXXX
               INSERT INTO JAI_CMN_VENDOR_SITES (vendor_id,
                                                 vendor_site_id,
                                                 excise_duty_range,
                                                 excise_duty_division,
                                                 excise_duty_reg_no,
                                                 excise_duty_zone,
                                                 excise_duty_region,
                                                 excise_duty_circle,
                                                 ec_code,
                                                 cst_reg_no,
                                                 st_reg_no,
                                                 approved_invoice_flag,
                                                 vendor_type,
                                                 override_flag,
                                                 vat_reg_no,
                                                 service_tax_regno,
                                                 service_type_code,
                                                 tax_category_list,
                                                 creation_date,
                                                 created_by,
                                                 last_update_date,
                                                 last_updated_by)
                    VALUES (vendor_rec.vendor_id,
                            vendor_rec.vendor_site_id,
                            NULL,                 --vendor_rec.exc_duty_range,
                            NULL,              --vendor_rec.exc_duty_division,
                            TRIM (vendor_rec.excise_registration_no),
                            NULL,                  --vendor_rec.exc_duty_zone,
                            NULL,                --vendor_rec.exc_duty_region,
                            NULL,                --vendor_rec.exc_duty_circle,
                            NULL,                        --vendor_rec.ec_code,
                            TRIM (vendor_rec.central_sales_tax_no),
                            NULL,            --vendor_rec.lst_registration_no,
                            'Y',
                            NULL,         --trim(vendor_rec.type_of_assessee),
                            'Y',
                            TRIM (vendor_rec.value_Added_tax_no),
                            TRIM (vendor_rec.service_tax_no),
                            TRIM (lc_service_code),
                            NULL,              --vendor_rec.tax_category_list,
                            SYSDATE,
                            l_created_by,
                            SYSDATE,
                            l_created_by);

               gn_uploaded_rec := NVL (gn_uploaded_rec, 0) + 1;
               count_ins_addl_records := NVL (count_ins_addl_records, 0) + 1;
               ln_insert_flag := ln_insert_flag + 1;

               UPDATE XXST_AP_SUPP_INT_STG
                  SET STATUS = 'P'
                WHERE     supplier_name = vendor_rec.supplier_name
                      AND Batch_No = vendor_rec.Batch_No
                      AND SITE_NAME = vendor_rec.SITE_NAME;

               --WHERE RECORD_ID=vendor_rec.RECORD_ID;
               COMMIT;
            EXCEPTION
               WHEN OTHERS
               THEN
                  lc_error_flag4 := 'Y';
                  lc_error_message :=
                     ' Error Occured While inserting into JA_IN_PO_VENDOR_SITES tables  ';
                  fnd_file.
                   put_line (fnd_file.LOG,
                             'ErrNo:44' || lc_error_message || SQLERRM);
                  XXST_INT_UTILITY_PKG.
                   GENERATE_ERROR_LOG_PRC (pn_batch_no,
                                           ln_conc_req_id,
                                           'XXST_AP_SUPP_INT_STG',
                                           'JA_IN_PO_VENDOR_SITES',
                                           'JA_IN_PO_VENDOR_SITES',
                                           vendor_rec.supplier_name,
                                           vendor_rec.vendor_id,
                                           lc_error_message,
                                           vendor_rec.RECORD_ID);

                  UPDATE XXST_AP_SUPP_INT_STG
                     SET status = 'E', error_message = lc_error_message
                   WHERE     supplier_name = vendor_rec.supplier_name
                         AND Batch_No = vendor_rec.Batch_No
                         AND site_name = vendor_rec.site_name;

                  fnd_file.
                   put_line (fnd_file.LOG, lc_error_message);
                  COMMIT;
            END;

            IF l_vendor_tds IS NOT NULL
            THEN
               IF vendor_rec.pan_no IS NOT NULL
                  AND LENGTH (TRIM (vendor_rec.pan_no)) = 10
               THEN
                  BEGIN
                     --COMENTED BY SIVA ON 26-DEC-2012
                     /* INSERT
                        INTO ja_in_vendor_tds_info_hdr (
                                vendor_id,
                                vendor_site_id,
                                pan_no,
                                tan_no,
                                ward_no,
                                creation_date,
                                created_by,
                                last_update_date,
                                last_updated_by,
                                last_update_login,
                                confirm_pan_flag,
                                tds_vendor_type_lookup_code)
                      VALUES (vendor_rec.vendor_id,
                              vendor_rec.vendor_site_id,
                              vendor_rec.pan_no,
                              NULL,                        --vendor_rec.tan_no,
                              NULL,                       --vendor_rec.ward_no,
                              SYSDATE,
                              l_created_by,
                              SYSDATE,
                              l_created_by,
                              l_created_by,
                              'Y',
                              l_vendor_tds);*/

                     --ADDED BY XXXXX

                     INSERT
                       INTO jai_ap_tds_vendor_hdrs (
                               vendor_id,
                               vendor_site_id,
                               pan_no,
                               tan_no,
                               ward_no,
                               creation_date,
                               created_by,
                               last_update_date,
                               last_updated_by,
                               last_update_login,
                               confirm_pan_flag,
                               tds_vendor_type_lookup_code)
                     VALUES (vendor_rec.vendor_id,
                             vendor_rec.vendor_site_id,
                             vendor_rec.pan_no,
                             NULL,                        --vendor_rec.tan_no,
                             NULL,                       --vendor_rec.ward_no,
                             SYSDATE,
                             l_created_by,
                             SYSDATE,
                             l_created_by,
                             l_created_by,
                             'Y',
                             l_vendor_tds);

                     ln_insert_flag := ln_insert_flag + 1;

                     UPDATE XXST_AP_SUPP_INT_STG
                        SET status = 'P'
                      WHERE     supplier_name = vendor_rec.supplier_name
                            AND Batch_No = vendor_rec.Batch_No
                            AND site_name = vendor_rec.site_name;

                     COMMIT;
                  EXCEPTION
                     WHEN OTHERS
                     THEN
                        UPDATE XXST_AP_SUPP_INT_STG
                           SET status = 'E', error_message = lc_error_message
                         WHERE     supplier_name = vendor_rec.supplier_name
                               AND Batch_No = vendor_rec.Batch_No
                               AND site_name = vendor_rec.site_name;

                        lc_error_flag4 := 'Y';
                        lc_error_message :=
                           'Error Occured While inserting into JA_IN_VENDOR_TDS_INFO_HDR tables ';
                        fnd_file.
                         put_line (fnd_file.LOG,
                                   'ErrNo:45' || lc_error_message);
                        COMMIT;
                  END;
               END IF;                     --IF  vendor_rec.pan_no IS NOT NULL
            END IF;                         --IF l_vendor_tds IS NOT NULL THEN
         ELSE
            BEGIN
               UPDATE XXST_AP_SUPP_INT_STG
                  SET status = 'E',
                      error_message =
                         'Supplier Additional Info Assignment is Already exists'
                WHERE     supplier_name = vendor_rec.supplier_name
                      AND Batch_No = vendor_rec.Batch_No
                      AND site_name = vendor_rec.site_name;
            --  lc_error_flag4 := 'Y';
            -- lc_error_message := 'Error Occured While inserting into JA_IN_VENDOR_TDS_INFO_HDR tables ';
            --  fnd_file.put_line(fnd_file.LOG,'ErrNo:45'||lc_error_message);
            EXCEPTION
               WHEN OTHERS
               THEN
                  fnd_file.
                   put_line (fnd_file.LOG,
                             'ErrNo:49' || lc_error_message);
            END;

            COMMIT;
         END IF;                         --IF NVL(ln_vendor_site_num,0)=0 THEN

         COMMIT;
         ln_insert_flag := 0;
      END LOOP;

      COMMIT;
      Ln_Total_Records_Processed := 0;

      BEGIN
         SELECT COUNT (*)
           INTO Ln_Total_Records_Processed
           FROM XXST_AP_SUPP_INT_STG tkapi,
                po_vendors pv,
                po_vendor_sites_all pvsa
          WHERE tkapi.supplier_name = pv.vendor_name AND tkapi.status = 'P'
                AND (pv.vendor_id = pvsa.vendor_id
                     AND pvsa.vendor_site_code = tkapi.site_name)
                AND Batch_No = p_batch_no;
      EXCEPTION
         WHEN OTHERS
         THEN
            fnd_file.
             put_line (fnd_file.LOG, 'Error while Getting Total Count');
      END;

      fnd_file.
       put_line (
         fnd_file.OUTPUT,
         'Total No of Records Processed ' || Ln_Total_Records_Processed);

      FOR j IN lcur_ja_in1
      LOOP
         EXIT WHEN lcur_ja_in1%NOTFOUND;
         Ln_vendor_id1 := NULL;
         Ln_vendor_site_id1 := NULL;

         --VENDOR ID VALIDATION
         BEGIN
            SELECT vendor_id
              INTO Ln_vendor_id1
              FROM ap_suppliers pv                             --po_vendors pv
             WHERE 1 = 1                    --pv.vendor_name = j.supplier_name
                        AND pv.vendor_name = j.supplier_name;
         EXCEPTION
            WHEN NO_DATA_FOUND
            THEN
               UPDATE XXST_AP_SUPP_INT_STG
                  SET status = 'E',
                      error_message = 'Supplier Does Not Exists'
                WHERE     supplier_name = j.supplier_name
                      AND Batch_No = j.Batch_No
                      AND site_name = j.site_name;
            WHEN OTHERS
            THEN
               NULL;
         END;

         IF Ln_vendor_id1 IS NOT NULL
         THEN
            BEGIN
               SELECT vendor_site_id
                 INTO Ln_vendor_site_id1
                 FROM po_vendor_sites_all pvsa
                WHERE pvsa.vendor_id = Ln_vendor_id1
                      AND pvsa.vendor_site_code = j.site_name;
            EXCEPTION
               WHEN NO_DATA_FOUND
               THEN
                  UPDATE XXST_AP_SUPP_INT_STG
                     SET status = 'E',
                         error_message = 'Supplier Site Does Not Exists'
                   WHERE     supplier_name = j.supplier_name
                         AND Batch_No = j.Batch_No
                         AND site_name = j.site_name;
               WHEN OTHERS
               THEN
                  NULL;
            END;
         END IF;

         COMMIT;
      END LOOP;

      Ln_Total_Records_Errored := 0;

      BEGIN
         SELECT COUNT (*)
           INTO Ln_Total_Records_Errored
           FROM XXST_AP_SUPP_INT_STG tkapi
          WHERE tkapi.status = 'E' AND Batch_No = p_batch_no;
      EXCEPTION
         WHEN OTHERS
         THEN
            fnd_file.
             put_line (fnd_file.LOG, 'Error while Getting Total Count');
      END;

      fnd_file.
       put_line (fnd_file.OUTPUT,
                 'Total No of Records Errored ' || Ln_Total_Records_Errored);
   END ap_localization_data_creation;

   FUNCTION get_field (p_line        IN VARCHAR2,
                       p_delimiter   IN VARCHAR2,
                       p_field_no    IN NUMBER)
      RETURN VARCHAR2
   IS
      l_start        NUMBER := 0;
      l_end          NUMBER := 0;
      lc_delimiter   VARCHAR2 (10);
   BEGIN
      lc_delimiter := p_delimiter;

      /*****-- Determine start position--*****/
      IF p_field_no = 1
      THEN
         l_start := 0;
      ELSE
         l_start :=
            INSTR (p_line,
                   p_delimiter,
                   1,
                   (p_field_no - 1));

         IF l_start = 0
         THEN
            RETURN NULL;
         END IF;
      END IF;

      /*****-- Determine end position--*****/
      l_end :=
         INSTR (p_line,
                p_delimiter,
                1,
                p_field_no);

      IF l_end = 0
      THEN
         l_end := LENGTH (p_line) + 1;
      END IF;

      /*****-- Extract the field data --*****/
      IF (l_end - l_start) = 1
      THEN
         RETURN NULL;
      ELSE
         RETURN SUBSTR (p_line, (l_start + 1), ( (l_end - l_start) - 1));
      END IF;
   EXCEPTION
      WHEN OTHERS
      THEN
         RETURN NULL;
   END get_field;

   PROCEDURE ap_supplier_upload (Errbuf           OUT VARCHAR2,
                                 Retcode          OUT NUMBER,
                                 p_file_name   IN     VARCHAR2,
                                 P_LINE_NUM    IN     NUMBER)
   IS
      reqfiletype                      UTL_FILE.FILE_TYPE;
      req_line                         VARCHAR2 (3000);
      req_delim                        VARCHAR2 (1) := ',';
      rec_count                        NUMBER;
      v_File_Name                      VARCHAR2 (200) := P_File_Name;
      v_date_processed                 DATE;                            -- (Q)
      ln_user_id                       NUMBER := FND_GLOBAL.USER_ID;
      ln_resp_id                       NUMBER := FND_GLOBAL.RESP_ID;
      ln_resp_app_id                   NUMBER := FND_GLOBAL.RESP_APPL_ID;
      v_request_id                     NUMBER := 0;
      ln_batch_id                      NUMBER;
      Lc_Transaction_type              VARCHAR2 (500);
      ln_line_no                       NUMBER;
      ln_record_id                     NUMBER;
      lc_batch_no                      VARCHAR2 (50);
      lc_operating_unit                VARCHAR2 (25);
      ln_supplier_id                   NUMBER;
      lc_supplier_name                 VARCHAR2 (240);
      lc_address1                      VARCHAR2 (240);
      lc_address2                      VARCHAR2 (240);
      lc_address3                      VARCHAR2 (240);
      lc_address4                      VARCHAR2 (240);
      lc_city                          VARCHAR2 (25);
      lc_state                         VARCHAR2 (150);
      lc_pin_code                      VARCHAR2 (20);
      lc_country                       VARCHAR2 (150);
      lc_site_name                     VARCHAR2 (15);
      lc_alternate_supplier_site_any   VARCHAR2 (320);
      lc_alternate_supp_address_any    VARCHAR2 (560);
      lc_first_name                    VARCHAR2 (50);
      lc_last_name                     VARCHAR2 (50);
      lc_std_isd_tel_code              VARCHAR2 (10);
      lc_telephone_no                  VARCHAR2 (50);
      lc_std_isd_fax_code              VARCHAR2 (10);
      lc_fax_no                        VARCHAR2 (15);
      lc_mobile_no                     VARCHAR2 (15);
      lc_email_id                      VARCHAR2 (200);
      lc_url                           VARCHAR2 (2000);
      lc_central_sales_tax_no          VARCHAR2 (50);
      lc_value_added_tax_no            VARCHAR2 (50);
      lc_service_tax_no                VARCHAR2 (50);
      lc_excise_registration_no        VARCHAR2 (50);
      lc_pan_no                        VARCHAR2 (30);
      lc_edible_oil_licence_no         VARCHAR2 (150);
      lc_trade_licence_no              VARCHAR2 (150);
      lc_type_of_assessee              VARCHAR2 (150);
      lc_small_scale_industry_yn       VARCHAR2 (10);
      lc_type_of_supplier              VARCHAR2 (30);
      lc_isuplier_flag                 VARCHAR2 (5);
      lc_payment_terms_no_of_days      VARCHAR2 (50);
      lc_one_time_supplier_yn          VARCHAR2 (1);
      lc_currency_code                 VARCHAR2 (10);
      lc_supplier_bank_name            VARCHAR2 (60);
      lc_supplier_bank_branch_name     VARCHAR2 (60);
      lc_bank_branch_address1          VARCHAR2 (35);
      lc_bank_branch_address2          VARCHAR2 (35);
      lc_bank_branch_address3          VARCHAR2 (35);
      lc_bank_branch_address4          VARCHAR2 (35);
      lc_bank_city                     VARCHAR2 (50);
      lc_bank_state                    VARCHAR2 (25);
      lc_bank_country                  VARCHAR2 (25);
      lc_bank_pin_code                 VARCHAR2 (20);
      lc_ifsc_no                       VARCHAR2 (30);
      lc_supplier_bank_acctount_no     VARCHAR2 (80);
      lc_liability_account             VARCHAR2 (25);
      lc_prepayment_account            VARCHAR2 (25);
      lc_invoice_initiator_email       VARCHAR2 (150);
      lc_payment_term_email            VARCHAR2 (150);
      ln_org_id                        NUMBER;
      ln_set_of_book_id                NUMBER;
      ln_request_id                    NUMBER;
      lc_status                        VARCHAR2 (50);
   BEGIN
      v_file_name := p_file_name;
      -----------------------------------------------------------------
      Ln_batch_id := 0;
      ln_line_no := 0;

      BEGIN
         SELECT xxst_s.NEXTVAL INTO ln_batch_id FROM DUAL;
      EXCEPTION
         WHEN OTHERS
         THEN
            FND_FILE.
             PUT_LINE (FND_FILE.OUTPUT, ' Error While Getting Batch id');
      END;

      -----------------------------------------------------------------
      reqfiletype := UTL_FILE.FOPEN ('XXFTAL_AP_SUPP_DIR1', v_File_Name, 'r');

      LOOP
         ln_line_no := ln_line_no + 1;

         BEGIN
            UTL_FILE.GET_LINE (reqfiletype, req_line);
         EXCEPTION
            WHEN NO_DATA_FOUND
            THEN
               EXIT;
         END;

         IF ln_line_no > p_line_num
         THEN
            ---------------------------------------------------------------------------------------------
            --- Mapping with csv fields
            -----------------------------------------------------------------------------------------------
            --Sl Numner
            BEGIN
               ln_record_id := TRIM (Get_Field (req_line, req_delim, 1)); -- (A)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Sl Number' || SQLERRM);
            END;

            -----------------------------------------------------------------------------------------------
            --Operating Unit
            BEGIN
               lc_operating_unit := TRIM (Get_Field (req_line, req_delim, 2)); -- (B)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Operating Unit' || SQLERRM);
            END;

            -----------------------------------------------------------------
            -- Supplier Name
            BEGIN
               lc_supplier_name := TRIM (Get_Field (req_line, req_delim, 3)); -- (C)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Supplier Name ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            -- Address1
            BEGIN
               lc_address1 := TRIM (Get_Field (req_line, req_delim, 4)); -- (D)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Address1 ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Address2
            BEGIN
               lc_address2 := TRIM (Get_Field (req_line, req_delim, 5)); -- (E)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Address2 ' || SQLERRM);
            END;

            ----------------------------------------------------------------
            --Address3
            BEGIN
               lc_Address3 := TRIM (Get_Field (req_line, req_delim, 6)); -- (F)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Address3  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --Address4
            BEGIN
               lc_Address4 := TRIM (Get_Field (req_line, req_delim, 7)); -- (G)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Address4  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            -- lc_city
            BEGIN
               lc_city := TRIM (Get_Field (req_line, req_delim, 8));    -- (H)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'City  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --State
            BEGIN
               lc_state := TRIM (Get_Field (req_line, req_delim, 9));   -- (I)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'State ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            -- Pin Code
            BEGIN
               lc_pin_code := TRIM (Get_Field (req_line, req_delim, 10)); -- (J)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Pin Code  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --lc_country
            BEGIN
               lc_country := TRIM (Get_Field (req_line, req_delim, 11)); -- (K)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Country ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --Site Name
            BEGIN
               lc_site_name := TRIM (Get_Field (req_line, req_delim, 12)); -- (L)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Site Name  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --Alternate Supplier Site
            BEGIN
               lc_alternate_supplier_site_any :=
                  TRIM (Get_Field (req_line, req_delim, 13));           -- (M)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Alternate Supplier Site' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --alternate supplier address
            BEGIN
               lc_alternate_supp_address_any :=
                  TRIM (Get_Field (req_line, req_delim, 14));           -- (N)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Alternate Supplier Address ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --First Name
            BEGIN
               lc_first_name := TRIM (Get_Field (req_line, req_delim, 15)); -- (O)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'First Name  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --Last Name
            BEGIN
               lc_last_name := TRIM (Get_Field (req_line, req_delim, 16)); -- (O)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Last Name  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --STD / ISD  Tel Code
            BEGIN
               lc_std_isd_tel_code :=
                  TRIM (Get_Field (req_line, req_delim, 17));           -- (P)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'STD / ISD Tel Code ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Telephone No
            BEGIN
               lc_telephone_no := TRIM (Get_Field (req_line, req_delim, 18)); -- (Q)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Telephone No ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            --STD / ISD  Fax Code
            BEGIN
               lc_std_isd_fax_code :=
                  TRIM (Get_Field (req_line, req_delim, 19));           -- (P)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'STD / ISD Fax Code ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Fax No
            BEGIN
               lc_fax_no := TRIM (Get_Field (req_line, req_delim, 20)); -- (R)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Fax No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Mobile No
            BEGIN
               lc_mobile_no := TRIM (Get_Field (req_line, req_delim, 21)); -- (S)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'Mobile No ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----E Mail Id
            BEGIN
               lc_email_id := TRIM (Get_Field (req_line, req_delim, 22)); -- (T)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'E Mail Id ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            -----------------------------------------------------------------
            ----URL
            BEGIN
               lc_url := TRIM (Get_Field (req_line, req_delim, 23));    -- (T)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'URL Web Address ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- CST Reg No
            BEGIN
               lc_central_sales_tax_no :=
                  TRIM (Get_Field (req_line, req_delim, 24));           -- (U)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'CST Reg. No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- VAT Reg No
            BEGIN
               lc_value_added_tax_no :=
                  TRIM (Get_Field (req_line, req_delim, 25));           -- (V)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'VAT Reg. No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Service Tax No
            BEGIN
               lc_service_tax_no := TRIM (Get_Field (req_line, req_delim, 26)); -- (W)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Service Tax No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Excise Reg. No
            BEGIN
               lc_excise_registration_no :=
                  TRIM (Get_Field (req_line, req_delim, 27));           -- (X)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Excise Reg. No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----PAN No
            BEGIN
               lc_pan_no := TRIM (Get_Field (req_line, req_delim, 28)); -- (Y)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'PAN No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----EOL No
            BEGIN
               lc_edible_oil_licence_no :=
                  TRIM (Get_Field (req_line, req_delim, 29));           -- (Z)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'EOL No  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- TL No
            BEGIN
               lc_trade_licence_no :=
                  TRIM (Get_Field (req_line, req_delim, 30));          -- (AA)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'TL No ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- TDS Supplier Type
            BEGIN
               lc_type_of_assessee :=
                  TRIM (Get_Field (req_line, req_delim, 31));          -- (AB)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'TDS Supplier Type  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Small Scale Industry
            BEGIN
               lc_small_scale_industry_yn :=
                  TRIM (Get_Field (req_line, req_delim, 32));          -- (AC)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Small Scale Industry Y/N  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----  Supplier Type
            BEGIN
               lc_type_of_supplier :=
                  TRIM (Get_Field (req_line, req_delim, 33));          -- (AD)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Supplier Type  ' || SQLERRM);
            END;

            -- Added by XXXXX
            -----------------------------------------------------------------
            ----  ISupplier Flag
            BEGIN
               lc_isuplier_flag := TRIM (Get_Field (req_line, req_delim, 34)); -- (AD)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Supplier Type  ' || SQLERRM);
            END;

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

            -- End of Addition by Ramarao on 18-AUG-2011
            ---- Payment Terms No of Days
            BEGIN
               lc_payment_terms_no_of_days :=
                  TRIM (Get_Field (req_line, req_delim, 35));          -- (AE)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Payment Terms No of Days  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- One Time Supplier Yes/ No
            BEGIN
               lc_one_time_supplier_yn :=
                  TRIM (Get_Field (req_line, req_delim, 36));          -- (AF)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'One Time Supplier Yes/No ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Currency Code
            BEGIN
               lc_currency_code := TRIM (Get_Field (req_line, req_delim, 37)); -- (AG)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Currency Code ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Supplier Bank Name
            BEGIN
               lc_supplier_bank_name :=
                  TRIM (Get_Field (req_line, req_delim, 38));          -- (AH)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Supplier Bank Name  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Supplier Bank Branch Name
            BEGIN
               lc_supplier_bank_branch_name :=
                  TRIM (Get_Field (req_line, req_delim, 39));          -- (AI)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Supplier Bank Branch Name  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Bank Branch Address1
            BEGIN
               lc_bank_branch_address1 :=
                  TRIM (Get_Field (req_line, req_delim, 40));          -- (AJ)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Address1  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Bank Branch Address2
            BEGIN
               lc_bank_branch_address2 :=
                  TRIM (Get_Field (req_line, req_delim, 41));          -- (AK)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Address2  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Bank Branch Address3
            BEGIN
               lc_bank_branch_address3 :=
                  TRIM (Get_Field (req_line, req_delim, 42));          -- (AL)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Address3  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ----Bank Branch Address4
            BEGIN
               lc_bank_branch_address4 :=
                  TRIM (Get_Field (req_line, req_delim, 43));          -- (AL)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Address4  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Bank Branch City
            BEGIN
               lc_bank_city := TRIM (Get_Field (req_line, req_delim, 44)); -- (AM)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Bank Branch City  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Bank Branch State
            BEGIN
               lc_bank_state := TRIM (Get_Field (req_line, req_delim, 45)); -- (AN)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Bank Branch State  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Bank Branch Country
            BEGIN
               lc_bank_country := TRIM (Get_Field (req_line, req_delim, 46)); -- (AN)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Country  ' || SQLERRM);
            END;

            ---- Bank Branch Pin Code
            BEGIN
               lc_bank_pin_code := TRIM (Get_Field (req_line, req_delim, 47)); -- (AO)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Bank Branch Pin Code  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- IFSC Code
            BEGIN
               lc_ifsc_no := TRIM (Get_Field (req_line, req_delim, 48)); -- (AP)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'IFSC Code  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Supplier Bank Account No
            BEGIN
               lc_supplier_bank_acctount_no :=
                  TRIM (Get_Field (req_line, req_delim, 49));          -- (AQ)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Supplier Bank Account No ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Liability Account
            BEGIN
               lc_liability_account :=
                  TRIM (Get_Field (req_line, req_delim, 50));          -- (AR)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Liability Account  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Prepayment Account
            BEGIN
               lc_prepayment_account :=
                  TRIM (Get_Field (req_line, req_delim, 51));          -- (AS)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057,
                                           'Prepayment Account  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Invoice Initiator Email
            BEGIN
               lc_invoice_initiator_email :=
                  TRIM (Get_Field (req_line, req_delim, 52));          -- (AT)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Invoice Initiator Email  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Payment Team Member Email
            BEGIN
               lc_payment_term_email :=
                  TRIM (Get_Field (req_line, req_delim, 53));          -- (AU)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (
                     -20057,
                     'Payment Team Member Email  ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            ---- Payment Team Member Email
            BEGIN
               lc_status := TRIM (Get_Field (req_line, req_delim, 54)); -- (AU)
            EXCEPTION
               WHEN OTHERS
               THEN
                  RAISE_APPLICATION_ERROR (-20057, 'test ' || SQLERRM);
            END;

            -----------------------------------------------------------------
            IF lc_supplier_name IS NOT NULL
            THEN
               ln_org_id := NULL;
               ln_set_of_book_id := NULL;

               BEGIN
                  SELECT ORGANIZATION_ID, SET_OF_BOOKS_ID
                    INTO ln_org_id, ln_set_of_book_id
                    FROM HR_OPERATING_UNITS
                   WHERE NAME = lc_operating_unit;
               EXCEPTION
                  WHEN OTHERS
                  THEN
                     ln_org_id := NULL;
                     ln_set_of_book_id := NULL;
               END;

               BEGIN
                  INSERT
                    INTO XXST_AP_SUPP_INT_STG (
                            record_id,                                  -----1
                            batch_no,                                   -----2
                            operating_unit,                             -----3
                            org_id,                                    ------4
                            set_of_books_id,                           ------5
                            supplier_id,                               ------6
                            supplier_name,                             ------7
                            address1,                                  ------8
                            address2,                                  ------9
                            address3,                                 ------10
                            address4,                                 ------11
                            city,
                            state,
                            pin_code,
                            country,
                            site_name,
                            alternate_supplier_site_if_any,
                            alternate_supp_address_ifany,
                            first_name,
                            last_name,
                            std_isd_tel_code,
                            telephone_no,
                            std_isd_fax_code,
                            fax_no,
                            mobile_no,
                            email_id,
                            url,
                            central_sales_tax_no,
                            value_added_tax_no,
                            service_tax_no,
                            excise_registration_no,
                            pan_no,
                            edible_oil_licence_no,
                            trade_licence_no,
                            type_of_assessee,
                            small_scale_industry_yn,
                            type_of_supplier,
                            isupplier_flag, -- Added by XXXXX
                           
                            payment_terms_no_of_days,
                            --one_time_supplier_yn,
                            currency_code,
                            supplier_bank_name,
                            supplier_bank_branch_name,
                            bank_branch_address1,
                            bank_branch_address2,
                            bank_branch_address3,
                            bank_city,
                            bank_state,
                            bank_pin_code,
                            ifsc_no,
                            supplier_bank_acctount_no,
                            liability_account,
                            prepayment_account,
                            invoice_initiator_email,
                            payment_team_email,
                            creation_date,
                            status,
                            input_file_name,
                            error_message)
                  VALUES (TRIM (ln_record_id),
                          TRIM (ln_batch_id),
                          TRIM (lc_operating_unit),
                          TRIM (ln_org_id),
                          TRIM (ln_set_of_book_id),
                          NULL,                                 --supplier_id,
                          UPPER (TRIM (lc_supplier_name)),
                          TRIM (lc_address1),
                          TRIM (lc_address2),
                          TRIM (lc_address3),
                          TRIM (lc_address4),
                          TRIM (lc_city),
                          TRIM (lc_state),
                          TRIM (lc_pin_code),
                          TRIM (lc_country),
                          UPPER (TRIM (lc_site_name)),
                          TRIM (lc_alternate_supplier_site_any),
                          TRIM (lc_alternate_supp_address_any),
                          TRIM (lc_first_name),
                          TRIM (lc_last_name),
                          TRIM (lc_std_isd_tel_code),
                          TRIM (lc_telephone_no),
                          TRIM (lc_std_isd_fax_code),
                          TRIM (lc_fax_no),
                          TRIM (lc_mobile_no),
                          TRIM (lc_email_id),
                          TRIM (lc_url),
                          TRIM (lc_central_sales_tax_no),
                          TRIM (lc_value_added_tax_no),
                          TRIM (lc_service_tax_no),
                          TRIM (lc_excise_registration_no),
                          TRIM (lc_pan_no),
                          TRIM (lc_edible_oil_licence_no),
                          TRIM (lc_trade_licence_no),
                          TRIM (lc_type_of_assessee),
                          TRIM (lc_small_scale_industry_yn),
                          TRIM (lc_type_of_supplier),
                          TRIM (lc_isuplier_flag), -- Added by XXXXX
                          TRIM (lc_payment_terms_no_of_days),
                          --TRIM(lc_one_time_supplier_yn),
                          TRIM (lc_currency_code),
                          TRIM (lc_supplier_bank_name),
                          TRIM (lc_supplier_bank_branch_name),
                          TRIM (lc_bank_branch_address1),
                          TRIM (lc_bank_branch_address2),
                          TRIM (lc_bank_branch_address3),
                          TRIM (lc_bank_city),
                          TRIM (lc_bank_state),
                          TRIM (lc_bank_pin_code),
                          TRIM (lc_ifsc_no),
                          TRIM (lc_supplier_bank_acctount_no),
                          TRIM (lc_liability_account),
                          TRIM (lc_prepayment_account),
                          TRIM (lc_invoice_initiator_email),
                          TRIM (lc_payment_term_email),
                          TRIM (SYSDATE),                  --lc_creation_date,
                          NULL,                                   --lc_status,
                          TRIM (p_file_name),            --lc_input_file_name,
                          NULL                             --lc_error_message,
                              );
               EXCEPTION
                  WHEN OTHERS
                  THEN
                     RAISE_APPLICATION_ERROR (
                        -20057,
                        'Error While Insert into Stg Table  ' || SQLERRM);
               END;
            END IF;
         -----------------------------------------------------------------
         END IF;
      END LOOP;

      COMMIT;
      Fnd_File.
       put_line (fnd_file.LOG,
                 'File Uploaded into interface table succussfully');

      ----Calling Supplier creation procedure
      --XXFTAL_AP_SUPP_INT_PKG.ap_vendor_creation(ln_batch_id);
      BEGIN
         ln_request_id :=
            fnd_request.submit_request ('XXFTAL',
                                        'XXFTAL_SUPP_INT_CREATION',
                                        '',
                                        '',
                                        FALSE,
                                        ln_batch_id);
         COMMIT;
      END;

      UTL_FILE.FCLOSE_ALL;
   EXCEPTION
      WHEN UTL_FILE.INVALID_OPERATION
      THEN
         Fnd_File.
          put_line (
            Fnd_File.output,
            'Invalid Operation: '
            || ' File Not Exit in AP Supplier Files Directory ');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (
            -20051,
            'File Not Exit in AP Supplier Files Directory');
      WHEN UTL_FILE.INVALID_PATH
      THEN
         Fnd_File.put_line (Fnd_File.output, 'Invalid Path');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (-20052, 'Invalid Path');
      WHEN UTL_FILE.INVALID_MODE
      THEN
         Fnd_File.put_line (Fnd_File.output, 'Invalid Mode');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (-20053, 'Invalid Mode');
      WHEN UTL_FILE.INVALID_FILEHANDLE
      THEN
         Fnd_File.put_line (Fnd_File.output, 'Invalid File Handle ');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (-20054, 'Invalid File Handle');
      WHEN UTL_FILE.WRITE_ERROR
      THEN
         Fnd_File.put_line (Fnd_File.output, 'Invalid Write Error ');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (-20055, 'Invalid Write Error');
      WHEN UTL_FILE.READ_ERROR
      THEN
         Fnd_File.put_line (Fnd_File.output, 'Read Error ');
         UTL_FILE.FCLOSE_ALL;
         RAISE_APPLICATION_ERROR (-20056, 'Read Error');
      WHEN OTHERS
      THEN
         RAISE_APPLICATION_ERROR (-20057,
                                  'Check the File Data Format ' || SQLERRM);
         UTL_FILE.FCLOSE_ALL;
   END ap_supplier_upload;
END XXST_AP_SUPP_INT_PKG;


This is the Supplier Interface in Oracle apps R12.

Sorry for inconvenience  Due to data issues and performance loading i divided it into multiple parts don't keep in mind,

I hope this will help you..

Thanks all,
Rajashekara Reddy.