如何在交货时删除批号?

如何解决如何在交货时删除批号?

我需要删除交货项目上的批号 (LIPS-CHARG) 并尝试使用 BAPI_OUTB_DELIVERY_CHANGE 没有成功。 我可以使用此 BAPI 正确更改交货数量 (LIPS-LFIMG) 并使用 WS_DELIVERY_UPDATE_2 更改拣货编号 (LIPS-PKIMG),但是无法删除批号。

有人已经删除了批号吗?不需要使用这个BAPI,可以是另一个。我只需要以任何方式删除批次。

以下代码用于更改交货数量和拣货数量。在某个时刻,我将拣货数量更改为零,此时我需要删除批号。

"&**** Begin structures BAPI_OUTB_DELIVERY_CHANGE *******
ls_header_data-deliv_numb     = p_vbeln.
ls_header_control-deliv_numb  = p_vbeln.
  
APPEND INITIAL LINE TO lt_item_data ASSIGNING FIELD-SYMBOL(<ls_item_data>).

<ls_item_data>-deliv_numb       = p_vbeln.
<ls_item_data>-deliv_item       = lv_posnn.
<ls_item_data>-material         = <ls_alv>-matnr. 
<ls_item_data>-batch            = <ls_alv>-charg. 
<ls_item_data>-hieraritem       = <ls_lips>-posnr.
<ls_item_data>-usehieritm       = '1'. 
<ls_item_data>-dlv_qty          = lv_delivery_qtd. "my delivery quantity
<ls_item_data>-dlv_qty_imunit   = lv_delivery_qtd. "my delivery quantity
<ls_item_data>-fact_unit_nom    = <ls_lips>-umvkz.
<ls_item_data>-fact_unit_denom  = <ls_lips>-umvkn.
<ls_item_data>-sales_unit       = <ls_lips>-vrkme.

APPEND INITIAL LINE TO lt_item_control ASSIGNING FIELD-SYMBOL(<ls_item_control>).

<ls_item_control>-deliv_numb = p_vbeln.
<ls_item_control>-deliv_item = lv_posnn.
<ls_item_control>-chg_delqty = 'X'.
"&**** End structures BAPI_OUTB_DELIVERY_CHANGE *******

CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
  header_data    = ls_header_data
  header_control = ls_header_control
  delivery       = p_vbeln
TABLES
  item_data      = lt_item_data
  item_control   = lt_item_control
  return         = lt_return.
 
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. 

  
"&**** Begin structures WS_DELIVERY_UPDATE_2 *******
APPEND INITIAL LINE TO lt_vbpok ASSIGNING FIELD-SYMBOL(<ls_vbpok>).
<ls_vbpok>-vbeln_vl = <ls_lips>-vbeln.                
<ls_vbpok>-posnr_vl = <ls_lips>-posnr.                
<ls_vbpok>-vbeln    = <ls_lips>-vgbel.                
<ls_vbpok>-posnn    = <ls_lips>-vgpos.                
<ls_vbpok>-matnr    = <ls_lips>-matnr.
<ls_vbpok>-werks    = <ls_lips>-werks.
<ls_vbpok>-umvkz    = <ls_lips>-umvkz.                
<ls_vbpok>-umvkn    = <ls_lips>-umvkn.                
<ls_vbpok>-gewei    = <ls_lips>-gewei.
<ls_vbpok>-charg    = <ls_alv>-charg.
<ls_vbpok>-pikmg    = lv_picking_qtd.   "my picking quantity

ls_vbkok-vbeln_vl = <ls_lips>-vbeln.               
ls_vbkok-vbtyp_vl = 'J'.                           
ls_vbkok-komue    = 'X'.                           
ls_vbkok-gewei    = <ls_lips>-gewei.
ls_vbkok-anzpk    = lv_anzpk.
ls_vbkok-kzapk    = 'X'.
"&**** End structures WS_DELIVERY_UPDATE_2 *******

CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
EXPORTING
    vbkok_wa                  = ls_vbkok
    delivery                  = p_vbeln
    synchron                  = abap_true
    update_picking            = abap_true
    nicht_sperren_1           = abap_true
    commit                    = abap_false
    if_error_messages_send    = abap_false
IMPORTING
    ef_error_any              = ls_error-any
    ef_error_in_item_deletion = ls_error-in_item_deletion
    ef_error_in_pod_update    = ls_error-in_pod_update
    ef_error_in_interface     = ls_error-in_interface
    ef_error_in_goods_issue   = ls_error-in_goods_issue
    ef_error_in_final_check   = ls_error-in_final_check
    ef_error_partner_update   = ls_error-partner_update
    ef_error_sernr_update     = ls_error-sernr_update
TABLES
    vbpok_tab                 = lt_vbpok.
    
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

解决方法

我发现了我的错误! 当我们需要删除批号时,我们不需要在ITEM_DATA-DELIV_ITEM上发送值。

在我的代码中,我在 ITEM_DATA-DELIV_ITEM 上发送了“90000001”,在 ITEM_DATA-USEHIERITM 上发送了“00010”,但为了工作,我只发送了 ITEM_DATA-USEHIERITM 并且批号被正确删除。

谢谢大家!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res