cancel
Showing results for 
Search instead for 
Did you mean: 

CX_SY_MESSAGE_IN_PLUGIN_MODE

petr_husak
Explorer
0 Kudos

Hello experts,

I am writing some application for win CE devices in .net. It should communicate with SAP through BSP (I have no rights to configure wdsl). There is one page in BSP Application, with the parameter XML. In the event OnRequest I call FM L_TO_CONFIRM. From time to time it raises exception CX_SY_MESSAGE_IN_PLUGIN_MODE. I catch this exception in the try catch block to figure out what's wrong. I then pass some response outside the try endtry block to the parameter XML, but then after exiting the method of the OnRequest event it runs empty method if_abap_runtime~get_runtime by kernel module ab_kmGetRuntimeHR and the parameter XML is send to the device empty. I'd like to send the error message back.

Please help.

Thanks in advance.

The code is something like that:

try.
 call function 'L_TO_CONFIRM'
  exporting i_lgnum = lgnum
                  i_tanum = tanum
                  i_qname = uname
  tables      t_ltap_conf = tltap
  exceptions ....
.

catch cx_sy_message_in_plugin_mode into oref.
  clear message.
  select single text from t100
   into (message)
  where sprsl = sy-langu
      and arbgb = oref->msgid
      and msgnr = oref->msgno.

if sy-subrc <> 0.
  message = 'Unknown error'.
endif.

endtry.

if not message is initial.
  concatenate '<resp><state code="err" num="500">' message '</state>' body '</resp>' into xml.
  exit.
endif.

if sy-subrc <> 0.

.......

The layout is:

<%@page language="abap"%>

<?xml version="1.0"?>

<%=xml%>

Accepted Solutions (0)

Answers (1)

Answers (1)

petr_husak
Explorer
0 Kudos

It seems that the problem was caused by the & character in the message. After replacing it by oref->msgvx it started to work.