Recover Deleted Data from Table

1) Show

select * from emp;

2) Delete

delete from emp;

3) Save permanent

commit;

now you will not able to find out the  data

Do following steps to revert back

1) Alter

alter table emp enable row movement

2) Flashback

flashback table emp to timestamp systimestamp - interval '1' hour

select * from emp;

Program to Reconcile All Payment

Unable this standard Concurrent Program and attached where you want

CP Name :- Unreconcile Bank Statement

Migrate Distribution Set for Supplier

CREATE TABLE APPS.XXAP_DISTRIBUTION_SETS_T
(
  DISTRIBUTION_SET_ID           NUMBER(15)      NOT NULL,
  DISTRIBUTION_SET_NAME         VARCHAR2(50 BYTE) NOT NULL,
  HEADER_DESCRIPTION            VARCHAR2(240 BYTE),
  TOTAL_PERCENT_DISTRIBUTION    NUMBER(19,3),
  INACTIVE_DATE                 DATE,
  ATTRIBUTE_CATEGORY_H          VARCHAR2(150 BYTE),
  ATTRIBUTE1_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE2_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE3_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE4_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE5_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE6_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE7_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE8_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE9_H                  VARCHAR2(150 BYTE),
  ATTRIBUTE10_H                 VARCHAR2(150 BYTE),
  ATTRIBUTE11_H                 VARCHAR2(150 BYTE),
  ATTRIBUTE12_H                 VARCHAR2(150 BYTE),
  ATTRIBUTE13_H                 VARCHAR2(150 BYTE),
  ATTRIBUTE14_H                 VARCHAR2(150 BYTE),
  ATTRIBUTE15_H                 VARCHAR2(150 BYTE),
  ORG_ID_H                      NUMBER(15),
  DISTRIBUTION_SET_LINE_ID      NUMBER(15)      NOT NULL,
  DIST_CODE_COMBINATION_ID      NUMBER(15),
  LAST_UPDATE_DATE              DATE            NOT NULL,
  LAST_UPDATED_BY               NUMBER(15)      NOT NULL,
  SET_OF_BOOKS_ID               NUMBER(15)      NOT NULL,
  PERCENT_DISTRIBUTION          NUMBER,
  TYPE_1099                     VARCHAR2(10 BYTE),
  VAT_CODE                      VARCHAR2(15 BYTE),
  DESCRIPTION                   VARCHAR2(240 BYTE),
  LAST_UPDATE_LOGIN             NUMBER(15),
  CREATION_DATE                 DATE,
  CREATED_BY                    NUMBER(15),
  DISTRIBUTION_SET_LINE_NUMBER  NUMBER(15)      NOT NULL,
  ATTRIBUTE_CATEGORY            VARCHAR2(150 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),
  PROJECT_ACCOUNTING_CONTEXT    VARCHAR2(30 BYTE),
  TASK_ID                       NUMBER(15),
  PROJECT_ID                    NUMBER(15),
  EXPENDITURE_ORGANIZATION_ID   NUMBER(15),
  EXPENDITURE_TYPE              VARCHAR2(30 BYTE),
  ORG_ID                        NUMBER(15)      DEFAULT NULL,
  AWARD_ID                      NUMBER(15),
  STATUS                        VARCHAR2(2 BYTE),
  ERROR_MSG                     VARCHAR2(4000 BYTE)
)




CREATE OR REPLACE procedure APPS.xxdm_dist_set_load_p
as
   cursor c1
   is
      select *
        from xxap_distribution_sets_t
       where error_msg is null and STATUS is null and rownum=1;
       lv_distribution_set_id number;
       lc_sqlerrm varchar2(4000);

begin
   for i in c1
   loop
    begin
      select ap_distribution_sets_s.nextval
        into lv_distribution_set_id
        from dual;

      insert into ap_distribution_sets_all (distribution_set_id,
                                            distribution_set_name,
                                            last_update_date,
                                            last_updated_by,
                                            description,
                                            total_percent_distribution,
                                            inactive_date,
                                            last_update_login,
                                            creation_date,
                                            created_by,
                                            attribute_category,
                                            attribute1,
                                            attribute2,
                                            attribute3,
                                            attribute4,
                                            attribute5,
                                            attribute6,
                                            attribute7,
                                            attribute8,
                                            attribute9,
                                            attribute10,
                                            attribute11,
                                            attribute12,
                                            attribute13,
                                            attribute14,
                                            attribute15,
                                            org_id)
           values (lv_distribution_set_id,
                   i.distribution_set_name,
                   sysdate,
                   0,
                   i.distribution_set_name,
                   i.total_percent_distribution,
                   i.inactive_date,
                   0,
                   sysdate,
                   0,
                   i.attribute_category_h,
                   i.attribute1_h,
                   i.attribute2_h,
                   i.attribute3_h,
                   i.attribute4_h,
                   i.attribute5_h,
                   i.attribute6_h,
                   i.attribute7_h,
                   i.attribute8_h,
                   i.attribute9_h,
                   i.attribute10_h,
                   i.attribute11_h,
                   i.attribute12_h,
                   i.attribute13_h,
                   i.attribute14_h,
                   i.attribute15_h,
                   101);


      insert
        into ap_distribution_set_lines_all (distribution_set_id,
                                            dist_code_combination_id,
                                            last_update_date,
                                            last_updated_by,
                                            set_of_books_id,
                                            percent_distribution,
                                            type_1099,
                                            vat_code,
                                            description,
                                            last_update_login,
                                            creation_date,
                                            created_by,
                                            distribution_set_line_number,
                                            attribute_category,
                                            attribute1,
                                            attribute2,
                                            attribute3,
                                            attribute4,
                                            attribute5,
                                            attribute6,
                                            attribute7,
                                            attribute8,
                                            attribute9,
                                            attribute10,
                                            attribute11,
                                            attribute12,
                                            attribute13,
                                            attribute14,
                                            attribute15,
                                            project_accounting_context,
                                            task_id,
                                            project_id,
                                            expenditure_organization_id,
                                            expenditure_type,
                                            org_id,
                                            award_id)
      values (lv_distribution_set_id,
              i.dist_code_combination_id,
              sysdate,
              0,
              i.set_of_books_id,
              i.percent_distribution,
              i.type_1099,
              i.vat_code,
              i.description,
              0,
              sysdate,
              0,
              1,
              i.attribute_category,
              i.attribute1,
              i.attribute2,
              i.attribute3,
              i.attribute4,
              i.attribute5,
              i.attribute6,
              i.attribute7,
              i.attribute8,
              i.attribute9,
              i.attribute10,
              i.attribute11,
              i.attribute12,
              i.attribute13,
              i.attribute14,
              null,
              i.project_accounting_context,
              i.task_id,
              i.project_id,
              i.expenditure_organization_id,
              i.expenditure_type,
              101,
              i.award_id);
           
               update xxap_distribution_sets_t
            set status = 'S'
          where distribution_set_id =i.distribution_set_id;
          DBMS_OUTPUT.put_line ('Success load '||lv_distribution_set_id);
      exception
         when others
         then
         rollback;
         lc_sqlerrm:=sqlerrm;
            update xxap_distribution_sets_t
               set status = 'E' , ERROR_MSG=lc_sqlerrm
             where distribution_set_id =i.distribution_set_id;
             DBMS_OUTPUT.put_line ('Error lc_sqlerrm ' || lc_sqlerrm);
           
              end;
   end loop;
end xxdm_dist_set_load_p;

--select  * from ap_distribution_sets_all ;

select  * from ap_distribution_set_lines_all;



API To Load Lookup Values

1)  compile below pacage specification and body

CREATE OR REPLACE PACKAGE APPS.xxdm_po_lookup_values_blk_pkg
IS
   PROCEDURE insert_row_p (p_meaning               IN VARCHAR2,
                           p_lookuptype            IN VARCHAR2,
                           p_lookupcode            IN VARCHAR2,
                           p_tag                   IN VARCHAR2,
                           p_description           IN VARCHAR2,
                           p_start_date_active     IN DATE,
                           p_view_application_id   IN NUMBER);
END xxdm_po_lookup_values_blk_pkg;
/



CREATE OR REPLACE PACKAGE BODY APPS.xxdm_po_lookup_values_blk_pkg
IS
   PROCEDURE insert_row_p (p_meaning               IN VARCHAR2,
                           p_lookuptype            IN VARCHAR2,
                           p_lookupcode            IN VARCHAR2,
                           p_tag                   IN VARCHAR2,
                           p_description           IN VARCHAR2,
                           p_start_date_active     IN DATE,
                           p_view_application_id   IN NUMBER)
   IS
      /*
      create table xxdm_po_lookup_values_blk_t (p_meaning        varchar2(150),
                              p_lookuptype     varchar2(150),
                              p_lookupcode     varchar2(150),
                              p_tag            varchar2(2),
                              p_description varchar2(240),
                              p_start_date_active date,
                              p_view_application_id number);
  */
      i_rowid   VARCHAR2 (100) := 0;
   BEGIN
      i_rowid := NULL;

      fnd_lookup_values_pkg.insert_row (
         x_rowid                 => i_rowid,
         x_lookup_type           => p_lookuptype,
         x_security_group_id     => 0,
         x_view_application_id   => p_view_application_id,
         x_lookup_code           => p_lookupcode,
         x_tag                   => p_tag,
         x_attribute_category    => NULL,
         x_attribute1            => NULL,
         x_attribute2            => NULL,
         x_attribute3            => NULL,
         x_attribute4            => NULL,
         x_enabled_flag          => 'Y',
         x_start_date_active     => TO_DATE ('01-JAN-1950', 'DD-MON-YYYY'),
         x_end_date_active       => NULL,
         x_territory_code        => NULL,
         x_attribute5            => NULL,
         x_attribute6            => NULL,
         x_attribute7            => NULL,
         x_attribute8            => NULL,
         x_attribute9            => NULL,
         x_attribute10           => NULL,
         x_attribute11           => NULL,
         x_attribute12           => NULL,
         x_attribute13           => NULL,
         x_attribute14           => NULL,
         x_attribute15           => NULL,
         x_meaning               => p_meaning,
         x_description           => p_description,
         x_creation_date         => SYSDATE,
         x_created_by            => fnd_global.user_id,
         x_last_update_date      => SYSDATE,
         x_last_updated_by       => fnd_global.user_id,
         x_last_update_login     => fnd_global.login_id);
   EXCEPTION
      WHEN OTHERS
      THEN
         ROLLBACK;
         DBMS_OUTPUT.put_line ('Error when Load for lookupcode '||p_lookupcode||'-'||SQLERRM);
   END insert_row_p;
END xxdm_po_lookup_values_blk_pkg;
/

3) Load Excel table into table (XXDM_PO_LOOKUP_VALUES_BLK_T)

4) execute below query


declare
cursor c1 is select * from XXDM_PO_LOOKUP_VALUES_BLK_T;
begin
for i in c1 loop
xxdm_po_lookup_values_blk_pkg.insert_row_p (i.p_meaning,i.p_lookuptype,i.p_lookupcode,i.p_tag,i.p_description,null,201);
end loop;
commit;
end;


API To Load Flex Values

1) create table xxdm_load_flex_values_t (flex_value varchar2(150), description varchar2(240));

2) insert excel data into table

3) compile below procedure

CREATE OR REPLACE PROCEDURE APPS.xxdm_load_flex_values_p
IS
   --create table xxdm_load_flex_values_t (flex_value varchar2(150), description varchar2(240));

   CURSOR c1
   IS
      SELECT * FROM xxdm_load_flex_values_t ;

   v_start_date_active   DATE := SYSDATE;
   v_who_type            fnd_flex_loader_apis.who_type;
   v_user_id             NUMBER := fnd_global.user_id;
   v_login_id            NUMBER := fnd_global.login_id;
   v_req_id              NUMBER := fnd_global.conc_request_id;
-----------
BEGIN
   --
   DBMS_OUTPUT.put_line ('in begin');
   v_who_type.created_by := v_user_id;
   v_who_type.creation_date := SYSDATE;
   v_who_type.last_updated_by := v_user_id;
   v_who_type.last_update_date := SYSDATE;
   v_who_type.last_update_login := v_login_id;
   --
   DBMS_OUTPUT.put_line ('after begin');

   FOR i IN c1
   LOOP
      --
      --api to load values
      fnd_flex_values_pkg.load_row (
         x_flex_value_set_name          => 'DM_GROUP_OWNER',
         x_parent_flex_value_low        => NULL,
         x_flex_value                   => TRIM (i.flex_value),
         x_who                          => v_who_type,
         x_enabled_flag                 => 'Y',
         x_summary_flag                 => 'N',
         x_start_date_active            => null,
         x_end_date_active              => NULL,
         x_parent_flex_value_high       => NULL,
         x_structured_hierarchy_level   => NULL,
         x_hierarchy_level              => NULL,
         x_compiled_value_attributes    => NULL,
         x_value_category               => NULL,
         x_attribute1                   => NULL,
         x_attribute2                   => NULL,
         x_attribute3                   => NULL,
         x_attribute4                   => NULL,
         x_attribute5                   => NULL,
         x_attribute6                   => NULL,
         x_attribute7                   => NULL,
         x_attribute8                   => NULL,
         x_attribute9                   => NULL,
         x_attribute10                  => NULL,
         x_attribute11                  => NULL,
         x_attribute12                  => NULL,
         x_attribute13                  => NULL,
         x_attribute14                  => NULL,
         x_attribute15                  => NULL,
         x_attribute16                  => NULL,
         x_attribute17                  => NULL,
         x_attribute18                  => NULL,
         x_attribute19                  => NULL,
         x_attribute20                  => NULL,
         x_attribute21                  => NULL,
         x_attribute22                  => NULL,
         x_attribute23                  => NULL,
         x_attribute24                  => NULL,
         x_attribute25                  => NULL,
         x_attribute26                  => NULL,
         x_attribute27                  => NULL,
         x_attribute28                  => NULL,
         x_attribute29                  => NULL,
         x_attribute30                  => NULL,
         x_attribute31                  => NULL,
         x_attribute32                  => NULL,
         x_attribute33                  => NULL,
         x_attribute34                  => NULL,
         x_attribute35                  => NULL,
         x_attribute36                  => NULL,
         x_attribute37                  => NULL,
         x_attribute38                  => NULL,
         x_attribute39                  => NULL,
         x_attribute40                  => NULL,
         x_attribute41                  => NULL,
         x_attribute42                  => NULL,
         x_attribute43                  => NULL,
         x_attribute44                  => NULL,
         x_attribute45                  => NULL,
         x_attribute46                  => NULL,
         x_attribute47                  => NULL,
         x_attribute48                  => NULL,
         x_attribute49                  => NULL,
         x_attribute50                  => NULL,
         x_attribute_sort_order         => NULL,
         x_flex_value_meaning           => TRIM (i.flex_value),
         x_description                  => TRIM (i.description));
   END LOOP;

 
   DBMS_OUTPUT.put_line ('after commit');
--
EXCEPTION
   WHEN OTHERS
   THEN
   rollback;
      DBMS_OUTPUT.put_line ('error is ' || SUBSTR (SQLERRM, 1, 1000));
END xxdm_load_flex_values_p;
/


4) execute below query

exec xxdm_load_flex_values_p;

Logic to run fast Query on Date parameters

select /*+ parallel(aa, 4) parallel(xx, 4) */ *
from XXDM_MEDNEXT_CLAIM_INV_V MDX ,
(select :P_FROM_DATE fromdate,:P_TO_DATE todate from dual )
xx
where  MDX.INVOICE_DATE >=xx.fromdate
and MDX.INVOICE_DATE <= xx.todate

Procedure Based Report

procedure xxdm_ar_inv_err_report_p(errbuOUT VARCHAR2,retcode OUT VARCHAR2,p_group_id IN number)
as
cursor c1 is
select *
from xxdm_policy_error_log_t
where GROUP_ID=p_group_id;

cursor c2 is
select *
from XXDM_FALCON_AR_INV_INT_STG_T
where GROUP_ID=p_group_id;
begin
      /*First line of XML data should be ‘<?xml version="1.0"?>’*/
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<?xml version="1.0"?>');
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<G1>');


for j in c1
loop
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ACTIVITY_LOG>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ERROR_LOG_ID>' || j.ERROR_LOG_ID || '</ERROR_LOG_ID>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<INSTANCE_ID>' || j.INSTANCE_ID || '</INSTANCE_ID>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ERROR_MSG>' || j.ERROR_MSG || '</ERROR_MSG>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ERROR_TYPE>' || j.ERROR_TYPE || '</ERROR_TYPE>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<CREATED_DATE>' || j.CREATED_DATE || '</CREATED_DATE>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<GROUP_ID>' || j.GROUP_ID || '</GROUP_ID>');
   FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</ACTIVITY_LOG>');
end loop;

for i in c2
loop
  FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EBS_LOG>');
  
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRX_HEADER_ID>' || i.TRX_HEADER_ID || '</TRX_HEADER_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRX_NUMBER>' || i.TRX_NUMBER || '</TRX_NUMBER>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<OPERATING_UNIT_ID>' || i.OPERATING_UNIT_ID || '</OPERATING_UNIT_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SET_OF_BOOKS_ID>' || i.SET_OF_BOOKS_ID || '</SET_OF_BOOKS_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BATCH_SOURCE_NAME>' || i.BATCH_SOURCE_NAME || '</BATCH_SOURCE_NAME>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BATCH_SOURCE_ID>' || i.BATCH_SOURCE_ID || '</BATCH_SOURCE_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SOURCE_TRANSACTION_NUMBER>' || i.SOURCE_TRANSACTION_NUMBER || '</SOURCE_TRANSACTION_NUMBER>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRANSACTION_TYPE>' || i.TRANSACTION_TYPE || '</TRANSACTION_TYPE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRANSACTION_TYPE_ID>' || i.TRANSACTION_TYPE_ID || '</TRANSACTION_TYPE_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRANSACTION_CLASS_TYPE>' || i.TRANSACTION_CLASS_TYPE || '</TRANSACTION_CLASS_TYPE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRX_CLASS_ID>' || i.TRX_CLASS_ID || '</TRX_CLASS_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRANSACTION_DATE>' || i.TRANSACTION_DATE || '</TRANSACTION_DATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<CUSTOMER_NAME>' || i.CUSTOMER_NAME || '</CUSTOMER_NAME>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<CUSTOMER_NUMBER>' || i.CUSTOMER_NUMBER || '</CUSTOMER_NUMBER>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<GL_DATE>' || i.GL_DATE || '</GL_DATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TERMS_NAME>' || i.TERMS_NAME || '</TERMS_NAME>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EXCHANGE_RATE_TYPE>' || i.EXCHANGE_RATE_TYPE || '</EXCHANGE_RATE_TYPE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EXCHANGE_DATE>' || i.EXCHANGE_DATE || '</EXCHANGE_DATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EXCHANGE_RATE>' || i.EXCHANGE_RATE || '</EXCHANGE_RATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LEGAL_ENTITY_NAME>' || i.LEGAL_ENTITY_NAME || '</LEGAL_ENTITY_NAME>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<REFERENCE_NUMBER>' || i.REFERENCE_NUMBER || '</REFERENCE_NUMBER>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ATTRIBUTE_CATEGORY>' || i.ATTRIBUTE_CATEGORY || '</ATTRIBUTE_CATEGORY>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<POLICY_NUMBER>' || i.POLICY_NUMBER || '</POLICY_NUMBER>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<POLICY_EXTERNAL_REFERENCE>' || i.POLICY_EXTERNAL_REFERENCE || '</POLICY_EXTERNAL_REFERENCE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BILL_EFFECTIVE_DATE>' || i.BILL_EFFECTIVE_DATE || '</BILL_EFFECTIVE_DATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BILL_EXPIRY_DATE>' || i.BILL_EXPIRY_DATE || '</BILL_EXPIRY_DATE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BILL_REF>' || i.BILL_REF || '</BILL_REF>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<BILL_PAYABLE_AMOUNT>' || i.BILL_PAYABLE_AMOUNT || '</BILL_PAYABLE_AMOUNT>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<REMINDER_LETTER_SENT>' || i.REMINDER_LETTER_SENT || '</REMINDER_LETTER_SENT>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SALES_LOCATION>' || i.SALES_LOCATION || '</SALES_LOCATION>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<POLICY_GROUP>' || i.POLICY_GROUP || '</POLICY_GROUP>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SOURCE_HEADER_ID>' || i.SOURCE_HEADER_ID || '</SOURCE_HEADER_ID>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<EVENT_TYPE>' || i.EVENT_TYPE || '</EVENT_TYPE>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<PRODUCT_CATEGORY>' || i.PRODUCT_CATEGORY || '</PRODUCT_CATEGORY>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<CUSTOMER_SITE_ADDRESS>' || i.CUSTOMER_SITE_ADDRESS || '</CUSTOMER_SITE_ADDRESS>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SALES_PERSON>' || i.SALES_PERSON || '</SALES_PERSON>');
       FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SALES_REP_ID>' || i.SALES_REP_ID || '</SALES_REP_ID>');
  

  
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TRX_LINE_ID>' ||i.TRX_LINE_ID || '</TRX_LINE_ID>'); 
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LINE_NUMBER>' ||  i.LINE_NUMBER || '</LINE_NUMBER>');            
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LINE_TYPE>' ||i.LINE_TYPE || '</LINE_TYPE>');                 
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<MEMO_LINE>' ||  i.MEMO_LINE || '</MEMO_LINE>');               
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<MEMO_LINE_DESCRIPTION>' ||i.MEMO_LINE_DESCRIPTION || '</MEMO_LINE_DESCRIPTION>');    
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<QUANTITY>' || i.QUANTITY || '</QUANTITY>');                 
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<UNIT_PRICE>' || i.UNIT_PRICE || '</UNIT_PRICE>');               
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<AMOUNT>' || i.AMOUNT || '</AMOUNT>');                  
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LINE_GL_DATE>' ||i.LINE_GL_DATE || '</LINE_GL_DATE>');              
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<RULE_START_DATE>' || i.RULE_START_DATE || '</RULE_START_DATE>');          
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<RULE_END_DATE>' ||i.RULE_END_DATE || '</RULE_END_DATE>');             
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LINE_PRODUCT_CATEGORY>' ||i.LINE_PRODUCT_CATEGORY || '</LINE_PRODUCT_CATEGORY>');     
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<SOURCE_LINE_ID>' || i.SOURCE_LINE_ID || '</SOURCE_LINE_ID>');           
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TAX_LINK_LINE_ID>' ||i.TAX_LINK_LINE_ID || '</TAX_LINK_LINE_ID>');          
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TAX>' ||               i.TAX || '</TAX>');       
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TAX_RATE_CODE>' || i.TAX_RATE_CODE || '</TAX_RATE_CODE>');            
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<TAX_AMOUNT>' ||i.TAX_AMOUNT || '</TAX_AMOUNT>');               
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<LINE_CORELATION_ID>' ||  i.LINE_CORELATION_ID || '</LINE_CORELATION_ID>');      
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<DISTRIBUTION_NUMBER>' || i.DISTRIBUTION_NUMBER || '</DISTRIBUTION_NUMBER>');      
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ACCOUNT_CLASS>' ||  i.ACCOUNT_CLASS || '</ACCOUNT_CLASS>');           
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<DISTRIBUTION_PERCENT>' ||  i.DISTRIBUTION_PERCENT || '</DISTRIBUTION_PERCENT>');    
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<DIST_AMOUNT>' ||   i.DIST_AMOUNT || '</DIST_AMOUNT>');            
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<REV_ACCOUNT_COMBINATIONS>' || i.REV_ACCOUNT_COMBINATIONS || '</REV_ACCOUNT_COMBINATIONS>');
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<REC_ACCOUNT_COMBINATIONS>' || i.REC_ACCOUNT_COMBINATIONS || '</REC_ACCOUNT_COMBINATIONS>'); 
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<GROUP_ID>' || i.GROUP_ID || '</GROUP_ID>');                          
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<STATUS>' ||    i.STATUS || '</STATUS>');              
      FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '<ERROR_MESSAGE>' ||i.ERROR_MESSAGE || '</ERROR_MESSAGE>');
    
    FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</EBS_LOG>');

end loop;
FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '</G1>');
end xxdm_ar_inv_err_report_p;