BAPI_PRICES_CONDITIONS 修改价格存在BUG 不会自动拆分时间间隔,而是插入新的一条,导致同个有效期内有多条记录存在,VK13debug,

网上查了一下资料,有说明要程序中处理拆分多条间隔传入BAPI参数中,感觉比较麻烦,代码量也比较大容易出现BUG。
实践发现,当存在价格记录时,前台TCODE:VK11 创建会自动根据已有时间间隔拆分多间隔.
SO,价格创建修改都可以通过录屏VK11实现,但要注意如果起止日期一致,前台会多出一个确认的屏幕,所有最好提前进行校验,一致不触发更改

测试源码如下

REPORT yvk11.DATA:lt_message TYPE STANDARD TABLE OF bdcmsgcoll,ls_message TYPE bdcmsgcoll,ls_options TYPE ctu_params.
DATA:lt_bapireturn TYPE STANDARD TABLE OF bapiret2.
DATA:gt_bdcdata TYPE STANDARD TABLE OF bdcdata.  "BDCPARAMETERS: p_vkorg type vkorg,p_vtweg type vtweg,p_matnr TYPE matnr,p_datab TYPE datab,p_datbi TYPE datbi,p_konda TYPE konda,p_kbrte TYPE kbetr.PERFORM bdc_dynpro      USING 'SAPMV13A' '0100'.
PERFORM bdc_field       USING 'BDC_CURSOR'  'RV13A-KSCHL'.
PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
PERFORM bdc_field       USING 'RV13A-KSCHL'  'ZPBJ'.PERFORM bdc_dynpro      USING 'SAPMV13A' '1032'.
PERFORM bdc_field       USING 'BDC_CURSOR'  'RV13A-DATBI(01)'.
PERFORM bdc_field       USING 'BDC_OKCODE'  '/00'.
PERFORM bdc_field       USING 'KOMG-VKORG'  p_vkorg.
PERFORM bdc_field       USING 'KOMG-VTWEG'  p_vtweg.
PERFORM bdc_field       USING 'KOMG-KONDA'      p_konda.
PERFORM bdc_field       USING 'KOMG-MATNR(01)'  p_matnr.DATA lv_kbrte TYPE string.
lv_kbrte = p_kbrte.
CONDENSE lv_kbrte NO-GAPS.
PERFORM bdc_field       USING 'KONP-KBETR(01)'  lv_kbrte.
PERFORM bdc_field       USING 'RV13A-DATAB(01)'  p_datab.
PERFORM bdc_field       USING 'RV13A-DATBI(01))'  p_datbi.PERFORM bdc_dynpro      USING 'SAPMV13A' '1032'.
PERFORM bdc_field       USING 'BDC_CURSOR'  'KOMG-MATNR(01)'.
PERFORM bdc_field       USING 'BDC_OKCODE'  '=SICH'.ls_options-nobinpt = 'X'.
ls_options-dismode = 'N'.
ls_options-updmode = 'S'.CALL TRANSACTION 'VK11' USING gt_bdcdataOPTIONS FROM ls_optionsMESSAGES INTO lt_message.CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'TABLESimt_bdcmsgcoll = lt_messageext_return     = lt_bapireturn.READ TABLE lt_bapireturn TRANSPORTING NO FIELDS WITH KEY type = 'E'.
IF sy-subrc = 0.DATA msgtx TYPE string.LOOP AT lt_bapireturn INTO DATA(ls_bapireturn) WHERE type = 'E'.msgtx   = msgtx && ls_bapireturn-message && '->'.ENDLOOP.ROLLBACK WORK.WRITE: msgtx.ELSE.LOOP AT lt_bapireturn INTO ls_bapireturn .msgtx   = msgtx && ls_bapireturn-message && '->'.ENDLOOP.COMMIT WORK.WRITE: msgtx.
ENDIF.

PS-2022-04-22新增
VK11如果新增价格起止日期比当前起止日期范围大,达到的效果是会删除小的区间,保留最大区间。
前台会多出一个二次确认屏幕

VK11\VK12\VK13 价格间隔拆分问题相关推荐

  1. 金色传说:SAP-ABAP-VK11/VK12/VK13保存时增强

    一.业务需求/业务场景: 在维护销售价格(TCode:VK11/VK12)时,检查特定价格条件的价格等级必须维护,否则不能保存. 二.实现思路 优先考虑的实现方法是通过配置来实现,但由于本人更擅长AB ...

  2. VK11 VK12 保存增强

    BADI:  SD_COND_SAVE_A

  3. SAP 维护SD价格的探讨

    SAP前台维护SD模块价格 vk11/vk12/vk13 对应的BAPI:BAPI_PRICES_CONDITIONS 假设维护A类价格时,当期有效价格期间是 20220101~20221231 1) ...

  4. SAP SD模块常用事务码 Tcode

    1. VA01/VA02/VA03 创建销售订单 2. VL01N/VL02N/VL 创建交货单(外向交货) 3. VF01/VF02/VF03 创建开票凭证 4. V/LD 执行定价报表(销售SA单 ...

  5. python学生管理系统教学_Python项目:学生信息管理系统(完整版)

    本文是基于上一篇(python项目:学生信息管理系统(初版))进行了完善,并添加了新的功能. 主要包括有: 学生信息管理系统(完整版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----- ...

  6. 【python】app未注册用户自动筛选

    本文目标:手把手教一名零基础员工开发一款python桌面应用程序 项目目标:领导给了两张表,一张是全部员工表,一张是注册用户表,让统计未注册用户的详细清单 前期准备:自学python基本语法,能看懂p ...

  7. 《海龟交易法则》经典梳理

    序言,第一-第三章 海归交易法则 序言 本书是历史上最好的5本交易学著作之一的理由:1,重要的不是交易系统而是交易者贯彻交易系统的能力.2,用浅显易懂的语言阐述行为金融学的某些原理如何用于交易和影响交 ...

  8. iOS-如何返回某个字符串的拼音助记码

    我也是看了网上的一个示例代码后,在它的基础上进行的修改.因为项目上会用到,我相信很多人的项目上也会用到.所以实现后,也赶紧分享出来,希望后来人不需要花费时间了. 提示:这里用到了正则表达式,使用了一个 ...

  9. 剑指offer(C++)-JZ35:复杂链表的复制(数据结构-链表)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指 ...

最新文章

  1. 考PMP证书一定要参加PMP培训吗?
  2. LeetCode 685. 冗余连接 II
  3. 人工智能将为传统制造业带来什么?
  4. EasyUI学习总结(五)——EasyUI组件使用
  5. Oracle Net Configuration(监听程序和网络服务配置)
  6. 视频 + PPT | 企业服务如何破局增长?
  7. 中统计字符串长度的函数_SQL Server中的字符串分割函数
  8. birt脚本for循环语句_如何使用 for 循环语句嵌套方法!
  9. Base64 编码介绍
  10. python能做什么游戏-有趣又好玩的9个Python编程小游戏、简直太棒了
  11. 使用 paddle来进行文本生成
  12. 最新!Oracle/ MySQL/ MSSQL 三大数据库集体跳水。。
  13. MySql实战篇:写一个简单的存储过程,完成订单定时任务
  14. 回溯法 - 递归 - n皇后问题 - 所有解
  15. php去除文字格式,php如何清除html格式并去除文字中的空格然后截取文字
  16. excel怎么把竖排变成横排_衣服如此凌乱?怎么能忍受的了?衣柜收纳,试试这些神器吧...
  17. 数据时代的我们,应该拥有的大数据思维
  18. 7.31 XMap
  19. 仪表板工具Stimulsoft Dashboards中的文本元素介绍
  20. win10 任务栏图标左击无效,右击有效的处理办法

热门文章

  1. Java分布式全局ID(一)
  2. Python_第六篇 第三方安装包(1)_fancyimpute介绍及使用
  3. 王者荣耀怎么删掉注销的服务器,王者荣耀转区可以取消吗 跨系统角色转移怎么取消...
  4. mysql 存储过程参数数组_如何给存储过程,传一个数组参数?
  5. 【配置JAVA环境】
  6. python的拼音_GitHub - mozillazg/python-pinyin: 汉字转拼音(pypinyin)
  7. tgp进游戏不显示服务器连接异常,TGP启用腾讯游戏提示“TCLS_CORE异常退出”的解决方法...
  8. 某公司服务器故障导致数据库文件丢失的恢复过程
  9. Android Percent Layout 安卓百分比布局
  10. Damn it! 又忘记VSS Admin的密码了!