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. Python之条件判断和循环(入门4)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407755.html 本文出自:[Edwin博客园] Python之条件判断和循环 1. Python之if ...

  2. pcel安装的mongodb的两个问题的解决方案

    最近工作需要,要使用mongodb,这个是使用 pecl 安装的,跟标准的 mongo 使用还是有区别的,这里不讲区别,只讲两个比较典型的问题该如何处理,具体的文档大家可以直接参考 php 的官方文档 ...

  3. 安卓渗透测试工具Drozer学习笔记

    下载,并安装. pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server ...

  4. [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)

    一.概念及分类 InputStream(输入流)/OutputStream(输出流)是所有字节输入输出流的父类 [注]输入流和输出流的是按程序运行所在的内存的角度划分的 字节流操作的数据单元是8的字节 ...

  5. 图片验证码——base64编码的使用

    一.介绍: 1.base64编码简介: Base64就是一种编码格式.Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成 ...

  6. 调用save()方法,页面显示保存成功,但是数据库中没有值的原因

    在DAO层调用save()方法,页面上显示成功,但是在数据库中查找时发现数据没有保存到数据库中的原因可能是: 1.Service层中是否在调用DAO层中的save()方法之前添加注解@Transact ...

  7. Spring mvc实现ex导入导出

    依赖架包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</arti ...

  8. if else 和 switch的效率

    switch在判断分支时,没有判断所有的可能性,而是用一个静态表来解决这个问题,所以速度要比if-else快. 但是,switch对较复杂的表达式进行判断,所以当我们需要判断一些简单数值时,用swit ...

  9. How to Effectively crack .JAR Files?

    Author: http://www.cnblogs.com/open-coder/p/3763170.html With some external tools, we could crack a ...

  10. 『C++』Temp_2018_12_26

    #include <iostream> #include <string> #include <array> using namespace std; class ...