cancel
Showing results for 
Search instead for 
Did you mean: 

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

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

wounky
Participant
0 Kudos

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