cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Description for Key figure values

Former Member
0 Kudos

Hi Experts,

I got a requirement for change the description in query analyzer.

Month 200901 200902 200903

qty value Past PRICE qty value future price qty value future price

Material 10 50 5 7 70 10 7 77 11

My requirement is price heading we need to show current date to previous months header is Past price and current date to future months we need to Future price.

Already I tried with two restricted key figures with current montthless than one key figure and currentmonthgreater than one keyfigure. When I using in query both key figure displayed in both sides.

I want to show past price heading for Less than current month and future price heading for greater than current month.

Please let me know any possibilities to show the description dynamically.

Thanks,

Chandra

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member181964
Active Contributor
0 Kudos

Hi,

Here I'm giving sample code this will give the Date and Date-1 and Date-2 based on your Input date ZCDAY.Create 'ZT_DAY' 'ZT_DAY1' and 'ZT_DAY2' Text varaibles and use the code.

In the same way change the code for your requirement.

TO get the Date (TEXT VAR) based on ZCDAY Input variable***********

    WHEN 'ZT_DAY' .
      LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZCDAY'.
        IF sy-subrc = 0.
          CLEAR: l_s_range.
          l_s_range-low+0(2) = loc_var_range-low+6(2).
          l_s_range-low+2(1) = '.'.
          l_s_range-low+3(2) = loc_var_range-low+4(2).
          l_s_range-low+5(1) ='.'.
          l_s_range-low+6(4) = loc_var_range-low+0(4).
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          APPEND l_s_range TO e_t_range.
        ENDIF.
      ENDLOOP.

TO get the Date-1(TEXT VAR) based on ZCDAY Input variable***********

    WHEN 'ZT_DAY1' .

    DATA: ZT_DT1 TYPE SY-DATUM,
          ZT_DT2 TYPE SY-DATUM,
          ZT_SDT TYPE SY-DATUM,
          ZT_YR(4) TYPE N,
          ZT_DY(2) TYPE N,
          ZT_MT(2) TYPE N,
          ZE_TT(2) TYPE N.

          ZT_SDT = SY-DATUM.


      LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZCDAY'.
        IF sy-subrc = 0.
          CLEAR: l_s_range.

          ZT_DY = loc_var_range-low+6(2).
          ZT_MT = loc_var_range-low+4(2).
          ZT_YR = loc_var_range-low+0(4).

      CONCATENATE ZT_YR ZT_MT ZT_DY INTO ZT_DT1.  "YYYYMMDD

      CALL FUNCTION 'DATE_CREATE_2'
        EXPORTING
         i_datum_ein                   = ZT_DT1
         I_KZ_INCL_AUS                 = '1'
         I_KZ_INCL_EIN                 = '0'
         I_KZ_ULT_AUS                  = 'X'
         I_KZ_ULT_EIN                  = 'X'
         I_STGMETH                     = '0'
         I_SZBMETH                     = '0'
         I_TAGE                        =  0
       IMPORTING
         E_DATUM_AUS                   = ZT_DT2.

          l_s_range-low+0(2) = ZT_DT2+6(2).
          l_s_range-low+2(1) = '.'.
          l_s_range-low+3(2) = ZT_DT2+4(2).
          l_s_range-low+5(1) ='.'.
          l_s_range-low+6(4) = ZT_DT2+0(4).
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          APPEND l_s_range TO e_t_range.

        ENDIF.
      ENDLOOP.

***TO get the Date-2 based on ZCDAY Input variable***********

    WHEN 'ZT_DAY2' .

      LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZCDAY'.
        IF sy-subrc = 0.
          CLEAR: l_s_range.

          ZT_DY = loc_var_range-low+6(2).
          ZT_MT = loc_var_range-low+4(2).
          ZT_YR = loc_var_range-low+0(4).

      CONCATENATE ZT_YR ZT_MT ZT_DY INTO ZT_DT1.  "YYYYMMDD

      CALL FUNCTION 'DATE_CREATE_2'
        EXPORTING
         i_datum_ein                   = ZT_DT1
         I_KZ_INCL_AUS                 = '2'
         I_KZ_INCL_EIN                 = '0'
         I_KZ_ULT_AUS                  = 'X'
         I_KZ_ULT_EIN                  = 'X'
         I_STGMETH                     = '0'
         I_SZBMETH                     = '0'
         I_TAGE                        =  0
       IMPORTING
         E_DATUM_AUS                   = ZT_DT2.

          l_s_range-low+0(2) = ZT_DT2+6(2).
          l_s_range-low+2(1) = '.'.
          l_s_range-low+3(2) = ZT_DT2+4(2).
          l_s_range-low+5(1) ='.'.
          l_s_range-low+6(4) = ZT_DT2+0(4).
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          APPEND l_s_range TO e_t_range.

        ENDIF.
      ENDLOOP.

Thanks

Reddy

Former Member
0 Kudos

Hi ,

please try the Text variable in description part .

The text variables can be SAP provided also, otherwiase use the some customer exit based one to display the logic based description.

Please see SAP provided text variables as:

Text Variable Month &0T_CMONT&

Text For Current Year &T_YEAR&

Current calendar day (T) &0DATT& 4

Text for Previous Year &T_YEARM1&

many other are also available .

Thanks

Mukesh

Edited by: Mukesh Sharma on Feb 14, 2009 12:24 AM