cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with RSU5_SAPI_BADI

Former Member
0 Kudos

Hi

I've followed the procedure based on the how to document

[http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3001894b-b1fb-2910-77ba-e80b6f2053b7;jsessionid=(J2EE3414900)ID1288170250DB01700328865016368132End]

but i am having issues with

    • check BW system

  • check checkbw_system( ) = 'X'.

and

  • check method is implemented

  • CHECK checkmethod_exists( lv_method ) = 'X'.

Though i comment the above two i am getting shortdumps while running RSA3.

any suggestions.

Accepted Solutions (1)

Accepted Solutions (1)

Ralf
Active Participant
0 Kudos

Just a general remark: If you are getting shortdumps while these lines are commented out, there must be another problem.

Also, check the code of Class Interface CL_IM_RSSEM_BCS_VC_LOGIC which is an example of implementing the BADI.

Implementation Name RSSEM_BCS_VC_LOGIC

Interface name IF_EX_RSU5_SAPI_BADI

Hope this helps,

Ralf

Former Member
0 Kudos

Thanks Ralf for responding.

Flávio advised me to use try and catch block in the piece of code at call method by commenting the below two

    • check BW system

  • check checkbw_system( ) = 'X'.

  • check method is implemented

  • CHECK checkmethod_exists( lv_method ) = 'X'.

So i changed the code to this

try.

CALL METHOD (lv_method)

EXPORTING

i_updmode = i_updmode

i_t_select = i_t_select

i_t_fields = i_t_fields

CHANGING

c_t_data =

c_t_messages = c_t_messages.

CATCH cx_root. "Handler for all exceptions

endtry.

I did debug it but raising exceptions while calling the above method and eventually the method (where i got the code to populate zzfields) is not working.

suggestions please

Former Member
0 Kudos

> Thanks Ralf for responding.

>

> Flávio advised me to use try and catch block in the piece of code at call method by commenting the below two

>

> ** check BW system

> * check checkbw_system( ) = 'X'.

>

> * check method is implemented

> * CHECK checkmethod_exists( lv_method ) = 'X'.

>

> So i changed the code to this

>

> try.

> CALL METHOD (lv_method)

> EXPORTING

> i_updmode = i_updmode

> i_t_select = i_t_select

> i_t_fields = i_t_fields

> CHANGING

> c_t_data = <lt_data>

> c_t_messages = c_t_messages.

>

> CATCH cx_root. "Handler for all exceptions

> endtry.

>

> I did debug it but raising exceptions while calling the above method and eventually the method (where i got the code to populate zzfields) is not working.

>

> suggestions please

There is another error in the method:

the I_DATASOURCE = i_datasource is missing and that's a mandatory import parameter

It should look something like this:

CALL METHOD (lv_method)
    EXPORTING
      i_DATASOURCE = i_datasource
      i_updmode    = i_updmode
      i_t_select   = i_t_select
      i_t_fields   = i_t_fields
    CHANGING
      c_t_data     = <lt_data>
      c_t_messages = c_t_messages.

Edited by: Matthias Gamsjager on Dec 10, 2009 10:58 AM

Beside this one there is something else missing in his pdf:

On page 8 he said:

Create a new method and name it: _TEMPLATE_DATASOURCE.
Then click over the name of the new method and paste the following code:

dont create a new one but make a copy of IF_EX_RSU5_SAPI_BADI~DATA_TRANSFORM

This will create the a DATA_TRANSFORM method with all the parameters needed.

Edited by: Matthias Gamsjager on Dec 10, 2009 11:02 AM

Edited by: Matthias Gamsjager on Dec 10, 2009 11:04 AM

Former Member
0 Kudos

Thank you i didn't check that part i_datasource before

Answers (0)