Wednesday, 27 September 2017

Trial Balance Query - Oracle EBS R12

https://generalledger-gl.blogspot.com/2017/09/trial-balance-query-std.html

PLSQL Query to Get Trial Balance

select

 cc.SEGMENT4 ACCOUNTS,

 decode(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                 
                   'S',
                   NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                         
                          NVL(BEGIN_BALANCE_DR_BEQ, 0) -
                          NVL(BEGIN_BALANCE_CR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                   'T',
                   0,
                 
                   'S',
                   0,
                 
                   'E',
                   0)),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &FIRST_PERIOD,
                         
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                          0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &FIRST_PERIOD,
                         
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                          0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &FIRST_PERIOD,
                               
                                 NVL(BEGIN_BALANCE_DR, 0) -
                                 NVL(BEGIN_BALANCE_CR, 0),
                                 0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &FIRST_PERIOD,
                               
                                 NVL(BEGIN_BALANCE_DR_BEQ, 0) -
                                 NVL(BEGIN_BALANCE_CR_BEQ, 0),
                                 0)))))

 BEGIN_BALANCE,

 DECODE(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PERIOD_NET_DR, 0),
                 
                   'S',
                   NVL(PERIOD_NET_DR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PERIOD_NET_DR, 0),
                         
                          NVL(PERIOD_NET_DR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                 
                   'S',
                   NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                         
                          NVL(PROJECT_TO_DATE_DR_BEQ, 0) +
                          NVL(PERIOD_NET_DR_BEQ, 0)))),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_DR, 0),
                            0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_DR, 0),
                            0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_DR, 0) +
                                 NVL(PERIOD_NET_DR, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_DR, 0),
                                   0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_DR_BEQ, 0) +
                                 NVL(PERIOD_NET_DR_BEQ, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_DR_BEQ, 0),
                                   0)))))

 PERIOD_DR,

 DECODE(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PERIOD_NET_CR, 0),
                 
                   'S',
                   NVL(PERIOD_NET_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PERIOD_NET_CR, 0),
                         
                          NVL(PERIOD_NET_CR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                 
                   'S',
                   NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                         
                          NVL(PROJECT_TO_DATE_CR_BEQ, 0) +
                          NVL(PERIOD_NET_CR_BEQ, 0)))),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_CR, 0),
                            0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_CR, 0),
                            0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_CR, 0) +
                                 NVL(PERIOD_NET_CR, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_CR, 0),
                                   0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_CR_BEQ, 0) +
                                 NVL(PERIOD_NET_CR_BEQ, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_CR_BEQ, 0),
                                   0)))))

 PERIOD_CR

,

 decode(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                 
                   'S',
                   NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                         
                          NVL(BEGIN_BALANCE_DR_BEQ, 0) -
                          NVL(BEGIN_BALANCE_CR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                   'T',
                   0,
                 
                   'S',
                   0,
                 
                   'E',
                   0)),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &FIRST_PERIOD,
                         
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                          0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &FIRST_PERIOD,
                         
                          NVL(BEGIN_BALANCE_DR, 0) - NVL(BEGIN_BALANCE_CR, 0),
                          0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &FIRST_PERIOD,
                               
                                 NVL(BEGIN_BALANCE_DR, 0) -
                                 NVL(BEGIN_BALANCE_CR, 0),
                                 0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &FIRST_PERIOD,
                               
                                 NVL(BEGIN_BALANCE_DR_BEQ, 0) -
                                 NVL(BEGIN_BALANCE_CR_BEQ, 0),
                                 0)))))

 +

 DECODE(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PERIOD_NET_DR, 0),
                 
                   'S',
                   NVL(PERIOD_NET_DR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PERIOD_NET_DR, 0),
                         
                          NVL(PERIOD_NET_DR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                 
                   'S',
                   NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PROJECT_TO_DATE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                         
                          NVL(PROJECT_TO_DATE_DR_BEQ, 0) +
                          NVL(PERIOD_NET_DR_BEQ, 0)))),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_DR, 0),
                            0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_DR, 0) + NVL(PERIOD_NET_DR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_DR, 0),
                            0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_DR, 0) +
                                 NVL(PERIOD_NET_DR, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_DR, 0),
                                   0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_DR_BEQ, 0) +
                                 NVL(PERIOD_NET_DR_BEQ, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_DR_BEQ, 0),
                                   0)))))

 -

 DECODE(&AMOUNT_YPE,
        'PTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PERIOD_NET_CR, 0),
                 
                   'S',
                   NVL(PERIOD_NET_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PERIOD_NET_CR, 0),
                         
                          NVL(PERIOD_NET_CR_BEQ, 0)))),
       
        'PJTD',
        SUM(DECODE(&CURRENCY_TYPE,
                 
                   'T',
                   NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                 
                   'S',
                   NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                 
                   'E',
                   DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          NVL(PROJECT_TO_DATE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                         
                          NVL(PROJECT_TO_DATE_CR_BEQ, 0) +
                          NVL(PERIOD_NET_CR_BEQ, 0)))),
       
        'YTD',
        DECODE(&CURRENCY_TYPE,
             
               'T',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_CR, 0),
                            0)),
             
               'S',
               SUM(DECODE(BAL.PERIOD_NAME,
                          &PERIOD_NAME,
                         
                          NVL(BEGIN_BALANCE_CR, 0) + NVL(PERIOD_NET_CR, 0),
                          0)
                 
                   - DECODE(BAL.PERIOD_NAME,
                            &FIRST_PERIOD,
                            NVL(BEGIN_BALANCE_CR, 0),
                            0)),
             
               'E',
               SUM(DECODE(BAL.TRANSLATED_FLAG,
                         
                          'R',
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_CR, 0) +
                                 NVL(PERIOD_NET_CR, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_CR, 0),
                                   0),
                         
                          DECODE(BAL.PERIOD_NAME,
                                 &PERIOD_NAME,
                               
                                 NVL(BEGIN_BALANCE_CR_BEQ, 0) +
                                 NVL(PERIOD_NET_CR_BEQ, 0),
                                 0)
                         
                          - DECODE(BAL.PERIOD_NAME,
                                   &FIRST_PERIOD,
                                 
                                   NVL(BEGIN_BALANCE_CR_BEQ, 0),
                                   0)))))

 ENDING_BALANCE

  FROM GL_BALANCES BAL,
     
       GL_CODE_COMBINATIONS CC,
     
       GL_LEDGERS L,
     
       GL_LEDGER_SET_ASSIGNMENTS ASG,
     
       GL_LEDGER_RELATIONSHIPS LR

 WHERE

 BAL.ACTUAL_FLAG = 'A'

 AND BAL.CURRENCY_CODE = &ENTERED_CURRENCY

 AND BAL.PERIOD_NAME IN (&PERIOD_NAME,
                   
                     DECODE(&AMOUNT_YPE,
                            'PTD',
                            &PERIOD_NAME,
                           
                            'PJTD',
                            &PERIOD_NAME,
                           
                            'YTD',
                            &FIRST_PERIOD))

 AND BAL.CODE_COMBINATION_ID = CC.CODE_COMBINATION_ID

-- AND CC.CHART_OF_ACCOUNTS_ID = &STRUCT_NUM

 AND CC.TEMPLATE_ID IS NULL

 AND CC.SUMMARY_FLAG = 'N'

 AND L.LEDGER_ID = &LEDGER_ID

 AND ASG.LEDGER_SET_ID(+) = L.LEDGER_ID

 AND LR.TARGET_LEDGER_ID = NVL(ASG.LEDGER_ID, L.LEDGER_ID)

 AND LR.SOURCE_LEDGER_ID = NVL(ASG.LEDGER_ID, L.LEDGER_ID)

 AND LR.TARGET_CURRENCY_CODE = &LEDGER_CURRENCY

 AND LR.SOURCE_LEDGER_ID = BAL.LEDGER_ID

 AND LR.TARGET_LEDGER_ID = BAL.LEDGER_ID

 group by cc.SEGMENT4

 order by cc.SEGMENT4

1 comment: