AR customer transactions or opening balance query

Q1 for ar customer transaction lines 


SELECT 

distinct

hca.account_number client_number,

hp.party_name client_name,

rctt.name TRX_TYPE1,

rct.trx_number trx_number,

rct.PURCHASE_ORDER,

TO_CHAR(rct.creation_date,'DD-MON-YY') TRX_DATE,

TO_CHAR(rctg.gl_date,'DD-MON-YY') GL_DATE,

apsa.TAX_REMAINING VAT_AMOUNT,

ROUND(NVL(XAL.ACCOUNTED_DR,0),2) DEBIT,

ROUND(NVL(ACCOUNTED_CR,0),2)   CREDIT ,

ROUND((NVL(XAL.ACCOUNTED_DR,0)),2) -

ROUND((NVL(ACCOUNTED_CR,0)),2) balance,

xal.CURRENCY_CODE CURRENCY,

rtt.name payment_term,

TO_CHAR(apsa.due_date,'DD-MON-YY') DUE_DATE,

xal.description DESCRIPTION

FROM 

XLA.XLA_AE_LINES  XAL,

XLA.XLA_AE_HEADERS XAH,

XLA.XLA_TRANSACTION_ENTITIES XTE,

ra_customer_trx_all rct,

ra_customer_trx_lines_all rcl,

RA_CUST_TRX_LINE_GL_DIST_ALL rctg,

ra_cust_trx_types_all rctt,

ra_terms_tl rtt,

ar_payment_schedules_all apsa,

hz_cust_accounts hca,

hz_parties hp

WHERE 1=1

and rct.customer_trx_id = rcl.customer_trx_id

and rct.CUST_TRX_TYPE_ID = rctt.CUST_TRX_TYPE_ID

and rcl.customer_trx_line_id = rctg.customer_trx_line_id

and hp.PARTY_ID = hca.PARTY_ID

and rct.bill_to_customer_id = hca.cust_account_id

and rct.customer_trx_id = apsa.customer_trx_id

AND XTE.SOURCE_ID_INT_1(+)=rct.customer_trx_id

and rct.TERM_ID = rtt.TERM_ID

AND XAH.AE_HEADER_ID = XAL.AE_HEADER_ID

AND XAH.APPLICATION_ID = XAL.APPLICATION_ID

AND XAL.APPLICATION_ID = XTE.APPLICATION_ID

AND XAH.ENTITY_ID = XTE.ENTITY_ID

AND rctg.GL_DATE BETWEEN (

        SELECT

            MIN(A.START_DATE)

        FROM

            GL_PERIODS A

        WHERE

            A.PERIOD_NAME = NVL(:P_FROM_DATE, A.PERIOD_NAME)

    )

    AND

    (SELECT

            MAX(A.END_DATE)

        FROM

            GL_PERIODS A

        WHERE

            A.PERIOD_NAME = NVL(:P_TO_DATE, A.PERIOD_NAME)

    )

AND (XTE.ENTITY_CODE ='TRANSACTIONS')

and hca.account_number between nvl(:P_NUM_FROM,hca.account_number) and nvl(:P_NUM_TO,hca.account_number)

and rct.org_id = nvl(:P_ORG_ID,rct.org_id)


Q2 for opeining balance and details


with a as(

select

ROUND(SUM(NVL(XAL.ACCOUNTED_DR,0)),2) -

ROUND(SUM(NVL(ACCOUNTED_CR,0)),2)   OPENING_BALANCE

FROM 

XLA.XLA_AE_LINES  XAL,

XLA.XLA_AE_HEADERS XAH,

XLA.XLA_TRANSACTION_ENTITIES XTE,

ra_customer_trx_all rct,

ra_customer_trx_lines_all rcl,

RA_CUST_TRX_LINE_GL_DIST_ALL rctg,

ra_cust_trx_types_all rctt,

ra_terms_tl rtt,

ar_payment_schedules_all apsa,

hz_cust_accounts hca,

hz_parties hp

WHERE 1=1

and rct.customer_trx_id = rcl.customer_trx_id

and rct.CUST_TRX_TYPE_ID = rctt.CUST_TRX_TYPE_ID

and rcl.customer_trx_line_id = rctg.customer_trx_line_id

and hp.PARTY_ID = hca.PARTY_ID

and rct.bill_to_customer_id = hca.cust_account_id

and rct.customer_trx_id = apsa.customer_trx_id

AND XTE.SOURCE_ID_INT_1(+)=rct.customer_trx_id

and rct.TERM_ID = rtt.TERM_ID

AND XAH.AE_HEADER_ID = XAL.AE_HEADER_ID

AND XAH.APPLICATION_ID = XAL.APPLICATION_ID

AND XAL.APPLICATION_ID = XTE.APPLICATION_ID

AND XAH.ENTITY_ID = XTE.ENTITY_ID

AND rctg.GL_DATE <= (

        SELECT

            MIN(A.START_DATE)

        FROM

            GL_PERIODS A

        WHERE

            A.PERIOD_NAME = NVL(:P_FROM_DATE, A.PERIOD_NAME)

    )  

AND (XTE.ENTITY_CODE ='TRANSACTIONS')

and hca.account_number between nvl(:P_NUM_FROM,hca.account_number) and nvl(:P_NUM_TO,hca.account_number)

and rct.org_id = nvl(:P_ORG_ID,rct.org_id)

order by XAL.creation_date),

b as (select sum(INVOICE_AMOUNT) INVOICE_AMOUNT,sum(PAID_AMOUNT) PAID_AMOUNT,sum(INVOICE_AMOUNT-PAID_AMOUNT) DUE_AMOUNT from (

SELECT

max(inv.inv_Amt ) INVOICE_AMOUNT,

max(XAL.ACCOUNTED_DR) PAID_AMOUNT

FROM 

XLA.XLA_AE_LINES  XAL,

XLA.XLA_AE_HEADERS XAH,

XLA.XLA_TRANSACTION_ENTITIES XTE,

ra_customer_trx_all rct,

ra_customer_trx_lines_all rcl,

RA_CUST_TRX_LINE_GL_DIST_ALL rctg,

ra_cust_trx_types_all rctt,

ra_terms_tl rtt,

ar_payment_schedules_all apsa,

hz_cust_accounts hca,

hz_parties hp,

(select sum(extended_amount) inv_Amt , a.customer_trx_id

        from apps.ra_customer_trx_lines_all b ,apps.ra_customer_trx_all a where 1=1

                and a.customer_trx_id = b.customer_trx_id

                group by a.customer_trx_id

                  ) inv

WHERE 1=1

and inv.customer_trx_id = rct.customer_trx_id

and rct.customer_trx_id = rcl.customer_trx_id

and rct.CUST_TRX_TYPE_ID = rctt.CUST_TRX_TYPE_ID

and rcl.customer_trx_line_id = rctg.customer_trx_line_id

and hp.PARTY_ID = hca.PARTY_ID

and rct.bill_to_customer_id = hca.cust_account_id

and rct.customer_trx_id = apsa.customer_trx_id

AND XTE.SOURCE_ID_INT_1(+)=rct.customer_trx_id

and rct.TERM_ID = rtt.TERM_ID

AND XAH.AE_HEADER_ID = XAL.AE_HEADER_ID

AND XAH.APPLICATION_ID = XAL.APPLICATION_ID

AND XAL.APPLICATION_ID = XTE.APPLICATION_ID

AND XAH.ENTITY_ID = XTE.ENTITY_ID

AND rctg.GL_DATE BETWEEN (

        SELECT

            MIN(A.START_DATE)

        FROM

            GL_PERIODS A

        WHERE

            A.PERIOD_NAME = NVL(:P_FROM_DATE, A.PERIOD_NAME)

    )

    AND

    (SELECT

            MAX(A.END_DATE)

        FROM

            GL_PERIODS A

        WHERE

            A.PERIOD_NAME = NVL(:P_TO_DATE, A.PERIOD_NAME)

    )

AND (XTE.ENTITY_CODE ='TRANSACTIONS')

and hca.account_number between nvl(:P_NUM_FROM,hca.account_number) and nvl(:P_NUM_TO,hca.account_number)

and rct.org_id = nvl(:P_ORG_ID,rct.org_id)

group by rct.customer_trx_id)

)

select OPENING_BALANCE,INVOICE_AMOUNT,PAID_AMOUNT,DUE_AMOUNT from a,b



Comments

Popular posts from this blog

opaque schema xsd (standard file used in OIC)

DOCUMENTATION ON SANDBOX and PERSONALIZATION

API SOAP to update AR DFF (oracle fusion) includes debit memo