Skip to Content
avatar image
Former Member

Module Pool Programing .

Hi All,

In my module pool i am giving a call To TCode EA55 Rate Category Change , i am following the below steps

i am giving the deafult value to the rate category by calling BDC

PERFORM bdc_dynpro USING 'SAPLE20A' '0100'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RE20A-TARIFTYP'

w_prod_name .

lwa_ctu_params-dismode = c_e.

lwa_ctu_params-updmode = c_s.

lwa_ctu_params-racommit = space.

lwa_ctu_params-nobinpt = c_x.

  • Call to Transaction EA54 to Change the Rate Category

CALL TRANSACTION p_tcode

USING i_bdcdata

OPTIONS FROM lwa_ctu_params

MESSAGES INTO i_messtab.

there after reading this table and displaying the message if rate category is cahnged.

but i am not getting any value in my table i_messtab if i am changing value on the Rate Category screen for eg its description , if i am going Inside any other tab on the screen and make cahnges in the value there the messge is coming please let me know any system variable which value changes on making changes on the Screen i search for sy-datar but its value is not getting changed .

please let me know the solution for this.

Regards

Himanshu Sharma

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Sep 18, 2008 at 09:25 AM

    hi

    Please use the following FM as shown below:

    w_str type string.
    LOOP AT i_messtab.
    
     CALL FUNCTION 'FORMAT_MESSAGE'
      EXPORTING
        ID              = i_messtab-MSGID
        LANG            = SY-LANGU
        NO              = i_messtab-MSGNR
        V1              = i_messtab-MSGV1
        V2              = i_messtab-MSGV2
        V3              = i_messtab-MSGV3
        V4              = i_messtab-MSGV4
      IMPORTING
        MSG             = W_STR
    *  EXCEPTIONS
    *    NOT_FOUND       = 1
    *    OTHERS          = 2
               .
     IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
     ENDIF.
    
    if i_msg-msgnr = 311.
    WRITE:/ i_messtab-msgnr,w_str.
    endif.
    ENDLOOP.

    After call transaction statement,use the above code.

    Regards,

    Vishwa.

    Add comment
    10|10000 characters needed characters exceeded