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.有効化します。

※警告が表示された場合は、コードを再確認し、間違いがあれば修正してから、もう一度[有効化]をクリックしてください。
UPDATE_ENTITY実行的更多相关文章
- [转载]Selenium実行中にJavaScriptのコードを実行する
Selenium実行中にJavaScriptのコードを実行する JavaScriptで画面の値を取得/設定するコードをメモ. WebDriverEx.cs // JavaScriptを実行(戻り値なし ...
- SAP Odata実行命令(1)
$count $Orderby:desc/asc ※$Orderby=ソートする項目 desc降順/asc昇順 を指定すること $Filter: $Skip,Top and Inline count: ...
- SAP Odata実行命令(2)
前言 $ skiptokenは.アプリケーションに送信されるエントリ数を制限するために使用されます. 膨大な数のエントリが要求された場合.これはパフォーマンスの向上にも役立ちます.次のリンクがアプリケ ...
- 実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまう
環境 Windows8 64bit Visual Studio 2010 Access 2010 32bit 接続プロバイダは「Microsoft.ACE.OLEDB.12.0」 対応 Downloa ...
- 【VBA】セールの最初起動時、VBAを自動的に実行方法
方法一 セールの「ThisWorkbook」にて.「Workbook」の「Open」関数にて.ロジックを追加する Private Sub Workbook_Open() Msgbox "He ...
- ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法
ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法 (2016-10-21 16:49:53) 今天在做一个查询的时候,报了一个"ORA-01652无法通过 ...
- gdb 常用内容
gdb exegdb exe coregdb -p info m TAB ^関数の先頭 info b ^list the breakpoint set args -a test ^引数設定 show ...
- VSSより、指定したファイルを取得するマクロ(パス入り)
Option Explicit'VSSのiniファイルの場所Private SRCSAFE_INI As String'VSS接続のユーザIDPrivate USER_ID As String'VSS ...
- ASP.NET MVCでResponse Headerのサーバーバージョンをどうやって隠しますか?
本来是发布在客户的Wiki上的,所以用日语写. ---------------------------------------------------------------------------- ...
随机推荐
- ZT C,C++表达式求值顺序 裘老的解释。 [问题点数:300分]
http://bbs.csdn.net/topics/370153775 [置顶] [推荐] C,C++表达式求值顺序 裘老的解释. [问题点数:300分] 最近这问题有从日经变时经的趋势,这里贴出裘 ...
- Eclipse环境下配置Tomcat,并且把项目部署到Tomcat服务器上
一 配置Tomcat 1.打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 2.单击"Server"选项 ...
- Ios国际化翻译工具
IOS Translation Tool(IOS国际化翻译工具) 介绍 当IOS项目国际化的时候,手工去翻译每一个字符串是一件非常痛苦的事情.尤其是当项目中存在N多种语言.而且又很难保证,手工翻译的准 ...
- linux 里的`反引号
Shell中可以将数字或字符直接赋予变量,也可以将Linux命令的执行结果赋予变量,如下: (1) $ count=9 #将数字赋予变量count (2) $ name=" ...
- 启用 DHCP
#开启DHCP协议 Get-NetIPInterface -Dhcp Disabled|Set-NetIPInterface -Dhcp Enabled #开启本机上所有博通网卡的DHCP Get-W ...
- windows自定义快捷键功能
如下:
- 关于iOS 3D touch 指纹验证的随笔
file:///Users/OWen/Desktop/3DTouch.png 随着iOS系统不断的更新迭代,苹果总会推出一些新的功能,今天就研究了一下iOS8之后推出的指纹验证的功能,然后写了一个小d ...
- Many-to-many relationships in EF Core 2.0 – Part 3: Hiding as ICollection
In the previous post we ended up with entities that hide the join entity from the public surface. Ho ...
- usb入门学习
1.学习资源: usb org.http://www.beyondlogic.org/usbnutshell/usb3.shtml http://wenku.baidu.com/view/028231 ...
- unittest单元测试框架之测试用例的跳过(skip) (六)
1.跳过测试用例的方法 @unittest.skip("don't run this case!"): @unittest.skipIf(3<2,"don't ru ...