Skip to Content

Real time Scenario:

In one of our Major KPI project where we were integrating the KPI’s from different modules like SD,MM,FI,QM,PP and of course inventory as well into WebI.

In our final WebI report the input was based on Fiscal year period and at very later stage we realized that our inventory cube does not have data based on fiscal year period rather it is based on calmonth.As it was inventory cube and we did not want to mess up with it because of huge data and for the fact it was inventory cube.Options like Remodeling was ruled out for the same reason. So we thought of some workaround without disturbing the inventory cube.I would not be doing  justice to this document if i do not give credit to my colleague ASHUTOSH SINGH .

Approach:


We initially thought to create a Multiprovider combining inventory cube and 0FISCPER Infoobject but as 0FISCPER is not an infoprovider so multiprovder did not allow us to add that.Eventually we came up with an idea to create a dummy DSO and in it add the 0FISCPER Infoobject and some keyfigure to complete its definition.We did the characteristic assignment for necessary objects required to develop the report and also for 0FISCPER from dummy DSO.

Data Flow Display:

INV.JPG

At BEx Level:

  • Take any Keyfigure and drag and drop 0FISCPER–restrict with user input variable–Single value.This will act as dummy keyfigure which will facilitate the user with the input based on fiscal year period.Refer the screenshot

kf.JPG

  • Now make the copy of same KF and drag and drop 0CALMONTH–Restrict with customer exit variable.This Keyfigure will finally be used in report.

        Refer the Screenshot.

kf2.JPG

CMOD Code:

******************Code for webi to get calmonth based on Fiscper input*******************


DATA: zcalyear type /BI0/OICALYEAR,

          MM(2) type n,

          ZMONTH type  /BI0/OICALMONTH.


when ‘ZVAR_MONTH_CMOD’.   —–Customer Exit variable

   READ TABLE i_t_var_range INTO l_t_var_range WITH KEY vnam = ‘ZFPER_STEP2’.  —–User input variable based on Fiscal year period

    IF sysubrc = 0.

      clear l_s_range.

    zcalyear = l_t_var_rangelow+0(4).

     MM = l_t_var_rangelow+5(2).

     CONCATENATE zcalyear mm into ZMONTH.

     L_S_RANGELOW = ZMONTH.

     L_S_RANGESIGN = ‘I’.

     L_S_RANGEOPT = ‘EQ’.

    APPEND L_S_RANGE TO E_T_RANGE.

ENDIF.

Conclusion:

After following the above approach we got that data based on calmonth on the input of Fiscal year period that too without disturbing the existing inventory cube.

To report this post you need to login first.

83 Comments

You must be Logged on to comment or reply to a post.

  1. ASHUTOSH SINGH

    Well thanks for the credits man . Indeed it was a bit tricky . But eventually we came up with a simple 100% workable solution.

    To add here . Our WEBi report contains almost 30 BEx queries . And out of 30, 29 were running on 0FISCPER. Only this query was running on 0CALMONTH . So it was important for us to somehow get the input on 0FISCPER.

    And to add very well documented too. I am sure it’ll be helpful to other guys here . Because its a real time scenario.

    Regards,

    Ashutosh

    (0) 
    1. Anshu Lilhori Post author

      Yes indeed it was tricky solution and thanks for giving more insight on the background of our project and on the need of fiscper.

      Your valuable support on this is much appreciated.

      Regards,

      AL

      (0) 
  2. Anshu Lilhori Post author

    Hi suman,

    Thanks for your feedback..The tricky part here is modeling approach that we used so according to me 80% its modeling technique and 20% BEx.I felt BW is a better place for it with a tag of BEx as well.

    Regards,

    AL

    (0) 
    1. Anshu Lilhori Post author

      Hi Martin,

      Thanks for your comments.I have already stated in my Blog that we were not supposed to play around with inventory cube so had to come up with different approach.

      We have n number of MP’s on this cube so enhancing the cube means deactivation of MP’s and update rules and then activating them again would have become a cumbersome task.

      To avoid all this we followed this smart approach and shared with all.

      Regards,

      AL

      (0) 
  3. Kumar S

    Hi Anshu….. It is great that always you are taking some real time scenario and providing blogs and the same is helping to lot to solve their problems as well.

    With many creative/live expectations – Kumar.

    (0) 
    1. Anshu Lilhori Post author

      Yes sunny,i always try to share something meaningful which might come handy for others in their projects and assignments.

      Thanks for your feedback..Much appreciated.

      Regards,

      AL

      (0) 
  4. Benedict Venmani Felix

    Hi Anshu,

    I lied this blog for two reasons. First is that you have clearly explained how something can be done and the second is you have given us the background of why that particular solution was thought of in the first place. This gives anyone who is reading this blog a good perspective.

    Regards,

    Benedict

    (0) 
    1. Anshu Lilhori Post author

      Hi Vasanth,

      Glad that you liked my blog.Thanks for your feedback and i appreciate that you got the whole idea of this blog correctly.

      Good luck for your new project..Hope you do well.

      Regards,

      AL

      (0) 
  5. Shanthi Bhaskar

    Hi AL,

    Nice one..Well documented.

    I had worked on these kind of scenario’s previously with a different approach.

    Create Text Variable ,Name that as Fiscper use this one as a prompt, read in CMOD as you did. This might save you backend work.

    Thanks,

    SB.

    (0) 
  6. Nitesh Kumar

    Hi Anshu,

    Thanks for sharing such a nice real time example. Good job 🙂 .

    I have a query:

    For the months of January to March, FISCAL YEAR would be lesser by 1 than CALYEAR.

    Pls help me to understand how this code will work in that case.

    Regards,

    Nitesh

    (0) 
    1. Anshu Lilhori Post author

      Thanks Nitesh Kumar for your comments..In my case the variant was K4 so in that the relation between month and fiscal year period is one to one.Lets say for eg:

      If months is 01.2012 then fisper will be 001.2012.So basically it depends on the fiscal year variant,based on that we can change the code.

      Hope this clarifies.

      Regards,

      AL

      (0) 
  7. Phani KV

    Hi AL,

    Recently while seeing your document i had handson exp our project.

    anyway bookmarked 🙂 🙂 🙂

    Thanks,

    Phani.

    (0) 
  8. Abdullah Qureshi

    Very nice blog Anshu. Thanks for sharing yours and Ashutosh efforts with us. Such a nice approach you guys have applied. Really helpful.

    Keep Sharing.

    Regards,

    Abdullah

    (0) 

Leave a Reply