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.

  

BAPI関数BAPI_EPM_SO_CHANGEは、渡されたSO_IDキーを使用してデータを更新します。 この実装では、ls_headerx構造体を使用して更新できる4つのフィールド(Note、Lifecycle Status、Billing Status、およびDelivery Status)を定義しています。 UPDATE / PUT操作が成功すると、PUT操作のOData標準に準拠した更新データが応答本体に返されず、代わりにHTTP応答コード204が返され、更新操作が成功したことが確認されます。

4.有効化します。

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

UPDATE_ENTITY実行的更多相关文章

  1. [转载]Selenium実行中にJavaScriptのコードを実行する

    Selenium実行中にJavaScriptのコードを実行する JavaScriptで画面の値を取得/設定するコードをメモ. WebDriverEx.cs // JavaScriptを実行(戻り値なし ...

  2. SAP Odata実行命令(1)

    $count $Orderby:desc/asc ※$Orderby=ソートする項目 desc降順/asc昇順 を指定すること $Filter: $Skip,Top and Inline count: ...

  3. SAP Odata実行命令(2)

    前言 $ skiptokenは.アプリケーションに送信されるエントリ数を制限するために使用されます. 膨大な数のエントリが要求された場合.これはパフォーマンスの向上にも役立ちます.次のリンクがアプリケ ...

  4. 実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまう

    環境 Windows8 64bit Visual Studio 2010 Access 2010 32bit 接続プロバイダは「Microsoft.ACE.OLEDB.12.0」 対応 Downloa ...

  5. 【VBA】セールの最初起動時、VBAを自動的に実行方法

    方法一 セールの「ThisWorkbook」にて.「Workbook」の「Open」関数にて.ロジックを追加する Private Sub Workbook_Open() Msgbox "He ...

  6. ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法

    ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法 (2016-10-21 16:49:53)   今天在做一个查询的时候,报了一个"ORA-01652无法通过 ...

  7. gdb 常用内容

    gdb exegdb exe coregdb -p info m TAB ^関数の先頭 info b ^list the breakpoint set args -a test ^引数設定 show ...

  8. VSSより、指定したファイルを取得するマクロ(パス入り)

    Option Explicit'VSSのiniファイルの場所Private SRCSAFE_INI As String'VSS接続のユーザIDPrivate USER_ID As String'VSS ...

  9. ASP.NET MVCでResponse Headerのサーバーバージョンをどうやって隠しますか?

    本来是发布在客户的Wiki上的,所以用日语写. ---------------------------------------------------------------------------- ...

随机推荐

  1. 学习的矩阵微积分The matrix calculus you need for deep learning

    学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...

  2. spring core

    https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#beans

  3. ZT Abstract Factory

    实际上,Abstract Factory 模式是为创建一组(有多类)相关或依赖的对象提供创建接口,而 Factory 模式正如我在相应的文档中分析的是为一类对象提供创建接口或延迟对象的创建到子类中实现 ...

  4. Linux 系统查看tomcat控制台命令

    前提进入tomcat/logs文件夹下 查看全部命令是:tail -f catalina.out 如果想查看具体文件的日志进入该文件所在目录然后命令如下: tail -f filename

  5. maven添加oracle依赖失败

    由于Oracle授权问题,Maven3不提供oracle JDBC driver 可以到maven中央仓库去下载依赖,网址:http://repo.spring.io/plugins-release/ ...

  6. 在Ubuntu搭建网站环境问题记录

    1. 安装apache2 遇到如下问题 root@louis:~# apt-get install apache2Reading package lists... DoneBuilding depen ...

  7. sqlserver数据库 表中字段值有空格,如何去除空格(例如char (5) 存入数据不足5位时sqlserver会自动补空格)

    普通的空格 前后的空格,使用LTrim和RTrim即可,例如:LTrim(RTrim(Name)) 中间的空格,使用replace函数替换,例如:Replace(Name,' ','') 如果是普通的 ...

  8. [JLOI2016/SHOI2016]侦察守卫

    嘟嘟嘟 这道题可以说是[HNOI2003]消防局的设立的升级版.距离从2改为了d. 辛亏d只有20,这也就是一个切入点. 令f[u][j]表示u四周 j - 1的距离需要被覆盖,g[u][j]表示u可 ...

  9. 配置git

    https://blog.csdn.net/qq_34446663/article/details/81106018

  10. HDU 1017A Mathematical Curiosity (暴力统计特殊要求个数)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1017 A Mathematical Curiosity Time Limit: 2000/1000 M ...