avatar image
Former Member

Query getting into debugging mode when executed in RSRT in Quality System.

Issue is coming for all the Bex Queries which we are executing in Quality and the same query are working fine in Development & Prod. Suggestion will highly appreciable

Below is the code :-

*" IMPORTING

*" REFERENCE(I_R_EXCEPTION) TYPE REF TO CX_ROOT
*" VALUE(I_MSGTY) TYPE SYMSGTY OPTIONAL
*" CHANGING
*" REFERENCE(C_T_MSG) TYPE RS_T_MSG
*"----------------------------------------------------------------------

DATA: l_s_msg TYPE bal_s_msg,
l_s_locmsg TYPE bal_s_msg, "Code location of Msg
l_repid TYPE syrepid,
l_include TYPE syrepid,
l_message TYPE rs_bool,
l_systp TYPE rs_systp,
l_source_line TYPE i,
l_r_no_check TYPE REF TO cx_rs_no_check,
l_r_exception TYPE REF TO cx_root,
l_r_previous TYPE REF TO cx_root,
l_r_no_msg TYPE REF TO cx_rs_no_msg,
l_r_message TYPE REF TO if_rs_message,
l_r_t100 TYPE REF TO if_t100_message,
L_S_MTDKEY type SEOCPDKEY.
FIELD-SYMBOLS:
<l_char> TYPE c.

l_r_previous = i_r_exception.

TRY.

WHILE l_r_previous IS BOUND.
l_r_exception = l_r_previous.
l_r_previous = l_r_exception->previous.

CLEAR: l_r_no_msg,
l_r_message,
l_r_t100.

IF l_r_previous IS INITIAL
AND i_msgty NA 'WIS'.
CALL METHOD l_r_exception->get_source_position
IMPORTING
program_name = l_repid
include_name = l_include
source_line = l_source_line.
if L_repid(3) = 'CL_'.
CL_OO_CLASSNAME_SERVICE=>GET_METHOD_BY_INCLUDE( exporting incname = l_include
receiving mtdkey = L_S_MTDKEY
exceptions others = 1 ).
if sy-subrc = 0.
l_repid = L_S_MTDKEY-CLSNAME.
l_include = L_S_MTDKEY-CPDNAME.
endif.
endif.
IF cl_rsr_mdx_ui_services=>is_debug( ) EQ rs_c_true.
BREAK-POINT. "#EC NOBREAK
ELSEIF sy-tcode EQ 'RSRTRACE'
OR sy-tcode EQ 'RSRCATTTRACE'
OR sy-tcode EQ 'RSRT'
OR sy-tcode EQ 'RSRT2'
OR sy-tcode EQ 'RSRAM'
OR sy-tcode EQ 'RSTT'
OR sy-cprog EQ 'RSTT_EXECUTE_TRACE'.
*_____________________________________________________________________

* error in >> l_repid <<
* >> l_include <<
* >> l_source_line <<
*__________________________^^^^^^^^^^^^^^_____________________________
BREAK-POINT. "#EC NOBREAK
l_message = rs_c_true.
ELSE.
CALL FUNCTION 'RRSV_SYSTYPE_GET'
IMPORTING
sys_type = l_systp.
IF l_systp EQ rs_sys_sap.
l_message = rs_c_true.
ENDIF.
ENDIF.

IF l_message = 'X'.
l_s_locmsg-msgv1 = l_repid.
l_s_locmsg-msgv2 = l_include.
l_s_locmsg-msgv3 = l_source_line.
SHIFT l_s_locmsg-msgv3 LEFT DELETING LEADING space.
l_s_locmsg-msgid = 'RS_EXCEPTION'.
l_s_locmsg-msgno = '301'.
l_s_locmsg-msgty = 'I'.

ENDIF.
ENDIF.

TRY.
l_r_message ?= l_r_exception.
IF l_r_message IS BOUND.
l_s_msg = l_r_message->get_message( ).
CHECK l_s_msg IS NOT INITIAL.

IF i_msgty IS NOT INITIAL.
l_s_msg-msgty = i_msgty.
ENDIF.
INSERT l_s_msg INTO c_t_msg INDEX 1.
CONTINUE.
ENDIF.
CATCH cx_root.
ENDTRY.

TRY.
l_r_t100 ?= l_r_exception.
IF l_r_t100 IS BOUND.
IF i_msgty IS NOT INITIAL.
l_s_msg-msgty = i_msgty.
ELSE.
l_s_msg-msgty = 'E'.
ENDIF.
l_s_msg-msgid = l_r_t100->t100key-msgid.
l_s_msg-msgno = l_r_t100->t100key-msgno.

PERFORM get_msgv USING l_r_exception l_r_t100->t100key-attr1
CHANGING l_s_msg-msgv1.

PERFORM get_msgv USING l_r_exception l_r_t100->t100key-attr2
CHANGING l_s_msg-msgv2.

PERFORM get_msgv USING l_r_exception l_r_t100->t100key-attr3
CHANGING l_s_msg-msgv3.

PERFORM get_msgv USING l_r_exception l_r_t100->t100key-attr4
CHANGING l_s_msg-msgv4.

INSERT l_s_msg INTO c_t_msg INDEX 1.
CONTINUE.
ENDIF.
CATCH cx_root.
ENDTRY.

* default handling
CALL FUNCTION 'RS_EXCEPTION_TEXT_TO_MESSAGE'
EXPORTING
i_r_exception = l_r_exception
IMPORTING
e_s_msg = l_s_msg.
IF i_msgty IS NOT INITIAL.
l_s_msg-msgty = i_msgty.
ENDIF.
INSERT l_s_msg INTO c_t_msg INDEX 1.
ENDWHILE.

CATCH cx_root.
CLEAR: l_s_msg.
l_s_msg-msgty = 'A'.
l_s_msg-msgid = 'BRAIN'.
l_s_msg-msgno = '299'.
l_s_msg-msgv1 = 'SAPLRS_EXCEPTION'.
l_s_msg-msgv2 = 'RS_EXCEPTION_TO_MESSAGE'.
APPEND l_s_msg TO c_t_msg.
ENDTRY.

IF l_message = rs_c_true.
APPEND l_s_locmsg TO c_t_msg.
CLEAR l_s_locmsg.
ENDIF.

CLEAR: l_r_no_msg,
l_r_message,
l_r_t100,
l_r_exception,
l_r_previous.

TRY.
CALL FUNCTION 'RS_EXCEPTION_CLEANUP'.
CATCH cx_root.
ENDTRY.

END FUNCTION.

-----------------------------------------------------------------------------------------------------------

For more details we are getting issue before this below function (CALL FUNCTION 'RRSV_SYSTYPE_GET') is called for the

L_REPID CL_RSD_ODSO

L_INCLUDE GET_HEADER_FROM_DB

L_SOURCE_LINE 21

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Apr 27, 2017 at 01:40 PM

    Hello Arti,

    Please check the note no. 2187181 (link).

    If it does not help, please also check the note no. 2422498 (link).

    Here are some additional workarounds:

    1. Re-save the query in the affected system or re-transport the query from the development
    2. Deactivate query parallel processing: Go to RSRT T-CODE, type in Query name, click F6, check "No Parallel Processing" option.
    3. Regenerate the query from the database level in RSRT: Type query name, click "Generate" button.

    Hope it helps.

    Cheers,

    Sebastian

    Add comment
    10|10000 characters needed characters exceeded

Skip to Content