获取PO日志ID

DATA: lv_error_msg   TYPE string,  
          lv_action_name TYPE val_text,  
          lt_pernr       TYPE TABLE OF zhr_pernr,  
          lo_bpm_engine  TYPE REF TO zcl_co_si_21160_ceerp_rwbl_out,  
          lo_message_id  TYPE REF TO if_wsprotocol_message_id,  
          ls_engine_out  TYPE zcl_mt_21160_ceerp2sgbpm_rwbl1,  
          ls_engine_in   TYPE zcl_mt_21160_ceerp2sgbpm_rwbl,  
          lo_cx          TYPE REF TO cx_ai_system_fault.
 DATA: lv_para TYPE string.  
  
    GET TIME STAMP FIELD DATA(lv_timestamp).  
  
    gs_wf_log =  VALUE #( db_key           = /bobf/cl_frw_factory=>get_new_key( )  
                          bpm_business_key = iv_bpm_business_key  
                          mv_uid           = mv_uid  
                          wf_service_name  = '办理'  
                          created_date     = sy-datum  
                          created_time     = sy-uzeit  
                          created_by       = sy-uname  
                          created_at       = lv_timestamp ).

    TRY.  
        CREATE OBJECT lo_bpm_engine.  
        lo_message_id ?= lo_bpm_engine->get_protocol( if_wsprotocol=>message_id ).  
        lo_bpm_engine->si_21160_ceerp_rwbl_out( EXPORTING output = ls_engine_out IMPORTING input = ls_engine_in ).  
        DATA(lv_message_id) = lo_message_id->get_message_id( ).  
        gs_wf_log-po_message_id = lv_message_id.  
      CATCH cx_ai_system_fault INTO lo_cx.  
        lv_message_id = lo_message_id->get_message_id( ).  
        gs_wf_log-po_message_id = lv_message_id.  
        gs_wf_log-short_msg = lo_cx->errortext.  
        MESSAGE e000(zers_msg) RAISING error_exist  WITH 'PO:' && lo_cx->errortext.  
    ENDTRY.