Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Purpose of this article is to have the import scripts available when manual owner invoices should be imported in bulk in an implementation context. 


Import
DECLARE
  m_resort_id      NUMBER ;
  m_owner_id       NUMBER ;
  m_DEBIT_CARD_ID  NUMBER ;
  m_invoice_id     NUMBER ;
  ledger2          NUMBER ;
  ledger1          NUMBER;
  m_cost_center_id NUMBER ;
  m_count NUMBER ;
  n number :=0;
BEGIN
  FOR x IN
  ( SELECT * FROM ext_owneR_invoice1003 where campingid !=3000134 --and INVOICE_LINE_DESCRIPTION != 'Pitches'
  )
  LOOP
  begin
    SELECT resort_id INTO m_resort_id FROM resort WHERE code = to_char(x.CAMPINGID);
    if x.ledger1='0'  or x.ledger1 is null  then
      ledger1 := null;
      else 
      SELECT ledger_id
      INTO ledger1
      FROM ledger
      WHERE loweR(trim(name)) = loweR(trim(x.Ledger1));
      end if ;
    if x.Ledger2 ='0' or x.Ledger2 is null 
    then 
    ledger2:= null ;
    else 
      SELECT ledger_id
    INTO ledger2
    FROM ledger
    WHERE loweR(trim(LEDGER_NUMBER)) = loweR(trim(x.Ledger2));
    end if ;
    if x.cost_center is null or x.cost_center ='0' then 
 
    m_cost_center_id := null;
    else 
    SELECT cost_center_id
    INTO m_cost_center_id
    FROM cost_center
    WHERE loweR(trim(COST_CENTER_NUMBER)) = loweR(trim(x.cost_center));
    end if ;
     SELECT count(*) into m_count
    FROM owner o
    JOIN ownership oi
    ON oi.owner_id = o.owner_id
    JOIN objecti18n ob
    ON ob.object_id = oi.object_id
    JOIN resourcebase rb
    ON rb.resource_id = ob.asset_id
    WHERE o.lastname LIKE '%(r)%'
    AND o.archiveD_from IS NULL
    AND (oi.end_date    >= sysdate
    OR oi.end_date      IS NULL)
    AND rb.resorT_id     = m_resorT_id ;
   if m_count != 0 then 
    SELECT DISTINCT o.owneR_id
    INTO m_owner_id
    FROM owner o
    JOIN ownership oi
    ON oi.owner_id = o.owner_id
    JOIN objecti18n ob
    ON ob.object_id = oi.object_id
    JOIN resourcebase rb
    ON rb.resource_id = ob.asset_id
    WHERE o.lastname LIKE '%(r)%'
    AND o.archiveD_from IS NULL
    AND (oi.end_date    >= sysdate
    OR oi.end_date      IS NULL)
    AND rb.resorT_id     = m_resorT_id ;
    SELECT DEBIT_CARD_ID
    INTO m_DEBIT_CARD_ID
    FROM owner_debit_card
    WHERE owner_id =m_owner_id
    AND resorT_id  = m_resorT_id ;
    else 
    m_owner_id := null;
    m_DEBIT_CARD_ID := null;
    end if ;
    DBMS_OUTPUT.PUT_LINE('ledger1:'||ledger1);
    DBMS_OUTPUT.PUT_LINE('m_owner_id:'||m_owner_id);
       DBMS_OUTPUT.PUT_LINE('m_DEBIT_CARD_ID:'||m_DEBIT_CARD_ID);
    INSERT
    INTO OWNER_SETTLEMENT_INVOICE
      (
        resorT_id ,
        INVOICE_NUMBER,
        INVOICE_DATE,
        INVOICE_DESCRIPTION,
        INVOICE_AMOUNT,
        INVOICE_TYPE,
        OWNER_DEBIT_CARD_ID
      )
      VALUES
      (
        m_resort_id,
        replace(x.REFNR,'-',''),
        to_date(x.INVOICE_DATE,'mm/dd/yyyy'),
        x.DESCRIPTION,
        (x.AMOUNT),
        'm',
        m_DEBIT_CARD_ID
      )
    RETURNING OWNER_SETTLEMENT_INVOICE_ID
    INTO m_invoice_id ;
    INSERT
    INTO OWNER_SETTLEMENT_ENTRY
      (
        invoice_id,
        OWNER_ID,
        ENTRY_DATE,
        RESORT_ID,
        OWNER_AMOUNT,
        DESCRIPTION,
        INVOICENUMBER,
        TYPE ,
        BASE_LEDGER_ID,
        BASE_SECOND_LEDGER_ID,
        BASE_COST_CENTER_ID
      )
      VALUES
      (
        m_invoice_id ,
        m_OWNER_ID,
        sysdate ,
        m_RESORT_ID,
        x.amount,
        x.Invoice_line_description,
        x.INVOICE_NUMBER,
        x.Invoice_type,
        ledger1 ,
        ledger2,
        m_cost_center_id
      );
      n:=n+1;
         logger.error('invoice_inserted100321 :===- '||m_invoice_id);
      exception when others then 
         logger.error('invoice_not_inserted100321 :===- '||x.DESCRIPTION || ','||x.INVOICE_LINE_DESCRIPTION);
      end ;
  END LOOP;
END ;
/
select * from ext_owneR_invoice1003 
minus 
select distinct  e.* from OWNER_SETTLEMENT_INVOICE o
join resort r 
on r.resorT_id = o.resorT_id 
join ext_owneR_invoice1003 e 
on E.CAMPINGID = r.code ;
select * from log where message like 'invoice_inserted100321 :===-%';
select message from log where message like 'invoice_not_inserted100321 :===-%';


Table
create table ext_owneR_invoice1003(
RefNr varchar2(500),	
Partner_name  varchar2(500),	
CampingID	 number ,
Cost_unit	  varchar2(500),
Camping_name	 varchar2(500),
Payer	 varchar2(500),
Invoice_number	 varchar2(500),
Invoice_date	 varchar2(500),
Invoice_type	 varchar2(500),
Description	 varchar2(500),
Amount	 varchar2(500),
Currency	 varchar2(500),
Invoice_line_description	 varchar2(500),
Ledger1	 varchar2(500),
cost_center	 varchar2(500),
Ledger2		 varchar2(500)
);
drop table ext_owneR_invoice1003;
select * from ext_owneR_invoice1003;




  • No labels