Hi all,
I am running a standard transaction between ECC and BW.
One standard function module doesn't return the expected results
and I can't change the coding to catch a SYSTEM_FAILURE or COMMUNICATION_FAILURE.
Here is what happens in details: the coding that causes issue is in
class CL_UA_FORMULA_PDCE, method GET_CO_AREA_CURRENCY, line 51.
CALL FUNCTION 'RSSEM_CHA_VALUES_GET'
DESTINATION ld_rfcdest
EXPORTING
i_chanm = cd_iobj_co_area
i_read_attr = abap_true
TABLES
ith_selopt = lt_selopt
eth_chavl = lt_chavl
EXCEPTIONS
unknown_iobj = 1
OTHERS = 2.
With values:
- ld_rfcdest = BICLNT100
- cd_iobj_co_area = 0CO_AREA
- lt_selopt = 1 line with 0CO_AREA I EQ 1000
- lt_chavl is empty
When run the transaction in ECC, I receive exception 2 (others).
When I run the RFC call in SE37 in ECC, I receive the expected values, no exception.
When I run the function module in SE37 in BI and with the RFC user in the debugger, I receive the expected values, no exception.
I believe there is a communication or authorization issue, which could be caught with
EXCEPTIONS
SYSTEM_FAILURE = 1 MESSAGE L_V_RFC_MESS
COMMUNICATION_FAILURE = 2 MESSAGE L_V_RFC_MESS
But since this is standard coding, I can’t change it.
I tried to run an RFC trace, but the content is useless.
I tried the System Debugging, but it won't jump into the BW system.
Is there a better basis transaction to see what happens between the 2 machines?
Any other idea?
Regards,
Julien