01-14-2008 10:18 AM
Hello all together.
when I try to call the Function Module "RS_EU_CROSSREF" I get for some Methods of Classes no Results - but the Methods are used in other Programs / FMs / Methods.
The Parameters:
Import
I_FIND_OBJ_CLS = 'OM'
Tables
I_FINDSTRINGS = >Methodname<
I_SCOPE_OBJECTS = >Classname<
I´ve checked, whether the class is responsible: final und public. But for another class results are found. any suggestion?
Thanks in advance!
Best regards,
Alex
01-14-2008 2:05 PM
Ok, as it seems, the Function Module has Problems with child classes?
for example...
report z_childclassprob.
DATA:
ls_findstring type string,
lt_findstring like table of ls_findstring,
lt_founds type table of rsfindlst,
ls_scope_objects type rsfind,
lt_scope_objects like table of ls_scope_objects.
*Method
ls_findstring = 'ADD_LEADSELECTION_TO_DOM'. "not ok
*ls_findstring = 'DOES_NODE_HAVE_ATTRIBUTE'. "ok
append ls_findstring to lt_findstring.
*Classname
ls_scope_objects-object = 'CL_APL_ECATT_WDR_LEADSEL_IMPL'. "not ok
*ls_scope_objects-object = 'CL_APL_ECATT_WDR_GEN_XML'. "ok
append ls_scope_objects to lt_scope_objects.
call function 'RS_EU_CROSSREF'
exporting
i_find_obj_cls = 'OM'
I_SCOPE_OBJ_CLS = ' '
REKURSIV = ' '
I_ANSWER = ' '
I_ACTUAL_INCLUDE = ' '
NO_DIALOG = ' '
EXPAND_SOURCE_IN_BATCH_MODE = 'X'
EXPAND_SOURCE_IN_ONLINE_MODE = ' '
WITHOUT_TEXT = ' '
WITH_GENERATED_OBJECTS = ' '
IMPORTING
O_SCOPE_OBJ_CLS =
O_ANSWER =
TABLES
I_FINDSTRINGS = lt_findstring
O_FOUNDS = lt_founds
O_FINDSTRINGS =
I_SCOPE_OBJECTS = lt_scope_objects
I_ACTUAL_SOURCE =
I_SCOPE_OBJECT_CLS =
I_SCOPE_DEVCLASS =
I_EXCLUDE_SCOPE_OBJECT_CLS =
EXCEPTIONS
NOT_EXECUTED = 1
NOT_FOUND = 2
ILLEGAL_OBJECT = 3
NO_CROSS_FOR_THIS_OBJECT = 4
BATCH = 5
BATCHJOB_ERROR = 6
WRONG_TYPE = 7
OBJECT_NOT_EXIST = 8
OTHERS = 9
.
write sy-subrc.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
01-15-2008 12:24 PM
solved!
report z_find_parents.
DATA:
ls_findstring type rsfind,
lt_findstring like table of ls_findstring,
lt_founds type table of rsfindlst,
ls_scope_objects type rsfind,
lt_scope_objects like table of ls_scope_objects,
lf_lines type i.
*Method
ls_findstring-object = 'ADD_LEADSELECTION_TO_DOM'.
ls_findstring-ENCL_OBJ = 'CL_APL_ECATT_WDR_LEADSEL_IMPL'.
append ls_findstring to lt_findstring.
call function 'RS_EU_CROSSREF'
exporting
i_find_obj_cls = 'OM'
TABLES
I_FINDSTRINGS = lt_findstring
O_FOUNDS = lt_founds
I_SCOPE_OBJECTS = lt_scope_objects
EXCEPTIONS
NOT_EXECUTED = 1
NOT_FOUND = 2
ILLEGAL_OBJECT = 3
NO_CROSS_FOR_THIS_OBJECT = 4
BATCH = 5
BATCHJOB_ERROR = 6
WRONG_TYPE = 7
OBJECT_NOT_EXIST = 8
OTHERS = 9
.
DESCRIBE TABLE lt_founds LINES lf_lines.
write lf_lines.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.