‎2008 Nov 10 4:13 PM
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.Regards
‎2008 Nov 11 6:39 AM
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
‎2008 Nov 11 6:39 AM
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
‎2008 Nov 11 7:43 AM
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_TABthe 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
‎2008 Nov 11 8:26 AM
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
‎2008 Nov 11 9:29 AM
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