后端系统中发生了运行时错误,而不是BAPI消息

2020-09-12 02:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我有以下代码,应该可以处...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,我有以下代码,应该可以处理odata上的bapi错误消息:

如果is_bapi_return-type CA'AE'。
       mo_context-> get_message_container()-> add_message_from_bapi(
       is_bapi_message = is_bapi_return
       iv_message_target ='BAPI'
      )。
       引发例外类型/iwbep/cx_mgw_busi_exception
         出口
           textid =/iwbep/cx_mgw_busi_exception => business_error
           message_container = mo_context-> get_message_container()。
     万一。


     如果line_exists(it_bapi_return [type ='E'])。


       mo_context-> get_message_container()-> add_messages_from_bapi(
        it_bapi_messages = it_bapi_return
        iv_determine_leading_msg =/iwbep/if_message_container => gcs_leading_msg_search_option-first
       )。


       引发例外类型/iwbep/cx_mgw_busi_exception
         出口
           textid =/iwbep/cx_mgw_busi_exception => business_error
           message_container = mo_context-> get_message_container()。

     万一。

 

当引发异常时,我在应用程序上获取了以下错误消息:

但是我希望看到以下错误消息:

我在做什么错了?

我们必须做些修饰吗?

谢谢

(23.7 kB)
5条回答
哎,真难
2020-09-12 02:01

我尝试过以下操作:

 METHOD catchexceptionse_get_entityset。
  bapi1003_alloc_values_num的数据lt_allocvaluesnum类型标准表。
  bapi1003_alloc_values_char的数据lt_allocvalueschar类型标准表。
  bapi1003_alloc_values_curr的数据lt_allocvaluescurr类型标准表。
  bapiret2的数据lt_return类型标准表。
  通话功能'BAPI_OBJCL_GETDETAIL'
  出口
  objectkey ='00000000001033'
  objecttable ='MARA'
  classnum ='Z_TESTGGE'
  classtype ='001'
  桌子
  allocvaluesnum = lt_allocvaluesnum
  allocvalueschar = lt_allocvalueschar
  allocvaluescurr = lt_allocvaluescurr
  return = lt_return。
  IF line_exists(lt_return [type ='E'])。
  mo_context-> get_message_container()-> add_messages_from_bapi(it_bapi_messages = lt_return
  iv_entity_type = iv_entity_name
  iv_determine_leading_msg =/iwbep/if_message_container => gcs_leading_msg_search_option-last
  )。
  引发例外类型/iwbep/cx_mgw_busi_exception
  出口
  实体类型= iv_entity_name
  message_container = mo_context-> get_message_container()。
  ENDIF.ENDMETHOD。

,它按预期工作。
现在错误消息与上面的有所不同:

 {

   "错误":{

     " code":" CL/763",

     "信息" : {

       " lang":" en",

       "值":"对象00000000001033不存在"

     },

     " innererror":{

       "申请":{

         " component_id":"",

         " service_namespace":"/img/SAP/",

         " service_id":" ZAM_ODATA_TEST_SRV",

         " service_version":" 0001"

       },

       " transactionid":" 471AD9138F8101A0E005BB46CD90DAF3",

       " timestamp":"",

       " Error_Resolution":{

         " SAP_Transaction":"",

         " SAP_Note":"请参阅SAP Note 1797736进行错误分析(https://service.sap.com/sap/support/notes/1797736)"

       },

       "错误详情" : [

         {

           " code":" CL/763",

           " message":"对象00000000001033不存在",

           " propertyref":"",

           "严重性":"错误",

           " target":""

         }

       ]

     }

   }

 } 

我以前做错了什么? 上面的错误信息是正确的。 不再像以前那样运行时异常。

谢谢