Skip to Content
author's profile photo Former Member
Former Member

BW Report

Dear Gurus,

I have requirement which is basically I have two dates Invoice date and posting date for customer. in the report the user would like to have is for any customers if the invoice date is zero it should display posting date how can this be achieved ? your help on this would be much appreciated...



Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Best Answer
    Posted on Dec 24, 2015 at 05:32 PM

    Hi Shanmugam,

    You can derive posting date , when invoice date is blank , by using "Replacement path variable" .

    1. Create New formula like Posting Date and Edit under that create formula variable with replacement path for "Posting Date" infoobject once complete and click on newly created formula replacement path variable, repeat this for invoice date also.
    2. write new formula and name as "Invoice Date" and write logic as like below.
    3. ( Inv Date == 0 ) * Posting Date + Inv Date.

    Sample report which I done, its working



    1.png (15.0 kB)
    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 24, 2015 at 01:32 PM

    Hi Shanmugam,

    I see two options:

    • Virtual Characteristic: implement BAdI RSROA_OLAP_BADI (Enhancement Spot RSROA) for Invoice Date; fill Invoice Date with Posting Data if the Invoice Date is initial;
    • Simple Routine in the Transformation: fill Invoice Date with Posting Data if the Invoice Date is initial.

    For the first option you do not have to change the data staging and reload data. The second one is a bit more complicated to implement but will do the trick during query run-time.

    Best regards,


    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Shanmugam,

      As mentioned by Sander, i would suggest write simple end routine.

      Because if u implement this at query level, they it may decrease performance of the query, so routine will work.

      create one more char(say required date).

      if invoice_date is not initial.

      reuired_date = invoice_date.

      elseif posting_date is not initial.

      reuired_date = posting_date.


      now it is you choice whether u want to compromise with load performance / query performance.



Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.