Trying to get the Opening and Closing Balance, 0TOTALSTCK and 0VALSTCKVAL

Hi Experts, Good Day.
I am developing a query for Stock Balances, Using Custom cube created with copy from 0ic_c03.
I am trying to get the Opening and Closing Balance, based on Non-Cumulative KF - 0TOTALSTCK and 0VALSTCKVAL.
Both The KF's Behaviour for Exception Aggregat. = Last Value
I am using VARIABLE OFFSET as -1 to get Opening Balance, and just restriction for Closing Balance based on 0CALMONTH
Unfortunately i am getting data for the periods which does not have data in my Cube. It is taking the total value as closing balance for the periods which we don't have transaction in the cube.
For Ex. I have data for 09.2010 & 10.2010 a particular material, when i enter 08.2010 as input i am getting the total value of the material.
I hope you understand the problem and solution soon.
I will give you more explanation if needed.
Thanks in Advance....
Have a great Day Ahead.....
GopalN

Hi GopaIN,
can you explain us process you have done about initialization of data (2LIS_03_BX, cube compression)? it seams like there was data before 09.2010 and you load it with 2LIS_03_BX data source. That data is not in cube, but just used for update markers.
Edited by: Sasa Todorovic on Mar 25, 2011 9:48 AM

Similar Messages

  • HT1373 i have a broken desktop which had my itunes account on it. I am trying to get the information onto a new laptop and itunes programme but cannot. I also cannot get my iphone 5 to be recognized on the new itunes. HELP

    i have a broken desktop which had my itunes account on it.
    I am trying to get the information onto a new laptop and itunes programme but cannot. I have only managed to copy over some of my music as i had it on an external drive.
    I also cannot get my iphone 5 to be recognized on the new itunes.
    HELP

    iTunes as you see it in the application window uses a series of files and folders contained in the iTunes folder.  Some people make the mistake of only backing up their media in which case all you have is a bunch of media files without the iTunes structure.  In that case you have to build a new library yourself.
    What exactly do you mean "not recognized"?  The phone does not show up on the computer at all, or it does but it says it will wipe the phone?  The wipe the phone stuff is again because it cannot find the original library to which it was synced.  You need to transfer the entire iTunes folder from the old computer or the backup you made of it.
    What are the iTunes library files? - http://support.apple.com/kb/HT1660
    More on iTunes library files and what they do - http://en.wikipedia.org/wiki/ITunes#Media_management
    What are all those iTunes files? - http://www.macworld.com/article/139974/2009/04/itunes_files.html
    Where are my iTunes files located? - http://support.apple.com/kb/ht1391

  • Pages works with all other docs, except the one I need to work on.  From my downloads folder I can preview the entire file, however whenever I try to open it, i get the "opening" pane filled to ~90% and then the SBBOD.  Only file it does this on...help??

    From my downloads folder it recognizes the file as a Pages document, I can preview the entire document, but I try to open the file in multiple ways (from right click, to open from preview, from inside pages) and it refuses to open.  The "opening" prompt comes up, fills ~90% and then I eventually get the SBBOD.  It will fail out if given long enough to think it through or i need to force quit.
    OS- 10.7.5
    Pages: downloaded from App store when i purchased my mac mini last fall. fresh update.

    Since it has always been very basic to backup your computer and all it's data, Apple provides no way for you to transfer music from your iPhone back to your computer.  As you know, you can re-download all iTunes purchases, but music that you ripped yourself you'll have to just re-rip again.
    You can try and find 3rd party applications that might help you.  I'm sure you'll pay, however.
    Let this be a very important lesson learned.
    Best.

  • I'm trying to get the full version of music sparkles and I can't it shows a message saying unable to buy please contact iTunes for support....what should I do?

    I need help and support please

    You should de exactly what it is telling you to do.
    Contact itunes support

  • GL a/c opening and closing balances

    Hi All,
    Below is my selection screen:
    select-options : s_bukrs for bkpf-bukrs obligatory.
    parameter      :  p_gjahr like bkpf-gjahr obligatory.
    select-options : s_budat for bkpf-budat,
                           s_monat for bkpf-monat,
                           s_hkont for bseg-hkont.
    I am displaying the data from tables BKPF, BSEG, KNA1-NAME1, LFA1-NAME1, SKAT-TXT50. I have to fetch Opening and Closing balances for GL a/c's. I am fetching data from table GLT0-HSLVT(opening balance). But unable to get the data for closing balance based on the period given on the selection screen. In my report I am looping on table it_bseg to populate the final internal table. How to get the closing balances's total based on the input.
    Please help me.
    Thanks,
    Haritha

    Hello Haritha,
                        Try this code by building a function module. This would cover both opening and closing balance.
    FUNCTION ZGL_OPENING_CLOSING_BAL_KEYDAT.
    *"*"Local Interface:
    *"  IMPORTING
    *"     REFERENCE(COMP) TYPE  BKPF-BUKRS
    *"     REFERENCE(DATE) TYPE  BKPF-BUDAT
    *"     REFERENCE(ACCT) TYPE  BSEG-HKONT
    *"  EXPORTING
    *"     REFERENCE(BALANCE) TYPE  BSEG-DMBTR
    DATA : COMPANYCODEID  LIKE  BAPI0002_2-COMP_CODE     ,
    POSTING_DATE   LIKE  BAPI0002_4-POSTING_DATE  ,
    FISCAL_YEAR    LIKE  BAPI0002_4-FISCAL_YEAR   ,
    FISCAL_PERIOD  LIKE  BAPI0002_4-FISCAL_PERIOD .
    DATA : ACCOUNT_BALANCES  TYPE TABLE OF BAPI3006_4 WITH HEADER LINE.
    DATA : BAL TYPE BSEG-DMBTR.
    DATA : IV_DATE  TYPE  D   ,
    EV_MONTH_BEGIN_DATE  TYPE  D,
    EV_MONTH_END_DATE  TYPE  D .
    DATA : COMPANYCODE  LIKE  BAPI3006_0-COMP_CODE,
    GLACCT  LIKE  BAPI3006_0-GL_ACCOUNT ,
    FISCALYEAR  LIKE  BAPI3006_4-FISC_YEAR,
    CURRENCYTYPE  LIKE  BAPI3006_5-CURR_TYPE VALUE 10.
    DATA : IT_BKPF TYPE TABLE OF BKPF WITH HEADER LINE.
    DATA : BEGIN OF IT_BSEG OCCURS 0,
    BELNR TYPE BSEG-BELNR,
    GJAHR TYPE BSEG-GJAHR,
    SHKZG TYPE BSEG-SHKZG  ,
    DMBTR TYPE BSEG-DMBTR,
    END OF IT_BSEG.
    COMPANYCODEID = COMP.
    POSTING_DATE = DATE.
    IV_DATE  = DATE.
    CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
    EXPORTING
    IV_DATE             = IV_DATE
    IMPORTING
    EV_MONTH_BEGIN_DATE = EV_MONTH_BEGIN_DATE
    EV_MONTH_END_DATE   = EV_MONTH_END_DATE.
    CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
    EXPORTING
    COMPANYCODEID = COMPANYCODEID
    POSTING_DATE  = POSTING_DATE
    IMPORTING
    FISCAL_YEAR   = FISCAL_YEAR
    FISCAL_PERIOD = FISCAL_PERIOD.
    IF EV_MONTH_END_DATE NE DATE.
    IF FISCAL_PERIOD = 1.
    FISCAL_PERIOD = 12              .
    FISCAL_YEAR = FISCAL_YEAR - 1  .
    ELSE.
    FISCAL_PERIOD =  FISCAL_PERIOD - 1.
    ENDIF.
    ENDIF.
    COMPANYCODE  =  COMP.
    GLACCT  = ACCT.
    FISCALYEAR  = FISCAL_YEAR.
    CALL FUNCTION 'BAPI_GL_ACC_GETPERIODBALANCES'
    EXPORTING
    COMPANYCODE      = COMPANYCODE
    GLACCT           = GLACCT
    FISCALYEAR       = FISCALYEAR
    CURRENCYTYPE     = CURRENCYTYPE
    TABLES
    ACCOUNT_BALANCES = ACCOUNT_BALANCES.
    READ TABLE ACCOUNT_BALANCES  WITH KEY FISC_YEAR = FISCALYEAR FIS_PERIOD = FISCAL_PERIOD.
    IF SY-SUBRC = 0.
    BALANCE =  ACCOUNT_BALANCES-BALANCE.
    ENDIF.
    IF EV_MONTH_END_DATE NE DATE.
    SELECT * FROM BKPF INTO TABLE IT_BKPF WHERE BUKRS = COMP AND BUDAT >= EV_MONTH_BEGIN_DATE
    AND BUDAT <= DATE.
    IF IT_BKPF[] IS NOT INITIAL.
    SELECT BELNR GJAHR SHKZG DMBTR
    FROM BSEG INTO CORRESPONDING FIELDS OF TABLE IT_BSEG
    FOR ALL ENTRIES IN IT_BKPF
    WHERE BELNR = IT_BKPF-BELNR AND GJAHR = IT_BKPF-GJAHR AND HKONT = ACCT AND BUKRS = COMP.
    ENDIF.
    LOOP AT IT_BSEG.
    IF IT_BSEG-SHKZG = 'H'.
    BAL = BAL - IT_BSEG-DMBTR.
    ELSEIF IT_BSEG-SHKZG = 'S'.
    BAL = BAL + IT_BSEG-DMBTR.
    ENDIF.
    ENDLOOP.
    BALANCE = BALANCE + BAL.
    ENDIF.
    ENDFUNCTION.
    Raghav

  • Opening and closing balance values at storage location level

    Dear all,
    I want to know opening and closing balance values and receipts and issue values at storage location level for certain period.
    I tried with MB5B, it is not giving value at storage location level, it is giving quantities at storage location level and values at plant level. But requirement is: please see below example:
    All values are in USD          
    Storage location:      1001     1002
    Opening Balance:      2000     3000
    Receipts:                           1000      2000
    Issues:                            2000     3000
    Closing Balance:      1000     2000
    Please help in this regard (I want value of the stock only, not qty)
    Regads,
    Veerappa
    Edited by: Chinna Veerappa on Jul 27, 2010 5:27 PM
    Edited by: Chinna Veerappa on Jul 27, 2010 5:28 PM

    vlauation is at plant level (MBEW table) the storage location level does not carry values (table MARD).
    You may have to develope your own ZMB5B  program and calculate yourself what is not stored in SAP.

  • FBCJ-Opening and Closing balance do not appear in Language Hungary

    *Hello Friends*
    *I am getting a typical problem, as when I see the cash balance in FBCJ with language English, both opening and closing balance are proper, but when I login with Language Hungary(HU) both opening and closing balance disappears and is totally blank. Kindly facilitate me to get the solution*
    *Thanks you in advance*
    *Best Regards*
    *Prashant S*

    Dear
    Thanks for the reply
    The default log in language is DE (German). I agree with you if the problem is with description, but the problem is with amount in opening and closing balance and description is proper, so what is the relevance with support package to do with amount.
    Please facilitate and reply
    Best Regards
    Prashant S

  • Insert and update query to calculate the opening and closing balance

    create table purchase(productid number(5) ,dateofpurchase date,
    qty number(5));
    create table inventory(invid number(5),productid number(5),
    idate date,openingqty number(5),closingqty number(5));
    Records in inventory:
    1,1,'01-jan-2009', 10, 20
    2,1,'03-jan-2009', 20, 30
    3,1,'04-jan-2009', 40, 50
    when I enter the purchase invoice for 15 qty on 02-jan-2009
    after say '15-jan-09' , a new record should get inserted
    with opening balance = (closing balance before 02-jan-2009)
    and all the opening and closing balance for that product should
    get affected.
    If the invoice for 20 qty is entered for the existing date say
    '03-jan-2009' in inventory , then the closing balance
    for 03-jan-2009 should get updated and all the following records
    should get affected.
    I need the insert for the first one and update query for the
    second one.
    Vinodh

    <strike>You can do this in one statement by using the merge statement</strike>
    Hmm, maybe I spoke too soon.
    Edited by: Boneist on 25-Sep-2009 13:56
    Thinking about it, why do you want to design your system like this?
    Why not simply have your purchases table hold the required information and then either work out the inventory on the fly, or have a job that calls a procedure to add a row for the previous day?
    If you continue with this design, you're opening yourself up to a world of pain - what happens when the data doesn't match the purchases table? Also when is the inventory cut-off to reset the opening/closing balances? Monthly? Annually? Weekly? If it's set to one of those, what happens when the business request the inventory for a particular week?
    Edited by: Boneist on 25-Sep-2009 13:59

  • Opening and Closing balance in FBL3N?

    Hi All,
    In other ERP systems, if you browse GL Account, i.e. FBL3N in SAP, you get the list of documents within specified period but in other systems you also get the OPENING balance as well as CLOSING balance and the current postings are in between them. Is there any standard report or report painter is to be used for such requirement.
    Balances can be checked through FS10N and S_ALR_87012301 etc. but requirement is to get the list of documents with opening and closing balance in beginning and end of the report. The best example is of Cash Journal (Txn FBCJ)
    Thanks

    Thank you Will,
    Yes, actually if other system provide such functionality then SAP should be providing that. I searched within table TSTC for such transaction but unable to get. Accountants requirement is when they execute FBL3N within specified period, the cummulative opening balance and closing balance should be provided with report.
    Thanks for your answer!
    Regards,
    Nayab

  • Opening and closing balance logic

    How to get opening and closing balances for a material and chapter-id for tarif-wise report for sales and captive consumption...
    Edited by: vijetasap on Apr 13, 2009 2:25 PM

    Hi Vijeta...
    Try posting this question related to the functional domain forum of your requirement.. you might have more luck there..

  • Opening balance and closing balances for discounts?

    Hi all,
    I have a typical sceanario where in
    opening balance for discounts 10,000 (balance of last month)
    actual discounts  from the sales order 5,000
    manual upload is   from flat file            2,000
    closing balance is 7,000 (which is opening balance + manual upload - actual discounts)
    opening and closing balance needs to be calculated, how to calculate nor handle this on every month?
    level of granularity of the data is
    sku, month, rebate category and rebate amount?
    Thanks

    Hi Pooja,
    can you please let us know few things about your report requirements
    What is the extractor you are using?
    What are the KFs ?
    what are the selection parameters that you want to enter at the reporting level?
    is it the report related to FI AR. do you want to display the values based on the customer -->profitcenter?
    Bcoz we had a same requirement where our requirement was global recievables aging report in which the report need to display opening bal, sales,adjustment,colelction and closing balance and the aging values.
    here what we did is changed the modeling of the DSO and infocube.
    we had used non-cumulative KF in order to calculate closing balance and from that derived opening balance and again create a new formula to get the closing balance.
    if you can be specific with your requirement hope can help you with your report.

  • Opening and Closing balances in RG1 register

    Hi,
    We are facing one issue in RG1 register. When we update and extract the RG1 register from system, its showing Sales Qty and Excise duties properly. But opening and closing balances are not coming, its showing zero there. I checked J_2IRG1BAL table and found that it is also not getting updated. Material comes into stock with 561(initial stock) and 101(from production) movement types but opening/closing balances not coming in either case. Both movement types are activated for RG1 also.
    Seeking your help in this regard.....
    Regards,
    Satyendra Soni

    Hi Satyendra ,
    For initial  upload in RG1 there are 2 tables you need to manually update. J_2IRG1BAL  from CIN or SD side. And Accounts to be updated for Balance in J_2IACCBAL.
    There are 2 ways for updating balance tables
    On last day of month enter Balance in Closing balance field.
    OR enter opening balance on 1 st day of month.
    Also check Material form P ,can be maintained in user exit for permanent effect.
    After  updating balances ,
    perform any one transaction on system.
    and then  Extract  the Rg1 table .
    Ask FI consultant to put in  FI JV after balance upload in ACCBAL table.
    If you have not done table entries before performing transaction and extraction of RG1  then balances will not appear .
    Check with your senior there and use table edit in such case (I hope you are not on production server  at the moment) .Then again perform Extraction and check once.
    SD FI and ABAP to be present and take decision accordingly.

  • Opening and closing balance between 2 dates

    hi.
    i am facing a problem while fetching the opening and closing balance for a particular G/L account.
    In my  program  i am entering G/L account for a date range i.e, between two dates and i want opening and closing balance for these 2 date ranges.
    So, please tell me is there any function module to fetch opening and closing balance between two dates.
    Regards,
    ROHINI.K.

    Hi Rohini,
                 Check this FM :   BAPI_GL_GETGLACCPERIODBALANCES.
    If we use this functional module, we will get opening and closing balance of corresponding G/L Acc.
    (e.g)
    CALL FUNCTION 'BAPI_GL_GETGLACCPERIODBALANCES'
        EXPORTING
          companycode                   =  '1000'
          glacct                              = '0000548101'
          fiscalyear                         = '2007'    
         currencytype                      = '10'
       IMPORTING
    BALANCE_CARRIED_FORWARD       =  gs_bal-balance
         RETURN                                        =  v_return
        TABLES
          account_balances                            = gt_bal.

  • Opening and Closing balance of a material

    How to check the opening and closing balance of a material in a given period?
    GL account /Plant/material number is known
    Can we see along with the PO/reservations made  in this period?
    Is there any report or Tcode?

    In mbew and mbewh table u will get the value and stock of material at plant level  for each period( if plant is valuation level ) . GL account u will get from valuation class attched to material master.
    Else use fi tcodefbl3n .
    if u want closing balance for period 6 then you  goto fbl3n and run the report for the GL ACC of stock till period 5. In that go to menu and in that special fields add bseg-matnr and bseg-plant and then sort the report on material/plant level. this will opening balance for period 6.
    then run same report till period 6 and this will give closing balance for period 6.
    this two report give opening and closing balace for period 6.

  • Intersperse daily totals with opening and closing balance

    Hi All
    Suppose we have a data set (simplified from my query but will suffice)
      select 1 as daynum, 'CR' as trantype, 200 as amount from dual union all
      select 1 as daynum, 'DR' as trantype, -300 as amount from dual union all
      select 2 as daynum, 'CR' as trantype, 800 as amount from dual union all
      select 2 as daynum, 'DR' as trantype, -200 as amount from dual union all
      select 3 as daynum, 'CR' as trantype, 900 as amount from dual union all
      select 3 as daynum, 'DR' as trantype, -500 as amount from dual
    )How would you go about getting a result set that looks like:
    1, Opening Balance, 0
    1, CR, 200
    1, DR, -300
    1, Closing Balance, -100
    2, Opening Balance, -100
    2, CR, 800
    2, DR, -200
    2, Closing Balance, 500
    3, Opening Balance, 500
    3, CR, 900
    3, DR, -500
    3, Closing Balance, 900
    4, Opening Balance, 900
    4, Closing Balance, 900
    I'm thinking:
    generate an arbitrary number of rows for the number of days I want to report over (in this case, 4)
    cross join these with 2 row set of constants "opening" and "closing" balanace
    -> I have now an opening and closing balance row for every day
    union it with my data so that "opening/CLosing balance" is a type too (and nulls in the amount column)
    case when the type is like '%Balance' then sum(amount) over(order by day, orderkind rows unbounded preceding) else amount
    (orderkind is a constant 0 for opening, 1 for all the datarows, 2 for closing)
    Is it right?
    Is there a better way?
    Edited by: charred on Apr 1, 2010 7:03 AM

    Unless I'm missing something, Tom's answer won't work for more than 4 days?
    with t as
        select 1 as daynum, 'CR' as trantype, 200 as amount from dual union all
        select 1 as daynum, 'DR' as trantype, -300 as amount from dual union all
        select 2 as daynum, 'CR' as trantype, 800 as amount from dual union all
        select 2 as daynum, 'DR' as trantype, -200 as amount from dual union all
        select 3 as daynum, 'CR' as trantype, 900 as amount from dual union all
        select 3 as daynum, 'DR' as trantype, -500 as amount from dual union all
        select 4 as daynum, 'CR' as trantype, 900 as amount from dual union all
        select 4 as daynum, 'DR' as trantype, -500 as amount from dual union all
        select 5 as daynum, 'CR' as trantype, 900 as amount from dual union all
        select 5 as daynum, 'DR' as trantype, -500 as amount from dual
      data
      as
      ( select daynum, r
          from (select level daynum from dual connect by level <= 4),
                   (select level r from dual connect by level <= 2 )
      select daynum,
             r,
             ttype,
             amt,
             case when ttype in ( 'close', 'open' )
                  then sum(samt) over (order by daynum, r)
              end theamount
        from (
      select data.daynum,
             data.r,
             case when (nvl(t.trantype,'CR') = 'CR' and data.r = 1 )
                  then 'open'
                  when (nvl(t.trantype,'DR') = 'DR' and data.r = 2)
                  then 'close'
                  else t.trantype
             end ttype,
             case when (t.trantype = 'CR' and r = 2) or (t.trantype = 'DR' and r=1)
                  then t.amount
              end amt,
             case when (t.trantype = 'DR' and r = 2)
                  then sum(case when r=1 then t.amount end) over (partition by data.daynum)
                  else 0
              end samt
      from   t, data
      where data.daynum (+) = t.daynum
      order by daynum, r, decode( ttype, 'open', 1, 'CR', 2, 'DR', 3, 'close', 4 );
        DAYNUM          R TTYPE        AMT  THEAMOUNT
             1          1 open                      0
             1          1 DR          -300          
             1          2 CR           200          
             1          2 close                  -100
             2          1 open                   -100
             2          1 DR          -200          
             2          2 CR           800          
             2          2 close                   500
             3          1 open                    500
             3          1 DR          -500          
             3          2 CR           900          
             3          2 close                   900
             4          1 open                    900
             4          1 DR          -500          
             4          2 CR           900          
             4          2 close                  1300
                          CR                        
                          DR  Here's a solution using partitioned outer join:
    with my_tab as (select 1 as daynum, 'CR' as trantype, 200 as amount from dual union all
                    select 1 as daynum, 'DR' as trantype, -300 as amount from dual union all
                    select 2 as daynum, 'CR' as trantype, 800 as amount from dual union all
                    select 2 as daynum, 'DR' as trantype, -200 as amount from dual union all
                    select 3 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 3 as daynum, 'DR' as trantype, -500 as amount from dual union all
                    select 4 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 4 as daynum, 'DR' as trantype, -500 as amount from dual union all
                    select 5 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 5 as daynum, 'DR' as trantype, -500 as amount from dual),
          dummy as (select 1 id, 'Opening Balance' descr from dual union all
                    select 2 id, 'CR' descr from dual union all
                    select 3 id, 'DR' descr from dual union all
                    select 4 id, 'Closing Balance' descr from dual)
    select mt.daynum,
           d.descr,
           decode(d.id, 1, 0,
                        2, amount,
                        3, amount,
                        4, amount + lag(amount, 2) over (partition by mt.daynum order by d.id)) amount
    from   my_tab mt
           left outer join dummy d partition by (id, descr) on (mt.trantype = d.descr)
    where  (d.id = 1 and mt.trantype = 'CR')
    or     (d.id = 2 and mt.trantype = 'CR')
    or     (d.id = 3 and mt.trantype = 'DR')
    or     (d.id = 4 and mt.trantype = 'DR')
    order by mt.daynum, d.id;
        DAYNUM DESCR               AMOUNT
             1 Opening Balance          0
             1 CR                     200
             1 DR                    -300
             1 Closing Balance       -100
             2 Opening Balance          0
             2 CR                     800
             2 DR                    -200
             2 Closing Balance        600
             3 Opening Balance          0
             3 CR                     900
             3 DR                    -500
             3 Closing Balance        400
             4 Opening Balance          0
             4 CR                     900
             4 DR                    -500
             4 Closing Balance        400
             5 Opening Balance          0
             5 CR                     900
             5 DR                    -500
             5 Closing Balance        400ETA: And, if there can be any number of CR or DR rows:
    with my_tab as (select 1 as daynum, 'CR' as trantype, 200 as amount from dual union all
                    select 1 as daynum, 'DR' as trantype, -300 as amount from dual union all
                    select 1 as daynum, 'CR' as trantype, 400 as amount from dual union all
                    select 1 as daynum, 'DR' as trantype, -500 as amount from dual union all
                    select 2 as daynum, 'CR' as trantype, 800 as amount from dual union all
                    select 2 as daynum, 'DR' as trantype, -200 as amount from dual union all
                    select 3 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 3 as daynum, 'DR' as trantype, -500 as amount from dual union all
                    select 4 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 5 as daynum, 'CR' as trantype, 900 as amount from dual union all
                    select 5 as daynum, 'CR' as trantype, 200 as amount from dual union all
                    select 5 as daynum, 'DR' as trantype, -500 as amount from dual union all
                    select 6 as daynum, 'DR' as trantype, -200 as amount from dual),
          dummy as (select 1 id, 'Opening Balance' descr from dual union all
                    select 2 id, 'CR' descr from dual union all
                    select 3 id, 'DR' descr from dual union all
                    select 4 id, 'Closing Balance' descr from dual)
    select mt.daynum,
           d.descr,
           mt.trantype,
           decode(d.id, 1, 0,
                        2, amount,
                        3, amount,
                        4, sum(decode(d.id, 1, 0, 4, 0, amount)) over (partition by mt.daynum)) amount
    from   (select mt1.*, row_number() over (partition by mt1.daynum order by mt1.trantype) rn
            from   my_tab mt1) mt
           left outer join dummy d partition by (id, descr) on (mt.trantype = d.descr)
    where  case when d.id = 1 and rn = 1 then 1
                when d.id = 2 and mt.trantype = 'CR' then 1
                when d.id = 3 and mt.trantype = 'DR' then 1
                when d.id = 4 and rn = 1 then 1
                else 0
           end = 1
    order by mt.daynum, d.id;
        DAYNUM DESCR           TRANTYPE     AMOUNT
             1 Opening Balance CR                0
             1 CR              CR              400
             1 CR              CR              200
             1 DR              DR             -300
             1 DR              DR             -500
             1 Closing Balance CR             -200
             2 Opening Balance CR                0
             2 CR              CR              800
             2 DR              DR             -200
             2 Closing Balance CR              600
             3 Opening Balance CR                0
             3 CR              CR              900
             3 DR              DR             -500
             3 Closing Balance CR              400
             4 Opening Balance CR                0
             4 CR              CR              900
             4 Closing Balance CR              900
             5 Opening Balance CR                0
             5 CR              CR              900
             5 CR              CR              200
             5 DR              DR             -500
             5 Closing Balance CR              600
             6 Opening Balance DR                0
             6 DR              DR             -200
             6 Closing Balance DR             -200Edited by: Boneist on 16-Apr-2010 17:10

Maybe you are looking for