Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create Badi dump

Former Member
0 Likes
700

Hi,

i use this document below for createing badi ,

i follow the steps and in page 16 write to use sucomp ,

i do that and i get dump :DATA_INCONS_IN_EXIT_MANAGEM.

i this method i get it .

any idea what it can be ?

CALL METHOD cl_exithandler=>get_instance
  CHANGING
    instance = lr_exit.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb9...

Regards

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
632

Hi Ricardo ,

This means that there is data inconsistency in the interface declared for the badi in the user exit...

Please check the declaration for lr_exit

is it like :lr_exit will be type reference to the enhancement interface we have created...

In this interface the data declarations should be proper and the badi definition and interface needs to be activated without errors..Pls make sure all the parameter declarations are correct and it is same as that in the user exit as mentioned in PDF..if there is a mismatch in the import/export parameters it will give dump in the same way it gives a dump in funtion module

Pls check and revert

Hope it helps

Regards

Byju

4 REPLIES 4
Read only

Former Member
0 Likes
633

Hi Ricardo ,

This means that there is data inconsistency in the interface declared for the badi in the user exit...

Please check the declaration for lr_exit

is it like :lr_exit will be type reference to the enhancement interface we have created...

In this interface the data declarations should be proper and the badi definition and interface needs to be activated without errors..Pls make sure all the parameter declarations are correct and it is same as that in the user exit as mentioned in PDF..if there is a mismatch in the import/export parameters it will give dump in the same way it gives a dump in funtion module

Pls check and revert

Hope it helps

Regards

Byju

Read only

0 Likes
632

HI Byju,

Thanks,

we work on netweaver 7.1 so i create enhancement spot zif_enh_5.

there i create method address_check with parameters :

X_DIALOG_ALLOWED	Importing	Type	RSGEN-KENNZX              SPACE
X_ACCEPT_ERROR	Importing	Type	RSGEN-KENNZX                 SPACE
X_ADRC_STRUC	         Importing	    Type	ADRC_STRUC
IV_NATION	        Importing	     Type	AD_NATION                               SPACE
Y_ADRC_STRUC	        Changing	     Type	ADRC_STRUC
Y_RETCODE	       Changing	     Type	SZAD_FIELD-RC_ERRORS
ERROR_TABLE	       Changing	     Type	ADDR_ERROR_TAB

the code below is what i put in the user exit .

this the code in the user exit.

DATA: lr_exit TYPE REF TO zif_enh_5,
      y_error_table TYPE addr_error_tab .

************************************************************************
* Enhancement specific, else runtime error occurs when Project activated
*y_adrc_struc = x_adrc_struc.
************************************************************************
* BAdi stuff
* get BAdI implementation
CALL METHOD cl_exithandler=>get_instance
  CHANGING
    instance = lr_exit.


* Call BAdI
CALL METHOD lr_exit->address_check
  EXPORTING
    x_dialog_allowed = x_dialog_allowed
    x_accept_error   = x_accept_error
    x_adrc_struc     = x_adrc_struc
  CHANGING
    y_adrc_struc     = y_adrc_struc
    y_retcode        = y_retcode
    error_table      = y_error_table.
************************************************************************
* add the BAdI error table to the Enhancement
APPEND LINES OF y_error_table TO error_table.

if u have another comments i would like to hear .

Thanks again and Regards

Read only

0 Likes
632

HI byju,

another thing is that

when i use the debugger and i point on call method line, and double click on lr_exit it's initial .

maybe the problem is starting here ?

CALL METHOD cl_exithandler=>get_instance
  CHANGING
    instance = lr_exit.

in the method the instance & class name both are initial .

CALL METHOD cl_exithandler=>get_class_name_by_interface
    EXPORTING
      instance                      = instance
    IMPORTING
      class_name                    = class_name
    CHANGING
      exit_name                     = exit_name
    EXCEPTIONS
      no_reference                  = 1
      no_interface_reference        = 2
      no_exit_interface             = 3
      data_incons_in_exit_managem   = 4
      class_not_implement_interface = 5
      OTHERS                        = 6.

Regards

Read only

0 Likes
632

Good point Ricardo,

I believe we cannot create reference to an enhancement spot in the same way we create for a user exit(although i have not tried it out).

For an enhancement spot,if we double click on the spot name it take us to a screen with additional details.Maybe there we can find details on deciding as to where the lr_exit must refer to.

Pls check and revert

Regards

Byju