转自 http://blog.csdn.net/zeewjj/article/details/7941525
REPORT ztest.

DATA:l_kbetr LIKE konp-kbetr.
l_kbetr = '999999'.
*UPDATE konp SET kbetr = l_kbetr  WHERE knumh = '0002394137'.
DATA:it_condct LIKE TABLE OF bapicondct WITH HEADER LINE,
     it_condhd LIKE TABLE OF bapicondhd WITH HEADER LINE,
     it_condit LIKE TABLE OF bapicondit WITH HEADER LINE,
     it_condqs LIKE TABLE OF bapicondqs WITH HEADER LINE,
     it_condvs LIKE TABLE OF bapicondvs WITH HEADER LINE,
     it_ret_mes LIKE TABLE OF bapiret2  WITH HEADER LINE,
     it_knumhs  LIKE TABLE OF bapiknumhs WITH HEADER LINE,
     it_mem_initial LIKE TABLE OF cnd_mem_initial WITH HEADER LINE.

*& 条件价格赋值,需要填充TI_BAPICONDCT,TI_BAPICONDHD,TI_BAPICONDIT.

it_condct-table_no = '017'.
it_condct-cond_usage = 'A'.
it_condct-cond_type  = 'PB00'.
it_condct-applicatio = 'M'.
it_condct-operation  = '004'.

it_condct-cond_no    = '0002394137'.
it_condct-valid_from = 20090907.
it_condct-valid_to   = 99991231.

DATA:l_lifnr LIKE eina-lifnr,
     l_matnr LIKE eina-matnr,
     l_key   LIKE bapicondct-varkey.
l_lifnr = '0000001108'.
l_matnr = '5940-01972'.

CONCATENATE l_lifnr l_matnr INTO l_key.
CONCATENATE l_key '1000' INTO l_key SEPARATED BY ''.
CONCATENATE l_key '1000' '0' INTO l_key.
it_condct-varkey = l_key.
APPEND it_condct.

it_condhd-cond_no = '0002394137'.
it_condhd-operation = '004'.
it_condhd-cond_usage = 'A'.
it_condhd-table_no   = '017'.
it_condhd-applicatio = 'M'.
it_condhd-cond_type  = 'PB00'.
it_condhd-varkey     = l_key.
it_condhd-valid_from = 20090907.
it_condhd-valid_to   = 99991231.
APPEND it_condhd.

it_condit-cond_no = '0002394137'.
it_condit-operation = '004'.
it_condit-cond_count = '01'.
it_condit-applicatio = 'M'.
it_condit-cond_type  = 'PB00'.
it_condit-scaletype  = 'A'.
it_condit-conditidx  = '01'.
it_condit-cond_p_unt = '1'.
it_condit-cond_unit  = 'SET'.
PERFORM convert_into_input CHANGING it_condit-cond_unit.
it_condit-calctypcon = 'C'.
it_condit-exclusion  = 'X'.
it_condit-pmnttrms   = ''.
it_condit-condcurr   = 'CNY'.

it_condit-cond_value = l_kbetr.

APPEND it_condit.

CALL FUNCTION 'BAPI_PRICES_CONDITIONS'
  TABLES
    ti_bapicondct  = it_condct
    ti_bapicondhd  = it_condhd
    ti_bapicondit  = it_condit
    ti_bapicondqs  = it_condqs
    ti_bapicondvs  = it_condvs
    to_bapiret2    = it_ret_mes
    to_bapiknumhs  = it_knumhs
    to_mem_initial = it_mem_initial
  EXCEPTIONS
    update_error   = 1
    OTHERS         = 2.
IF sy-subrc = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ENDIF.

DATA:it_einex LIKE TABLE OF  eine WITH HEADER LINE,
     it_einax LIKE TABLE OF eina WITH HEADER LINE,
     it_einay LIKE TABLE OF eina WITH HEADER LINE ,
     it_einey LIKE TABLE OF eine WITH HEADER LINE,
     it_reg_eina LIKE TABLE OF eina WITH HEADER LINE.

SELECT SINGLE *
INTO it_einay
FROM eina
WHERE infnr = '5300268905'.

it_einax = it_einay.
it_reg_eina = it_einax.

SELECT *
INTO TABLE it_einey
FROM eine
WHERE infnr = '5300268905'.

LOOP AT it_einey.
  it_einex = it_einey.
  it_einex-netpr = l_kbetr.
  it_einex-effpr = l_kbetr.
  APPEND it_einex.

ENDLOOP.

CALL FUNCTION 'ME_UPDATE_INFORECORD' IN UPDATE TASK
  EXPORTING
    xeina    = it_einax
    xeine    = it_einex
    yeina    = it_einay
    yeine    = it_einey
    reg_eina = it_reg_eina.

CLASS cl_badi_mm DEFINITION LOAD.
DATA:l_exit TYPE REF TO if_ex_me_inforec_send.
DATA:it_eina_n TYPE mmpr_einau,
     it_eina_o TYPE mmpr_eina,
     it_eine_n TYPE mmpr_eineu,
     it_eine_o TYPE mmpr_eine ,
     wa_eina_n LIKE LINE OF it_eina_n,
     wa_eine_n LIKE LINE OF it_eine_n,
     wa_eina_o LIKE LINE OF it_eina_o,
     wa_eine_o LIKE LINE OF it_eine_o.

DATA: maxmenge LIKE ekpo-menge VALUE '9999999999'.

l_exit ?= cl_badi_mm=>get_instance( 'ME_INFOREC_SEND' ).
IF NOT l_exit IS INITIAL.

IF NOT  it_einax  IS INITIAL.

MOVE-CORRESPONDING it_einax TO   wa_eina_n.
    APPEND wa_eina_n TO it_eina_n.
    MOVE-CORRESPONDING it_einax TO wa_eina_o.
    APPEND wa_eina_o TO it_eina_o.

ENDIF.

IF NOT  it_einex  IS INITIAL.
    MOVE-CORRESPONDING it_einex  TO   wa_eine_n.
    MOVE 'U' TO  wa_eine_n-kz.
    APPEND wa_eine_n TO it_eine_n.
    MOVE-CORRESPONDING it_einey TO wa_eine_o.
    APPEND wa_eine_o TO it_eine_o.
  ENDIF.

CALL METHOD l_exit->send_changes
    EXPORTING
      n_eina        = it_eina_n
      o_eina        = it_eina_o
      n_eine        = it_eine_n
      o_eine        = it_eine_o
    EXCEPTIONS
      error_in_send = 1.
ENDIF.

COMMIT WORK.
*&---------------------------------------------------------------------*
*&      Form  CONVERT_INTO_INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_IT_CONDIT_COND_UNIT  text
*----------------------------------------------------------------------*
FORM convert_into_input  CHANGING p_cond_unit.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
    EXPORTING
      input          = p_cond_unit
      language       = sy-langu
    IMPORTING
      output         = p_cond_unit
    EXCEPTIONS
      unit_not_found = 1
      OTHERS         = 2.

ENDFORM.                    " CONVERT_INTO_INPUT

me12里更改信息记录的净价和有效价格,以及信息记录的条件价格的更多相关文章

  1. SNF快速开发平台3.0之--系统里广播的作用--迅速及时、简明扼要的把信息发送给接收者

    广播信息,即速度快捷.迅速及时.简明扼要的把信息发送给接收者. 当然在SNF快速开发平台上你也可以作为公告使用.不管当做什么使用要满足以下需求: 简单操作:页面操作简单 只需要输入内容就可以发送. 灵 ...

  2. Android记录3--ExpandableListView使用+获取SIM卡状态信息

    Android记录3--ExpandableListView使用+获取SIM卡状态信息 2013年8月9日Android记录 ExpandableListView是一个可以实现下拉列表的控件,大家可能 ...

  3. 如何更改/删除magento首页产品/广告图片等模块信息

    如何更改/删除magento首页产品/广告图片等模块信息,如果只是修改一些简单的地方,例如已经存在 的左右栏目里面的图片内容等,是很简单的,直接在后台就可以修改的,具体如下: 如何删除magento首 ...

  4. NetFlow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息

    NetFlow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息.也许它不能象tcpdump那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读.Netflo ...

  5. django模板中变更数据库信息后,如何把变更后的信息同步更新到数据库

    我们在基于django开发项目的过程中,经常会遇到数据库表字段增加,删除,或者修改的情况,以及字段属性更改的情况,因为django基于ORM模式来操作数据库的, 传统上如果django项目中的数据库m ...

  6. 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项

    原文:性能优化--统计信息--SQLServer自动更新和自动创建统计信息选项 原文译自:http://www.mssqltips.com/sqlservertip/2766/sql-server-a ...

  7. SQLServer中使用扩展事件获取Session级别的等待信息以及SQLServer 2016中Session级别等待信息的增强

    本文出处:http://www.cnblogs.com/wy123/p/6835939.html 什么是等待 简单说明一下什么是等待:当应用程序对SQL Server发起一个Session请求的时候, ...

  8. 5G信令(就是用户身份信息)——手机开机后,先从USIM中读取之前运营商分配的临时身份信息GUTI/TMSI,发送携带该身份信息的信令给基站,请求接入运营商网络。

    5G时代,跟IMSI-CATCHER SAY GOODBYE from:https://unicorn.360.com/blog/2018/04/18/GoodBye_5G_IMSI-Catcher/ ...

  9. [统计信息系列7] Oracle 11g的自动统计信息收集

    (一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,T ...

随机推荐

  1. Arc Object开发,概述2

    简介 Esri公司推出的ArcGIS产品是一个非常强大的体系,里面包含ArcGIS Desktop.ArcGIS Server.ArcGIS Engine.ArcSDE.ArcGIS Online等, ...

  2. 15 THINGS ALL GIRLS SHOULD KNOW ABOUT THEIR VAGINA

    Here are 15 facts that EVERY GIRL should know about her vagina. Don’t be shy! Your vagina is part of ...

  3. 记C++课程设计--学生信息管理系统

                                                                                  C++课程设计--学生信息管理系统     ...

  4. jquery相冊图片来回选择

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <script sr ...

  5. qs库使用

    1.npm地址 https://www.npmjs.com/package/qs 2.概述 将url中的参数转为对象: 将对象转为url参数形式 3.示例 import qs from 'qs'; c ...

  6. Vue2.0 :key作用

    转自:https://www.cnblogs.com/zhumingzhenhao/p/7688336.html 为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需 ...

  7. scramble-string——两个字符串经过树化并旋转后是否一致、递归、动态规划

    Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...

  8. Jquery.ajax报parseerror Invalid JSON错误的原因和解决方法:不能解析

    (默认: 自动判断 (xml 或 html)) 请求失败时调用时间.参数有以下三个:XMLHttpRequest 对象.错误信息.(可选)捕获的错误对象.如果发生了错误,错误信息(第二个参数)除了得到 ...

  9. Oracle的主键约束、唯一约束与外键约束

    http://www.shangxueba.com/jingyan/122163.html主键:  1.主键约束: 一个表只能有一个主键约束.主键可以是单个字段,也可以是多个字段.无论是哪种情况,其所 ...

  10. git stash 保存当前工作状态

    1. git stash   暂存当前工作状态 2. git stash list 查看暂存列表 3. git stash save 'title' 暂存工作状态并添加说明 4. git stash ...