域VBAP NETWR在未完成过程Y1中没有被定义 消息号V1105

文章讲述了项目中遇到的问题,即标准订单不允许零金额但需支持买赠业务,导致配置变更报错。解决方法涉及增强MV45AFZB并在运行时向不完整日志添加字段,以避免未完成过程中未定义字段的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

项目中,调研阶段说标准订单不允许出现零金额订单,因此将净价配置成不完整校验,但是在系统运行一段时间后,出现新增买赠业务,需要在标准订单中下零金额行,因此修改了SAP销售凭证不完整日志配置,造成销售订单打开时,报错如下:
报错信息
原配置
原配置
去掉净值后的配置
修改配置

二、解决方法

猜测是由于订单创建时系统配置有净价,而后续修改了不完整过程Y1,系统校验不完整日志时,在Y1中无法找到净价字段,所以报错“域VBAP NETWR在未完成过程Y1中没有被定义”。
由于是对系统配置变更造成的报错,因此需要对MV45AFZB进行了增强,以便在运行时在不完整日志(XVBUV内部表)中添加其他字段。 表单例程取决于字段。
要禁止VA02和VA03中的"未完成过程中未定义字段<>"消息,请在LV45FFUV中进行增强。
OVA2中不保留任何条目,所有检查都在运行时进行。
源码片段
FORM USEREXIT_MOVE_FIELD_TO_COBL USING US_VBAK STRUCTURE VBAK
US_VBAP STRUCTURE VBAP
CHANGING CH_COBL STRUCTURE COBL.

  • Examples
  • CH_COBL-zzfield = US_VBAK-zzfield2.
  • CH_COBL-zzfield = US_VBAP-zzfield2.
    *{ INSERT S4DK903207 1
    READ TABLE XVBUV[] WITH KEY TBNAM = ‘VBAP’ FDNAM = ‘NETWR’ FEHGR = ‘Y1’ TRANSPORTING NO FIELDS .
    IF SY-SUBRC = 0 .
    DELETE XVBUV[] WHERE TBNAM = ‘VBAP’ AND FDNAM = ‘NETWR’ AND FEHGR = ‘Y1’ .
    ENDIF .

*} INSERT

ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joker Yin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值