zoukankan      html  css  js  c++  java
  • UPDATE_ENTITY実行

    1.クラスZCL_Z_EPM_RKT_DPC_EXTのクラスビルダ画面から、SALESORDERS_UPDATE_ENTITYメソッドを選択し、右クリックで、再定義をクリックします。

    2.以下のソースコードように変更内容を編集します。

    method SALESORDERS_UPDATE_ENTITY.
    
        DATA: lv_id(10)            TYPE          N,
              ls_id                TYPE          bapi_epm_so_id.
        DATA: ls_headerdata        TYPE          bapi_epm_so_header,
              lt_return            TYPE TABLE OF bapiret2,
              ls_return            TYPE          bapiret2,
              err_msg              TYPE          string,
              lo_message_container TYPE REF TO   /iwbep/if_message_container.
        DATA: ls_message           TYPE          scx_t100key,
              lt_keys       TYPE                 /iwbep/t_mgw_tech_pairs.
        DATA  ls_headerdatax       TYPE          bapi_epm_so_headerx.
    
        FIELD-SYMBOLS: <ls_key>    TYPE /iwbep/s_mgw_tech_pair.
    
        lt_keys = io_tech_request_context->get_keys( ).
    
        READ TABLE lt_keys WITH KEY name = 'SO_ID'
          ASSIGNING <ls_key>.
    
        IF sy-subrc EQ 0.
          lv_id = <ls_key>-value.
        ENDIF.
    
    
        IF lv_id IS INITIAL.
          ls_message-msgid = 'SY'.
          ls_message-msgno = '002'.
          ls_message-attr1 = 'No Sales Order ID provided'.
          RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception
            EXPORTING
              textid = ls_message.
        ENDIF.
    
        io_data_provider->read_entry_data( IMPORTING es_data = ls_headerdata ).
    
        ls_id-so_id = lv_id.
    
        " EPM: Sales Order header data fields that can be updated
        " using the OData service
    
        ls_headerdatax-so_id = lv_id.
        ls_headerdatax-note = 'X'.
        ls_headerdatax-LIFECYCLE_STATUS = 'X'.
        ls_headerdatax-BILLING_STATUS = 'X'.
        ls_headerdatax-DELIVERY_STATUS = 'X'.
    
        CALL FUNCTION 'BAPI_EPM_SO_CHANGE'
          EXPORTING
            SO_ID               = ls_id
            SOHEADERDATA        = ls_headerdata
            SOHEADERDATAX       = ls_headerdatax
          TABLES
            RETURN              = lt_return
                  .
    
        IF lt_return IS NOT INITIAL.
    
          LOOP AT lt_return INTO ls_return.
    
            err_msg = ls_return-message .
    
          ENDLOOP.
    
          ls_message-msgid = 'SY'.
          ls_message-msgno = '002'.
          ls_message-attr1 = err_msg.
    
          RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception
            EXPORTING
              textid = ls_message.
    
        ENDIF.
    
        MOVE-CORRESPONDING ls_headerdata TO er_entity.
    
    endmethod. 
    

      

    4.有効化します。

    ※警告が表示された場合は、コードを再確認し、間違いがあれば修正してから、もう一度[有効化]をクリックしてください。

  • 相关阅读:
    javaWeb总结——session
    javaWeb中servlet开发——过滤器
    参数化测试
    JUnit 4中元数据的用法
    appium常用方法
    appium查看控件的方法
    appium+java+testng+maven环境搭建
    java-appium自动化测试之DesiredCapabilities
    GitHub 标星 15.3k,Java 编程思想最新中文版(On Java 8)
    【成功上岸】2年半开发经验进入梦寐以求的京东上班,附上我的上岸经验希望帮助到大家!
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10636251.html
Copyright © 2011-2022 走看看