Skip to Content
Author's profile photo Former Member

A new kid(BAdI) in town

During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      OK, now I am happier!! Thanks Dirk!!

      And thanks for the great info!! I've passed it along to our BW guys!

      Author's profile photo Former Member
      Former Member
      Good one..Thanks for coming out Dirk.

      Anil

      Author's profile photo Former Member
      Former Member
      I had problems with the article rendering. I cleaned this up a bit. I believe the following should work.

      Could you confirm whether this functionality works in the web interface in both the HTML and Excel view? Or is it just related to the transaction you mentioned in the article.

      Thanks.

      The idea is to enter only Sales, Avg. Price and Rebates % and let
      the system calculate the rest. Combine it with an XML based GUI and
      you have a nice planning tool. But as always there are things you
      would like to do a bit different. So what do you do today? Implement
      a BAdI.
      Our current problem looked a bit different. We had lots of different
      versions in the columns and wanted to set the columns with actual
      values not ready for input.
      The BAdI definition is called UPX_LAYOUT_RENDER and it has lots of
      methods you can play with. I only used one so I will show you a
      sample implementation of one of the methods, ADOPT_PLAN_DATA.

      ADOPT_PLAN_DATA is used to change the planning data before it enters
      the layout. But be aware that all the formulas you have created are
      applied after the change of the data so don’t be surprised if you
      see different values.
      While I_AREA, I_PLEVEL and I_LAYOUT are more or less self explaining
      for everybody with BPS knowledge here is some information about the
      other parameters:
      IT_HEAD is a table that contains the characteristics and values that
      are place in the header of the planning layout.
      IT_COL contains the characteristics and values for each column.
      Often the key figures are placed here; in this case the character
      value is the key figure name.
      XT_ROW contains the values of the characteristics for each row. You
      can add rows or change the sorting here. I would not recommend
      changing the values completely or adding different characteristics
      here.
      XT_DATA contains the values in the cells. This table contains four
      fields, ROW, COL (for the row and column index, also key fields in
      XT_ROW and IT_COL), VALUE and INPUT. INPUT lets you mark a table
      that is not ready for input.
      XT_FUNC contains the results of key figures calculated by function
      modules. Since we don’t use this feature I don’t know any details.
      XT_TEXT lets you change the contents of text value cells.

      So my goal was to set the field INPUT in XT_DATA for all cells that
      contain the values ‘ACT’ in the field 0VERSION. So this is the
      coding:

      IF_EX_UPX_LAYOUT_RENDER~ADOPT_PLAN_DATA .
         check i_area = 'MYAREA'.
      * Step 1: If 0VERSION = ACT set INPUT = 0
         field-symbols:<f_value> type any.
         data: ld_data type UPC_YS_API_DATA,
               ld_ row   type UPC_YS_API_ROW.
      * Check all cells
         LOOP AT XT_DATA INTO ld_data.
      * 0VERSION is in the row, so look at the row values
           READ TABLE XT_ROW INTO ld_row
                WITH KEY row    = ld_data-row
                         chanm = '0VERSION'.
           CHECK sy-subrc = 0.
           IF ld_row-chavlext = 'ACT'.
             ld_data -input = '0'.
             modify xt_data from ld_data.
           ENDIF.
         ENDLOOP.

      That’s all. With the possibility to change the data this method is a
      quite powerful addition to the tool. If this isn’t enough you have
      the chance to manipulate the values in the methods
      ADOPT_XML_DOCUMENT or ADOPT_HTML_DOCUMENT. Both of them are quite
      difficult to figure out if you don’t know ABAP XML handling in
      detail so you’re warned.
      My personal recommendation would be to not even use the extended
      planning layouts if you don’t do it in the CRM context. There are
      some restrictions like not being able to sort the columns the way
      you like that make it a bit hard to use. But if you need to use it
      this BAdI gives you a nice way to extend the planning much better
      than you can do it in standard BPS layouts.
      May the ABAP be with you

      Dirk

      P.S.: This blog was written in Word and it's ok for me so please
      forgive me any formatting problems.

      Author's profile photo Former Member
      Former Member
      Blog Post Author
      Hello Ross,
      you're right, the rendering looks awful. But to your question. This BAdI is only available for the sales planning, not for standard planning (Web and Excel).

      Best regards
      Dirk

      Author's profile photo Former Member
      Former Member

      Hello Dirk,

      Unable to see any content or info in the blog. It only gives the below message.

      "During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community."

      Can you please repost this blog?

      Regards,

      Nageswara