me12里更改信息记录的净价和有效价格,以及信息记录的条件价格
转自 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里更改信息记录的净价和有效价格,以及信息记录的条件价格的更多相关文章
- SNF快速开发平台3.0之--系统里广播的作用--迅速及时、简明扼要的把信息发送给接收者
广播信息,即速度快捷.迅速及时.简明扼要的把信息发送给接收者. 当然在SNF快速开发平台上你也可以作为公告使用.不管当做什么使用要满足以下需求: 简单操作:页面操作简单 只需要输入内容就可以发送. 灵 ...
- Android记录3--ExpandableListView使用+获取SIM卡状态信息
Android记录3--ExpandableListView使用+获取SIM卡状态信息 2013年8月9日Android记录 ExpandableListView是一个可以实现下拉列表的控件,大家可能 ...
- 如何更改/删除magento首页产品/广告图片等模块信息
如何更改/删除magento首页产品/广告图片等模块信息,如果只是修改一些简单的地方,例如已经存在 的左右栏目里面的图片内容等,是很简单的,直接在后台就可以修改的,具体如下: 如何删除magento首 ...
- NetFlow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息
NetFlow是一种数据交换方式,提供网络流量的会话级视图,记录下每个TCP/IP事务的信息.也许它不能象tcpdump那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读.Netflo ...
- django模板中变更数据库信息后,如何把变更后的信息同步更新到数据库
我们在基于django开发项目的过程中,经常会遇到数据库表字段增加,删除,或者修改的情况,以及字段属性更改的情况,因为django基于ORM模式来操作数据库的, 传统上如果django项目中的数据库m ...
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
原文:性能优化--统计信息--SQLServer自动更新和自动创建统计信息选项 原文译自:http://www.mssqltips.com/sqlservertip/2766/sql-server-a ...
- SQLServer中使用扩展事件获取Session级别的等待信息以及SQLServer 2016中Session级别等待信息的增强
本文出处:http://www.cnblogs.com/wy123/p/6835939.html 什么是等待 简单说明一下什么是等待:当应用程序对SQL Server发起一个Session请求的时候, ...
- 5G信令(就是用户身份信息)——手机开机后,先从USIM中读取之前运营商分配的临时身份信息GUTI/TMSI,发送携带该身份信息的信令给基站,请求接入运营商网络。
5G时代,跟IMSI-CATCHER SAY GOODBYE from:https://unicorn.360.com/blog/2018/04/18/GoodBye_5G_IMSI-Catcher/ ...
- [统计信息系列7] Oracle 11g的自动统计信息收集
(一)统计信息收集概述 在Oracle 11g中,默认有3个自动任务,分别是:自动统计信息收集.SQL调优顾问.段空间调整顾问,查看方法如下: SQL> SELECT CLIENT_NAME,T ...
随机推荐
- Linux命令大总结
from http://elain.blog.51cto.com/3339379/623310 Linux命令大总结------------------------------------------ ...
- centos中httpd Server not started: (13)Permission denied: make_sock: could not bind to address [::]:8888
Install semanage tools: sudo yum -y install policycoreutils-python Allow port 88 for httpd: sudo sem ...
- How to Log Users Login and Logout Details Through Oracle Forms
Log user's login and logout details in to table through Oracle Forms using POST-LOGON and PRE-LOGOUT ...
- Scut游戏服务器引擎之新手入门
1. 开发语言:Scut提供C#或Python两种脚本语言开发,Python脚本的性能会比较差,建议使用编译执行的C#代码: 2. 运行平台:Scut可以Window与Linux平台上运行,Linux ...
- {dede:sql}标签的用法
sql标签可以称得上是个万能标签了,查询数据库将其输出,这里介绍一些关于这个标签的用法: 1.用来输出统计内容,这个是不错的,举个例子,我们来统计下总共发了多少的文章,思路就是输出dede_addon ...
- Netty4.0 用户指南
原文链接http://netty.io/wiki/user-guide-for-4.x.html 前言 Nowadays we use general purpose applications or ...
- 一次测试岗位针对Java和接口的面试题
1.post和get的区别? 1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在UR ...
- 多媒体层预览(Media Layer OverView)
音频模块位于多媒体层里.多媒体层包含了图形.音频.视频三种技术.这三种技术会给你带来声觉.视觉上的良好体验. 来看看ios的结构体系以及媒体层上的内容: ...
- Web安全系列(二):XSS 攻击进阶(初探 XSS Payload)
什么是 XSS Payload 上一章我谈到了 XSS 攻击的几种分类以及形成的攻击的原理,并举了一些浅显的例子,接下来,我就阐述什么叫做 XSS Payload 以及从攻击者的角度来初探 XSS 攻 ...
- PHP增加$_ENV变量
在日常开发过程中,我们常常会将一些系统或模块配写在配置文件里.这样便于程序维护与修改.通常的配置文件有.ini , .xml等.配置文件的好处在于:1,便于管理.2,可读性高.但是,使用配置文件也会有 ...