Friday, 30 November 2012
Wednesday, 28 November 2012
Procedure That will return 4 Variables Example
Procedure That
will take vendor id from calling environment and return 4 other variables like
V_invamt,V_taxamt,V_vname,V_vntn to the calling environment.
create or replace procedure
PrintInvoiceInfo(V_venid in number, V_invamt out number,V_taxamt out number,V_vname out varchar2,V_vntn out varchar2)
is
begin
SELECT sum(v.invoice_amount),sum(idv.amount*awt.tax_rate/100),pov.vendor_name,pov.num_1099
into
V_invamt,V_taxamt,V_vname,V_vntn
       FROM
       Ap_Invoices_All v,
       AP_INVOICE_DISTRIBUTIONS_V
idv,
       AP_AWT_TAX_RATES_ALL        awt,
       Po_Vendors                  pov
       WHERE
      
awt.tax_name(+)=idv.awt_group_name
       and v.invoice_id=idv.invoice_id
       and pov.vendor_id=v.vendor_id
       and v.invoice_date between '1-jul-2009' and '30-Jun-2010'
       and v.vendor_id=V_venid
       and v.invoice_type_lookup_code='STANDARD'
       group by
v.vendor_id,pov.vendor_name,pov.num_1099;
end PrintInvoiceInfo;
Test window-  The Calling
Environment
declare 
invamt number;
taxamt number;
vname  varchar2(30);
vntn   varchar2(10);
begin
dbms_application_info.set_client_info(000);
PrintInvoiceInfo(0000,invamt,taxamt,vname,vntn);
dbms_output.put_line(invamt||taxamt||vname||vntn);
end;
Tuesday, 27 November 2012
How to define Cursor with report
DECLARE
    V_venid  ap_invoices_all.vendor_id%type;
    V_invid   ap_invoices_all.invoice_id%type;
    V_invamt  ap_invoices_all.invoice_amount%type;
    V_taxamt  number;
    CURSOR StdInv_cursor IS   
    SELECT v.vendor_id,sum(v.invoice_amount),sum(idv.amount*awt.tax_rate/100) 
       FROM 
       Ap_Invoices_All v,
       AP_INVOICE_DISTRIBUTIONS_V
idv,
       AP_AWT_TAX_RATES_ALL        awt
       WHERE 
      
awt.tax_name(+)=idv.awt_group_name
       and v.invoice_id=idv.invoice_id
       and v.invoice_date between '1-jul-2009' and '30-Jun-2010'
       and v.vendor_id=0000
       and v.invoice_type_lookup_code='STANDARD'
       group by v.vendor_id;
 BEGIN
 OPEN StdInv_cursor;
          loop
          FETCH StdInv_cursor INTO V_venid,V_invamt,V_taxamt;
          exit when StdInv_cursor%NOTFound;
          dbms_output.put_line
(V_venid||'    '||'      '||V_invamt||'     '||V_taxamt);
          END Loop;
   CLOSE StdInv_cursor;
 END;
Friday, 16 November 2012
EXAMPLE Excluding the Tax Invoices of Particular vendor form AP_Invoices_ALL Table using the following Query.
SELECT
v.vendor_id,
v.invoice_id,
v.invoice_amount,
idv.amount*awt.tax_rate/100 tax_amount
--c.check_id cid,
--c.amount,
--p.check_id pid,
--p.amount pamt
FROM
Ap_Invoices_All v,
AP_INVOICE_DISTRIBUTIONS_V idv,
AP_AWT_TAX_RATES_ALL awt
--Ap_checks_all c,
--Ap_Invoice_Payments_All p
WHERE
--c.check_id=p.check_id
awt.tax_name(+)=idv.awt_group_name
and v.invoice_id=idv.invoice_id
and v.invoice_date between '1-jul-2009' and '30-Jun-2010'
and v.vendor_id='1'
and v.invoice_type_lookup_code='AWT'
and to_number(trim(substr(v.invoice_num,19,6)),'999999') in(SELECT v.invoice_id FROM
Ap_Invoices_All v
WHERE
v.invoice_date between '1-jul-2009' and '30-July-2010'
and v.vendor_id='0000'
and v.invoice_type_lookup_code='STANDARD'
)
Thursday, 15 November 2012
Example Using Having , and condition with Builting function For AWT
SELECT
to_number(trim(substr(v.invoice_num,19,6)),'999999'),
sum(v.invoice_amount)
FROM
Ap_Invoices_All v
WHERE
v.invoice_date between '1-jul-2009' and '30-Jun-2010'
and v.vendor_id=1
and v.invoice_type_lookup_code='AWT'
group by to_number(trim(substr(v.invoice_num,19,6)),'999999')
having to_number(trim(substr(v.invoice_num,19,6)),'999999') in ('000000','000000','000000','000000','000000')
Wednesday, 14 November 2012
Example Query related to supplier/Payables in 11i/R12
select
v.invoice_id,
v.invoice_amount,
p.amount  Payment_Amount,
c.amount  Check_Amount,
c.check_id,
c.check_date,
c.bank_account_id,
b.bank_name,
b.bank_branch_name,
b.city
from
Ap_Checks_All           c,
AP_Invoice_Payments_all  p,
Ap_Invoices_All          v,
Ap_Bank_Branches         b,
Ap_Bank_Accounts_All     ba
where
          
b.bank_branch_id=ba.bank_branch_id
and        c.bank_account_id=ba.bank_account_id
and        c.check_id=p.check_id
and        v.invoice_id=p.invoice_id
and        v.invoice_date between '1-JAN-2009' and '30-JAN-2010'
and
v.vendor_id=0000
---------------------------------------------------------------------------------
Account Payables
    
                                    
                                                                           
                                        
        
                                                                           
        
        
---------------------------------------------------------------------------------
Account Payables
--AP SupplierWise  Supplier Ledger Query
select
a.vid,a.acc_date,a.invoice_date,a.gl_date, 
        a.particula,
       
a.reference2,
        a.supplie,
       
a.REFERENCE4,
       
a.entered_dr,
       
a.entered_cr,  
        a.des, 
        'Jul 2006',
        'AP' MODULE,
        'June 2006' acct_year,
        a.vno,
        a.new_vno
from(
(select  distinct
        pv.vendor_id
vid,
       
xah.accounting_date acc_date,
       
aia.invoice_date,
        aia.gl_date,
       
xah.JE_CATEGORY_NAME ||' '|| xal.ACCOUNTING_CLASS_CODE particula,
       
aia.doc_sequence_value reference2,
       
pv.vendor_name supplie,
        ' - '   REFERENCE4,
       
xal.entered_dr entered_dr,
       
xal.entered_cr entered_cr,  
        xal.description des, 
        'Jul 2006',
        'AP' MODULE,
        'June 2006' acct_year,
       
aia.doc_sequence_value vno,
       
SUBSTR(aia.invoice_type_lookup_code,1,3)||'-'||aia.doc_sequence_value new_vno
from    ap_invoices_all aia
        ,po_vendors
pv
       
,xla.xla_transaction_entities xte   
       
,xla_ae_headers xah
       
,xla_ae_lines xal
where   aia.VENDOR_ID           =  
pv.VENDOR_ID
and     xte.SOURCE_ID_INT_1     =  
aia.INVOICE_ID
and     xte.ENTITY_ID           =  
xah.ENTITY_ID              
and     xte.APPLICATION_ID      =  
xah.APPLICATION_ID     
and     xal.AE_HEADER_ID        =  
xah.AE_HEADER_ID
and     xal.ACCOUNTING_CLASS_CODE   not in ('ITEM EXPENSE')
AND     xal.ACCOUNTING_CLASS_CODE   NOT IN ('CHARGE' , 'AWT','RECOVERABLE TAX','IPV','NONRECOVERABLE
TAX','RTAX','NRTAX')
and     xah.BALANCE_TYPE_CODE       =  
'A'
and     xah.JE_CATEGORY_NAME        not in ('Reconciled
Payments')
AND    
pv.vendor_name=NVL(&Sup_name,pv.vendor_name)
and     pv.segment1 between
nvl(&sup_no_from,pv.segment1) and
nvl(&sup_no_to,pv.segment1)
and     xah.accounting_date between NVL(&date_from,xah.accounting_date) and NVL(&date_to,xah.accounting_date)
and     aia.set_of_books_id=1003
and     aia.org_id=302
UNION ALL
select  distinct
        pv.vendor_id
vid,
       
xah.accounting_date acc_date,
       
aia.invoice_date,
        aia.gl_date,
       
xah.JE_CATEGORY_NAME ||' '|| xal.ACCOUNTING_CLASS_CODE particula,
       
aca.doc_sequence_value reference2,
       
pv.vendor_name supplie,
       
to_char(aca.CHECK_NUMBER) 
REFERENCE4,
       
xal.entered_dr entered_dr,
       
xal.entered_cr entered_cr,  
       
xal.description des, 
        'Jul 2006',
        'AP' MODULE,
        'June 2006' acct_year,
       
aia.doc_sequence_value vno,
       
SUBSTR(aia.invoice_type_lookup_code,1,3)||'-'||aia.doc_sequence_value new_vno
from    xla_ae_lines xal,
       
xla_ae_headers xah,
       
ap_checks_all aca,
       
ap_invoice_payments_all aipa    
       
,xla.xla_transaction_entities xte
        ,ap_invoices_all aia
        ,po_vendors
pv      
where   xte.application_id      = 200 
and     xal.application_id      = xah.application_id 
and     xte.application_id      = xah.application_id 
and     xal.ae_header_id        = xah.ae_header_id 
and     xte.entity_code         = 'AP_PAYMENTS' 
and     xte.source_id_int_1     = aipa.CHECK_ID 
and     xte.entity_id           = xah.entity_id
and     aia.INVOICE_ID          =  
aipa.INVOICE_ID
and     aia.VENDOR_ID           =  
pv.VENDOR_ID
and     aipa.CHECK_ID           =  
aca.CHECK_ID
--and    
aia.DOC_SEQUENCE_VALUE  =40173
and     xal.ACCOUNTING_CLASS_CODE   not in ('ITEM EXPENSE')
AND     xal.ACCOUNTING_CLASS_CODE   NOT IN ('CHARGE' , 'AWT','RECOVERABLE TAX','IPV','NONRECOVERABLE
TAX','CASH_CLEARING')
and     xah.JE_CATEGORY_NAME        not in ('Reconciled
Payments')
and     xah.BALANCE_TYPE_CODE       =  
'A'
AND    
pv.vendor_name=NVL(&Sup_name,pv.vendor_name)
and     pv.segment1 between
nvl(&sup_no_from,pv.segment1) and nvl(&sup_no_to,pv.segment1)
and     xah.accounting_date between NVL(&date_from,xah.accounting_date) and NVL(&date_to,xah.accounting_date))) a
--ORDER BY xah.ACCOUNTING_DATE
------
--q1 this query provides the vendor id to the above query.
select distinct a.vid,a.vendor_id vendor_id,a.vendor_name from
(select  distinct
        pv.vendor_id
vid,
        pv.VENDOR_ID
vendor_id,
       
pv.VENDOR_NAME
from    ap_invoices_all aia
        ,po_vendors
pv
       
,xla.xla_transaction_entities xte   
       
,xla_ae_headers xah
where   aia.VENDOR_ID           =  
pv.VENDOR_ID
and     xte.SOURCE_ID_INT_1     =  
aia.INVOICE_ID
and     xte.ENTITY_ID           =  
xah.ENTITY_ID              
and     xte.APPLICATION_ID      =  
xah.APPLICATION_ID
AND     pv.vendor_name=NVL(&Sup_name,pv.vendor_name)
and     pv.segment1 between
nvl(&sup_no_from,pv.segment1) and
nvl(&sup_no_to,pv.segment1)
and     xah.accounting_date between NVL(&date_from,xah.accounting_date) and NVL(&date_to,xah.accounting_date)
and     aia.set_of_books_id=1003
and     aia.org_id=302
--order by pv.vendor_name
union all
select  distinct
        pv.vendor_id
vid,
        pv.VENDOR_ID
vendor_id,
       
pv.VENDOR_NAME
from    xla_ae_lines xal,
       
xla_ae_headers xah,
       
ap_checks_all aca,
        ap_invoice_payments_all
aipa    
       
,xla.xla_transaction_entities xte
       
,ap_invoices_all aia
        ,po_vendors
pv      
where   xte.application_id      = 200 
and     xal.application_id      = xah.application_id 
and     xte.application_id      = xah.application_id 
and     xal.ae_header_id        = xah.ae_header_id 
and     xte.entity_code         = 'AP_PAYMENTS' 
and     xte.source_id_int_1     = aipa.CHECK_ID 
and     xte.entity_id           = xah.entity_id
and     aia.INVOICE_ID          =  
aipa.INVOICE_ID
and     aia.VENDOR_ID           =  
pv.VENDOR_ID
and     aipa.CHECK_ID           =  
aca.CHECK_ID
and     xal.ACCOUNTING_CLASS_CODE   not in ('ITEM EXPENSE')
AND     xal.ACCOUNTING_CLASS_CODE   NOT IN ('CHARGE' , 'AWT','RECOVERABLE TAX','IPV','NONRECOVERABLE
TAX','CASH_CLEARING')
and     xah.JE_CATEGORY_NAME        not in ('Reconciled
Payments')
and     xah.BALANCE_TYPE_CODE       =  
'A'
AND    
pv.vendor_name=NVL(&Sup_name,pv.vendor_name)
and     pv.segment1 between
nvl(&sup_no_from,pv.segment1) and
nvl(&sup_no_to,pv.segment1)
and     xah.accounting_date between NVL(&date_from,xah.accounting_date) and NVL(&date_to,xah.accounting_date))a
order by a.vendor_name
--Supplier Payables
select  pv.VENDOR_NAME,
        pvsa.VENDOR_SITE_CODE,
        pv.SEGMENT1 as vendor_number,
       
aia.INVOICE_TYPE_LOOKUP_CODE invoice_type,
       
aia.INVOICE_DATE,
       
aia.INVOICE_NUM,
       
aia.INVOICE_CURRENCY_CODE,
       
aia.INVOICE_AMOUNT,
       
nvl(aia.AMOUNT_PAID,0)+nvl(ap_invoices_pkg.get_amount_withheld
(aia.invoice_id),0) paid_amount,
       
nvl(aia.INVOICE_AMOUNT,0)-(nvl(aia.AMOUNT_PAID,0)+nvl(ap_invoices_pkg.get_amount_withheld
(aia.invoice_id),0)) balance,
       
ap_prepay_utils_pkg.get_prepaid_amount(aia.invoice_id) prepaid_amount,
       
ap_invoices_pkg.get_amount_withheld (aia.invoice_id) amount_withheld,
        aia.GL_DATE,
       
aia.DESCRIPTION,
       
aia.DOC_SEQUENCE_VALUE vno,
       
wtc_mb_invoiceid_to_po_chq(aia.invoice_id,'po')
purchasees,
        wtc_mb_invoiceid_to_po_chq(aia.invoice_id,'payments') Cheques
from    ap_invoices_all aia
        ,po_vendors
pv    
       
,po_vendor_sites_all pvsa
where   aia.vendor_id   =  
pv.VENDOR_ID
and     pvsa.VENDOR_ID  =  
pv.VENDOR_ID
and     aia.VENDOR_SITE_ID  =  
pvsa.VENDOR_SITE_ID
and     pvsa.ORG_ID     =  
aia.ORG_ID
and     aia.gl_date between
&From_Date and &To_date
and     to_number(pv.SEGMENT1) between nvl(&Vendor_From,pv.SEGMENT1) and nvl(&Vendor_To,pv.SEGMENT1)
and     aia.INVOICE_TYPE_LOOKUP_CODE    in  ('STANDARD','DEBIT MEMO','CREDIT')
and     ap_invoices_pkg.get_posting_status
(aia.invoice_id) = 'Y'
and     ap_invoices_pkg.get_approval_status
                    
(aia.invoice_id,
                     
aia.invoice_amount,
                      aia.payment_status_flag,
                     
aia.invoice_type_lookup_code
                    
) <> 'CANCELLED'
order by
aia.INVOICE_TYPE_LOOKUP_CODE,aia.gl_date,aia.invoice_date
--Supplier Advance
select  * from 
(
(
select distinct
pv.VENDOR_NAME,
pvsa.VENDOR_SITE_CODE,
pv.SEGMENT1 vendor_number,
aia.INVOICE_TYPE_LOOKUP_CODE invoice_type,
aia.INVOICE_DATE,
aia.INVOICE_NUM,
aia.DOC_SEQUENCE_VALUE vno,
aca.CHECK_NUMBER,
aia.INVOICE_CURRENCY_CODE,
aia.INVOICE_AMOUNT,
ap_prepay_utils_pkg.get_prepaid_amount(aia.invoice_id)prepaid_amount,
aia.GL_DATE,
aca.EXCHANGE_DATE payment_rate_date,
aca.EXCHANGE_RATE,
aca.EXCHANGE_RATE_TYPE,
aia.DESCRIPTION
from 
ap_invoices_all aia,
po_vendors pv,
po_vendor_sites_all pvsa,
ap_lookup_codes alc1,
ap_checks_all aca,
ap_invoice_payments_all aipa 
where
pv.VENDOR_ID=aia.VENDOR_ID
and
pvsa.VENDOR_ID=pv.VENDOR_ID
and
aca.CHECK_ID(+)=aipa.CHECK_ID
and
aipa.INVOICE_ID(+)=aia.INVOICE_ID
and
aia.VENDOR_SITE_ID=pvsa.VENDOR_SITE_ID
and
ap_invoices_pkg.get_posting_status (aia.invoice_id)='Y'
and
aia.GL_DATE between &From_date and
&To_date
and
to_number(pv.SEGMENT1) between nvl(&Vendor_From,pv.SEGMENT1) and nvl(&Vendor_To,pv.SEGMENT1)
and
ap_invoices_pkg.get_approval_status
                    
(aia.invoice_id,
                     
aia.invoice_amount,
                     
aia.payment_status_flag,
                     
aia.invoice_type_lookup_code
                    
)<>'CANCELLED'
and
aia.INVOICE_TYPE_LOOKUP_CODE in ('PREPAYMENT')
and
aia.payment_status_flag='Y'
and
aca.STATUS_LOOKUP_CODE(+) <> 'VOIDED'
)
union all
(
select distinct 
pv.VENDOR_NAME,
pvsa.VENDOR_SITE_CODE,
pv.SEGMENT1 vendor_number,
aia.INVOICE_TYPE_LOOKUP_CODE invoice_type,
aia.INVOICE_DATE,
aia.INVOICE_NUM,
aia.DOC_SEQUENCE_VALUE vno,
aca.CHECK_NUMBER,
aia.INVOICE_CURRENCY_CODE,
aia.INVOICE_AMOUNT,
ap_prepay_utils_pkg.get_prepaid_amount(aia.invoice_id)prepaid_amount,
aia.GL_DATE,
aca.EXCHANGE_DATE payment_rate_date,
aca.EXCHANGE_RATE,
aca.EXCHANGE_RATE_TYPE,
aia.DESCRIPTION
from 
ap_invoices_all aia,
po_vendors pv,
po_vendor_sites_all pvsa,
ap_checks_all aca,
ap_invoice_payments_all aipa
where
aia.VENDOR_ID=pv.VENDOR_ID
and
pvsa.VENDOR_ID=pv.VENDOR_ID
and
aipa.CHECK_ID=aca.CHECK_ID(+)
and
aipa.INVOICE_ID(+)=aia.INVOICE_ID
and
aia.VENDOR_SITE_ID=pvsa.VENDOR_SITE_ID
and
ap_invoices_pkg.get_posting_status (aia.invoice_id)='Y'
and
aia.GL_DATE between &From_date and
&To_date
and
to_number(pv.SEGMENT1) between nvl(&Vendor_From,pv.SEGMENT1) and nvl(&Vendor_To,pv.SEGMENT1)
and
ap_invoices_pkg.get_approval_status
                    
(aia.invoice_id,
                     
aia.invoice_amount,
                     
aia.payment_status_flag,
                     
aia.invoice_type_lookup_code
                    
)<>'CANCELLED'
and
aia.INVOICE_TYPE_LOOKUP_CODE in ('STANDARD')
and
aia.payment_status_flag in ('Y','P')
and
aca.STATUS_LOOKUP_CODE(+) <> 'VOIDED'
and
ap_prepay_utils_pkg.get_prepayments_applied_flag (aia.invoice_id) ='Y'
and
aia.ORG_ID=302
and
aia.SET_OF_BOOKS_ID=1003
and
nvl(aipa.REVERSAL_FLAG,'null')<>'Y'
)
)a
order by a.invoice_type,a.gl_date,a.invoice_date
--Payable Journal Voucher
select  
 ab.batch_name,
     -- xAL.AE_LINE_NUM,
     -- xal.reference3,
      
API.INVOICE_ID,
      
xal.description des,
       api.created_by,
      
api.invoice_currency_code,
      -- xal.reference2 ,
      
xah.period_name,
      
substr(api.invoice_type_lookup_code,1,3)||' -
'||api.doc_sequence_value
jv_no,
      
substr(api.invoice_type_lookup_code,1,3)||' -
'||api.doc_sequence_value||' 
-'  jv,
       ' '||api.invoice_num inv_num,
      
api.invoice_date,
      
api.doc_sequence_value,
      
xal.ae_line_num,
      
round(xal.entered_dr,0) entered_dr,
      
round(xal.entered_cr,0) entered_cr,
      'AP' MODULE,
      
initcap(asupp.vendor_name) supplier, 
       'Jun-20'||substr(xah.period_name,-2,2) acct_year,
      
xal.description,
      
xah.accounting_date, 
       cc.segment1
Company,
       cc.segment2
Busincess,
       cc.segment3
Cost_center,
       cc.segment4 Departement,
       cc.segment5
Natural_acc,
       cc.segment6
Product,
       cc.segment7
Customer,
       cc.segment8
Spare1,
       cc.segment9
Spare2,
      --
W_DEV_PKG.GET_COMPANY_DESC(CC.CODE_COMBINATION_ID)||'-'||W_DEV_PKG.GET_BUSINESS_DESC(CC.CODE_COMBINATION_ID)||'-'|
      ' '||
W_DEV_PKG.GET_COST_CENTER_DESC(CC.CODE_COMBINATION_ID)||'-'||
      
W_DEV_PKG.GET_NATURAL_DESC(CC.CODE_COMBINATION_ID)||'-'||W_DEV_PKG.GET_Product_DESC(CC.CODE_COMBINATION_ID)||'-'||W_DEV_PKG.GET_CUSTOMER_DESC(CC.CODE_COMBINATION_ID)
      
fLEXdESCRIPTION
from
       --(select
aid.accounting_event_id,aid.invoice_id from ap_invoice_distributions_all
aid  group by
aid.accounting_event_id,aid.invoice_id ) p,
    ap_batches_all
ab,
    ap_invoices_all
api,
--   
ap_invoice_distributions_all aida,
xla.xla_transaction_entities xte
   -- ap_ae_headers_all aeh,
  -- 
ap_ae_lines_all ael,
    ,xla_ae_headers
xah ,
    xla_ae_lines xal
,
   
gl_code_combinations cc ,
    ap_suppliers
asupp
where
xte.SOURCE_ID_INT_1= api.invoice_id 
AND
xah.AE_HEADER_ID = xal.AE_HEADER_ID
AND
xte.ENTITY_ID=   xah.ENTITY_ID 
and
api.set_of_books_id=1003
and
api.org_id=302
and
xah.JE_CATEGORY_NAME = 'Purchase
Invoices'
and
api.batch_id=ab.batch_id
and
cc.code_combination_id=xal.CODE_COMBINATION_ID    
and
TRUNC(xah.accounting_date) between
NVL(&p_from_date,xah.accounting_date) and
NVL(&p_to_date,xah.accounting_date)
and
asupp.vendor_id = api.vendor_id
and
asupp.vendor_name = NVL(&Sup_name,asupp.vendor_name)
and
ab.batch_name=NVL(&p_batch,ab.batch_name)
and  ( nvl(api.doc_sequence_value,-9999) between nvl(&from_voucher,-9999) and nvl(&To_voucher,-9999) 
       or api.doc_sequence_value between
nvl(&from_voucher,api.doc_sequence_value) and
nvl(&To_voucher,api.doc_sequence_value)
     )
--and 
api.invoice_num =nvl(&invoice_number,api.invoice_num)
--and
xah.period_name=nvl(&accounting_period,xah.period_name)
--and
api.INVOICE_TYPE_LOOKUP_CODE=nvl(&invoice_type,api.INVOICE_TYPE_LOOKUP_CODE)
--and api.created_by=nvl(&created_by,api.created_by)
AND
xah.BALANCE_TYPE_CODE = 'A'
--Invoice Distribution  Journal Entries 
select  distinct 
               
ab.batch_name,
                -- AEL.AE_LINE_NUMBER
AEL.ae_LINE_NUM,
                
AEH.ACCOUNTING_DATE,
--                 substr(api.invoice_type_lookup_code,1,3)||'
- '||api.doc_sequence_value jv_no,
                
substr(api.invoice_type_lookup_code,1,3)||' -
'||api.invoice_num jv_no,
                
cc.segment3||'.'||cc.segment4||'.'||cc.segment5  AC_NO,
                 
W_DEV_PKG.GET_COST_CENTER_DESC(CC.CODE_COMBINATION_ID)||'-'||
                      
W_DEV_PKG.GET_NATURAL_DESC(CC.CODE_COMBINATION_ID)||'-'||
                      
W_DEV_PKG.GET_Product_DESC(CC.CODE_COMBINATION_ID)  AC_Head,
                 ael.description Particular,  
                
round(ael.entered_dr,0) entered_dr,
                
round(ael.entered_cr,0) entered_cr,  
                
u.user_name
from
    ap_batches_all
ab,
    ap_invoices_all
api,
    ap_invoice_distributions_all
aid,
    xla_ae_headers
aeh,
    xla_ae_lines
ael,
    --ap_ae_headers_all aeh,
    --ap_ae_lines_all ael,
   
gl_code_combinations cc,
    fnd_user u
where
api.invoice_id=aid.invoice_id
--and  
aid.accounting_event_id=aeh.accounting_event_id
--and  
aid.accounting_event_id=aeh.accounting_event_id
and   aid.accounting_event_id=aeh.event_id
and
api.set_of_books_id=1003
and
api.org_id=302
and   aeh.ae_header_id=ael.ae_header_id
and
api.batch_id=ab.batch_id
and
cc.code_combination_id=ael.code_combination_id     
and
u.user_id=api.created_by
--and API.GL_DATE ='07-JUN-06'
--and aeh.accounting_date='07-JUN-06'
and
aeh.accounting_date between NVL(&from_date,aeh.accounting_date) and NVL(&To_date,aeh.accounting_date)
--and api.created_by=nvl(:created_by1,api.created_by)
and
u.user_name =nvl(&uname,u.user_name)
and
api.INVOICE_TYPE_LOOKUP_CODE=nvl(&invoice_type,api.INVOICE_TYPE_LOOKUP_CODE)
--and aeh.ae_category='Purchase Invoices'
and
aeh.JE_CATEGORY_NAME='Purchase
Invoices'
--Payables Banks Payment Voucher
select  distinct
       
nvl(aps.amount_remaining,0) remaining,
      
initcap(apc.status_lookup_code) p_status,
       
apc.doc_sequence_value,
       
ai.validated_tax_amount,
      'Jun-20'||substr(aip.period_name,-2,2) acct_year,
      ai.invoice_id
invoice_id,
      
apc.checkrun_name,
       ' '||ai.invoice_num 
invoice_num,
      
round(ai.invoice_amount,0) inv_amnt,
     
aip.period_name,
     
aip.accounting_date, 
     
aip.creation_date,
     
aip.last_update_date,
      'AP' Module,
     
initcap(brnch.BANK_NAME) BANK_NAME,
     
bnk.bank_account_id,
     
bnk.BANK_BRANCH_ID,
     
bnk.bank_account_NAME bnk_ac_num,
     
apc.created_by,
     
apc.CHECK_NUMBER,
     
to_date(apc.CHECK_DATE,'dd-Mon-RRRR') check_date,
     
substr(apc.VENDOR_NAME,1,45)||'-'||initcap(apc.vendor_site_code) vendor_name,
              (CASE when apc.status_lookup_code='VOIDED' and aip.reversal_inv_pmt_id is not null then (-1)*round(apc.amount,0) else 
round(apc.amount,0) end ) chk_amnt,
    
apc.CURRENCY_CODE  curr_code                
from 
       ap_checks_all
apc,
      
ap_batches_all ab,
      
ap_invoice_payments_all aip,
       po_vendors
pov,
    -- 
ap_bank_accounts_all aba,
    -- 
ap_bank_branches     abb,
        CEFV_BANK_BRANCHES
BRNCH,
       
CE_BANK_ACCOUNTS BNK,
       
CE_BANK_ACCT_USES_ALL SITE,
       
ap_invoices_all ai,
       
ap_payment_schedules_all aps
where    aip.check_id=apc.check_id
--and ai.set_of_books_id=aip.set_of_books_id
--and aip.set_of_books_id=aba.set_of_books_id
--and    
aba.BANK_BRANCH_ID = abb.BANK_BRANCH_ID
--AND    
APC.BANK_ACCOUNT_ID=ABA.BANK_ACCOUNT_ID
--AND    
APC.CE_BANK_ACCT_USE_ID=ABA.BANK_ACCOUNT_ID
and
brnch.BANK_BRANCH_ID=bnk.BANK_BRANCH_ID
and
bnk.BANK_ACCOUNT_ID=site.BANK_ACCOUNT_ID
and
apc.CE_BANK_ACCT_USE_ID=site.BANK_ACCT_USE_ID
AND      apc.vendor_id=pov.vendor_id
and     aip.invoice_id=ai.invoice_id
and     ai.batch_id=ab.batch_id
and     AIP.POSTED_FLAG='Y'
and
aip.set_of_books_id=1003
and
aip.org_id=302
and     ai.invoice_id = aps.invoice_id
and
aip.accounting_date between NVL(&from_date,aip.accounting_date) and NVL(&To_date,aip.accounting_date)
and
apc.vendor_name=NVL(&Sup_name,apc.vendor_name)
and
ab.batch_name=NVL(&p_batch,ab.batch_name)
and  ( nvl(apc.doc_sequence_value,-9999) between nvl(&from_voucher,-9999) and nvl(&To_voucher,-9999) 
             or apc.doc_sequence_value between
nvl(&from_voucher,apc.doc_sequence_value) and
nvl(&To_voucher,apc.doc_sequence_value)
     )
--and 
NVL(apc.payment_method_lookup_code,'~')=  
NVL(nvl(&payment_method,apc.payment_method_lookup_code),'~')
and
aip.period_name=nvl(&accounting_period,aip.period_name)
--and
bnk.bank_account_name=nvl(&bank_account,bnk.BANK_ACCOUNT_NAME)
and  apc.created_by=nvl(&created_by,apc.created_by)-- 64390
--Expenses
---q1
select
t.description,t.week_end_date,
       
substr(T.description,instr(T.description,'-')+1) empname,
       
substr(t.description,1,instr(T.DESCRIPTION,'-')-1) empno,
        (select distinct pxa.segment2 
                                    from 
                                          
PAY_EXTERNAL_ACCOUNTS PXA,
                                          
PAY_PERSONAL_PAYMENT_METHODS_F PPPM,
                                          
PAY_ORG_PAYMENT_METHODS_F OPM,
                                          
per_all_assignments_f f
                                    where
                                           pppm.assignment_id=f.assignment_id
                                           and 
pppm.external_account_id=pxa.external_account_id(+)
                                           and opm.ORG_PAYMENT_METHOD_ID(+) = pppm.ORG_PAYMENT_METHOD_ID
                                           and f.assignment_number=rtrim(substr (T.description,1,instr(T.description,'-')-1))
                                           and pxa.segment1 is not null 
                                           and pppm.effective_end_date='31-dec-4712'
                                           )
Accounts,
       
l.item_description,
        GCC.SEGMENT4
DEPTNO,      
       
W_DEV_PKG.GET_NATURAL_DESC(L.CODE_COMBINATION_ID) DEPT_DESC,
       
t.invoice_num,t.total Paid_amnt,
        (select apc.check_number from
ap_checks_all apc,
                     
ap_invoice_payments_v  v
                 where apc.check_id=v.CHECK_ID
                 and v.INVOICE_NUM=t.invoice_num
                 and v.SET_OF_BOOKS_ID=1003
                 and apc.status_lookup_code<>'VOIDED'
                 and apc.vendor_name='Claims, Expense')
check_no
from 
    
ap_expense_report_headers_all t,
    
ap_expense_report_lines_all   l,
    
GL_CODE_COMBINATIONS GCC,
ap_exp_report_dists_all a     
where 
         
t.week_end_date between nvl(:From_Date,t.week_end_date)  and
nvl(:To_Date,t.week_end_date)      
--t.week_end_date between '1-apr-07' and '19-apr-07'
and
t.report_header_id=l.report_header_id
AND
a.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
and
a.REPORT_LINE_ID=l.REPORT_LINE_ID
-----and
TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)) =
TRIM(nvl(:emp_no,substr(t.description,1,instr(T.DESCRIPTION,'-')-1)))
---added nvl to return data in case of null
and
nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~') = TRIM(nvl(:emp_no,nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~')))
and
gcc.segment4=nvl(:dept,gcc.segment4)
and
l.amount <> 0
--Q2
select         accounts,
              sum(paid_amnt)
from 
     (
                                        select 
                                               
(select distinct substr( pxa.segment2,1,4) 
                                                                           
from 
                                                                                  
PAY_EXTERNAL_ACCOUNTS PXA,
                                                               
                   PAY_PERSONAL_PAYMENT_METHODS_F
PPPM,
                                                                                  
PAY_ORG_PAYMENT_METHODS_F OPM,
                                                                                  
per_all_assignments_f f
                                                                           
where
                                                                           
       pppm.assignment_id=f.assignment_id
                                                                                  
and 
pppm.external_account_id=pxa.external_account_id(+)
                                                                         
         and
opm.ORG_PAYMENT_METHOD_ID(+) = pppm.ORG_PAYMENT_METHOD_ID
                                                                                  
and f.assignment_number=rtrim(substr (T.description,1,instr(T.description,'-')-1))
                                                                                   and pxa.segment1 is not null 
                                                                                  
and pppm.effective_end_date='31-dec-4712'
                                                                                   )
Accounts,
                                                                                  
t.total Paid_amnt,l.item_description exp_desc,
                                                                   
               W_DEV_PKG.GET_NATURAL_DESC(L.CODE_COMBINATION_ID)
DEPT_DESC
                                        from 
                                            
ap_expense_report_headers_all t,
                                            
ap_expense_report_lines_all   l,
                                            
GL_CODE_COMBINATIONS GCC,
                                          
ap_exp_report_dists_all a
                                        where 
                                                
t.week_end_date between nvl(:From_Date,t.week_end_date)  and
nvl(:To_Date,t.week_end_date)      
                                       and t.report_header_id=l.report_header_id
                                        AND a.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
                                        and a.REPORT_LINE_ID=l.REPORT_LINE_ID
                                        --t.week_end_date between '1-apr-07' and
'19-apr-07'
                                        --and
t.report_header_id=l.report_header_id
                                       -- AND L.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
                                        ----and
TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)) =
TRIM(nvl(:emp_no,substr(t.description,1,instr(T.DESCRIPTION,'-')-1)))
                                        ---added nvl to return data in case of
null
                                        and nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~') = TRIM(nvl(:emp_no,nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~')))
                                        and gcc.segment4=nvl(:dept,gcc.segment4)
                                        and l.amount <> 0
        )
            group by accounts
--Q3
select       
            
exp_desc,
              sum(paid_amnt) exp_paid_amnt
from 
     (
                                        select 
                                               
(select distinct substr( pxa.segment2,1,4) 
                                                                           
from 
                                                                                  
PAY_EXTERNAL_ACCOUNTS PXA,
                                                            
                      PAY_PERSONAL_PAYMENT_METHODS_F
PPPM,
                                                                                  
PAY_ORG_PAYMENT_METHODS_F OPM,
                                                                                  
per_all_assignments_f f
                                                                           
where
                                                                        
          pppm.assignment_id=f.assignment_id
                                                                                  
and 
pppm.external_account_id=pxa.external_account_id(+)
                                                                      
            and opm.ORG_PAYMENT_METHOD_ID(+) = pppm.ORG_PAYMENT_METHOD_ID
                                                                                  
and f.assignment_number=rtrim(substr (T.description,1,instr(T.description,'-')-1))
                                                                                   and pxa.segment1 is not null 
                                                                                  
and pppm.effective_end_date='31-dec-4712'
                                                                                  
) Accounts,
                                                                                  
t.total Paid_amnt,l.item_description exp_desc,
                                                                                   W_DEV_PKG.GET_NATURAL_DESC(L.CODE_COMBINATION_ID)
DEPT_DESC
                                        from 
                                            
ap_expense_report_headers_all t,
                                            
ap_expense_report_lines_all   l,
                                            
GL_CODE_COMBINATIONS GCC,
                                               ap_exp_report_dists_all a
                                        where 
                                                
t.week_end_date between nvl(:From_Date,t.week_end_date)  and nvl(:To_Date,t.week_end_date)      
                                        --t.week_end_date between '1-apr-07' and
'19-apr-07'
                                       and t.report_header_id=l.report_header_id
                                        AND a.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
                                        and a.REPORT_LINE_ID=l.REPORT_LINE_ID                                       
 --and
t.report_header_id=l.report_header_id
                                      -- AND L.CODE_COMBINATION_ID=GCC.CODE_COMBINATION_ID
                                        ----and
TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)) =
TRIM(nvl(:emp_no,substr(t.description,1,instr(T.DESCRIPTION,'-')-1)))
                                        ---added nvl to return data in case of
null
                                        and nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~') = TRIM(nvl(:emp_no,nvl(TRIM(substr(t.description,1,instr(T.DESCRIPTION,'-')-1)),'~')))
                                        and gcc.segment4=nvl(:dept,gcc.segment4)
                                        and l.amount <> 0
        )
            group by exp_desc
--Payables Batch Payment Summary
select  distinct
       
apc.check_date,
       
aip.accounting_date,
       
apc.doc_sequence_value,
       
apc.checkrun_name payment_batch,
       
pov.vendor_name,
       
pov.vendor_name_alt,
       
apc.vendor_site_code,
        --ai.invoice_id,
        pov.num_1099
NTN_No,
       
pov.standard_industry_class NIC_No,
       apc.amount,
       
pov.vat_registration_num,
       
ai.validated_tax_amount,
      'Jun-20'||substr(aip.period_name,-2,2) acct_year,
--     
ai.invoice_id invoice_id,
      
ab.batch_name,
      
apc.checkrun_name payment_batch,
  --    
' '||ai.invoice_num  invoice_num,
    --  
round(ai.invoice_amount,0) inv_amnt,
     
aip.period_name,
     
aip.accounting_date, 
      'AP' Module,
     
initcap(brnch.BANK_NAME) BANK_NAME,
     
bnk.bank_account_id,
     
bnk.BANK_BRANCH_ID,
     
bnk.bank_account_NAME bnk_ac_num,
     
vendor_name_alt,
     
apc.created_by,
      apc.CHECK_NUMBER,
       ( select chk.name 
          from ap_check_stocks_all chk 
         where chk.check_stock_id=apc.check_stock_id) Document_Name,
     
to_date(apc.CHECK_DATE,'dd-Mon-RRRR') check_date,
     
substr(apc.VENDOR_NAME,1,45)||'-'||initcap(apc.vendor_site_code) vendor_name,
       --      
(CASE when apc.status_lookup_code='VOIDED' and aip.reversal_inv_pmt_id
is not null then (-1)*round(apc.amount,0) else 
round(apc.amount,0) end ) chk_amnt,
    
apc.CURRENCY_CODE  curr_code                
from 
       ap_checks_all
apc,
      
ap_batches_all ab,
      
ap_invoice_payments_all aip,
       po_vendors
pov,
     -- ap_bank_accounts_all aba,
     -- ap_bank_branches     abb,
    
CEFV_BANK_BRANCHES BRNCH,
CE_BANK_ACCOUNTS BNK,
 CE_BANK_ACCT_USES_ALL SITE,
     
ap_invoices_all ai,
      
ap_payment_schedules_all aps
     -- (select
a.invoice_id,max(a.accounting_event_id) aeid from ap_invoice_payments_all a
group by a.invoice_id ) ae
where      aip.check_id=apc.check_id
--and ai.set_of_books_id=aip.set_of_books_id
and
brnch.BANK_BRANCH_ID=bnk.BANK_BRANCH_ID
and
bnk.BANK_ACCOUNT_ID=site.BANK_ACCOUNT_ID
and
apc.CE_BANK_ACCT_USE_ID=site.BANK_ACCT_USE_ID
--and aip.set_of_books_id=aba.set_of_books_id
--and    
aba.BANK_BRANCH_ID = abb.BANK_BRANCH_ID
--AND    
APC.BANK_ACCOUNT_ID=ABA.BANK_ACCOUNT_ID
--and       
apc.BANK_ACCOUNT_Name = aba.BANK_ACCOUNT_Name 
AND        apc.vendor_id=pov.vendor_id
and     aip.invoice_id=ai.invoice_id
and     ai.batch_id=ab.batch_id
and     AIP.POSTED_FLAG='Y'
and
aip.set_of_books_id=1003
and
aip.org_id=302
and     ai.invoice_id = aps.invoice_id
and
aip.accounting_date between NVL(&from_date,aip.accounting_date) and NVL(&To_date,aip.accounting_date)
and
bnk.bank_account_name=nvl(&bank_account,bnk.bank_account_name)
and
apc.check_number between
nvl(&Doc_number_from,apc.check_number) and
nvl(&Doc_number_to,apc.check_number)
and  ( nvl(apc.checkrun_name,-9999) = nvl(&p_batch,-9999) 
            or apc.checkrun_name= nvl(&p_batch,apc.checkrun_name) 
     )
AND
apc.status_lookup_code<>'VOIDED'
ORDER BY 
TO_NUMBER(apc.CHECK_NUMBER)
--Payable Batch Payments
select  distinct
       
nvl(aps.amount_remaining,0) remaining,
      
initcap(apc.status_lookup_code) p_status,
       
apc.doc_sequence_value,
       
ai.validated_tax_amount,
      'Jun-20'||substr(aip.period_name,-2,2) acct_year,
      ai.invoice_id
invoice_id,
       
apc.checkrun_name,
       ' '||ai.invoice_num 
invoice_num,
      
round(ai.invoice_amount,0) inv_amnt,
     
aip.period_name,
     
aip.accounting_date, 
     
aip.creation_date, 
     
aip.last_update_date,
      'AP' Module,
     
initcap(brnch.BANK_NAME) BANK_NAME,
     
bnk.BANK_ACCOUNT_ID,
     
bnk.BANK_BRANCH_ID,
     
bnk.BANK_ACCOUNT_NAME bnk_ac_num,
     
vendor_name_alt,
     
apc.created_by,
     
apc.CHECK_NUMBER,
       ( select chk.name 
          from ap_check_stocks_all chk 
         where chk.check_stock_id=apc.check_stock_id) Document_Name,
      to_date(apc.CHECK_DATE,'dd-Mon-RRRR') check_date,
     
substr(apc.VENDOR_NAME,1,45)||'-'||initcap(apc.vendor_site_code) vendor_name,
              (CASE when apc.status_lookup_code='VOIDED' and aip.reversal_inv_pmt_id is not null then (-1)*round(apc.amount,0) else 
round(apc.amount,0) end )
chk_amnt,
    
apc.CURRENCY_CODE  curr_code                
from 
       ap_checks_all
apc,
      
ap_batches_all ab,
      
ap_invoice_payments_all aip,
       po_vendors
pov,
     -- ap_bank_accounts_all aba,
     -- ap_bank_branches     abb,
     
ap_invoices_all ai,
      
ap_payment_schedules_all aps,
      
CE_BANK_ACCOUNTS BNK,
        
CE_BANK_ACCT_USES_ALL SITE,
        
CEFV_BANK_BRANCHES BRNCH
where      aip.check_id=apc.check_id
--and ai.set_of_books_id=aip.set_of_books_id
and
BNK.BANK_BRANCH_ID=brnch.BANK_BRANCH_ID
and
bnk.BANK_ACCOUNT_ID=site.BANK_ACCOUNT_ID
and
apc.CE_BANK_ACCT_USE_ID=site.BANK_ACCT_USE_ID
--and aip.set_of_books_id=aba.set_of_books_id
--and    
aba.BANK_BRANCH_ID = abb.BANK_BRANCH_ID
--AND     APC.BANK_ACCOUNT_ID=ABA.BANK_ACCOUNT_ID
AND        apc.vendor_id=pov.vendor_id
and     aip.invoice_id=ai.invoice_id
and     ai.batch_id=ab.batch_id
and     AIP.POSTED_FLAG='Y'
and
aip.set_of_books_id=1003
and
aip.org_id=302
and     ai.invoice_id = aps.invoice_id
and
aip.accounting_date between NVL(&from_date,aip.accounting_date) and NVL(&To_date,aip.accounting_date)
--and  (
nvl(apc.checkrun_name,-9999) = nvl(&p_batch,-9999) 
    --       
or apc.checkrun_name= nvl(&p_batch,apc.checkrun_name) 
  --  
)
--and   
pov.vendor_name_alt=nvl(&sup_name,pov.vendor_name_alt)
--and
bnk.bank_account_name=nvl(&bank_account,bnk.bank_account_name)
--and 
apc.check_stock_id=nvl(:PDocument_Name ,apc.check_stock_id)
--and apc.check_number between
nvl(&Doc_number_from,apc.check_number) and
nvl(&Doc_number_to,apc.check_number)
--and 
apc.created_by=nvl(&created_by,apc.created_by)
--and  (
nvl(apc.doc_sequence_value,-9999) between nvl(&from_voucher,-9999) and
nvl(&To_voucher,-9999) 
  ---          or apc.doc_sequence_value between
nvl(&from_voucher,apc.doc_sequence_value) and
nvl(&To_voucher,apc.doc_sequence_value)
     --)
Subscribe to:
Comments (Atom)

