1业务场景

事务代码:VA01创建销售订单,VA02修改销售订单

可以通过BAPI_SALESORDER_CREATEFROMDAT2批量创建

可以通过BAPI_SALESORDER_CHANGE批量修改

2.难点解决

2.1特性内部错误

在导入特性时,有些特性是需要通过后台计算得到的,如果导入的特性值和计算

出的结果不一致,就会报内部错误,另外如果传入的特性值不符合特性值的范围

规定,也会报内部错误。

2.2修改条件类型

当新增条件类型时,需要将更新标识改为"I",当修改时,需要将更新标识改为"U",并为条件类型的cond_count计数器赋值"01",否则更新时报错。

2.3删除条件类型

因为本程序是接口,在修改时,如果某现有的条件类型没有传过来,则认为该条件类型要删除。逻辑是,在查找现有的人工维护的条件类型,与传过来的条件类型作对比,如果现有的在传入接口中的条件类型找不到,则证明要删除该条件类型。

在删除中,除了行项目、条件类型的名称和计数器外,不导入任何数据,并在更新标识中打上"D",表明删除该操作。

取值逻辑为:

删除条件类型的赋值操作:

2.4修改订单状态

在修改时将订单状态从待审改为审批通过,其中对象编号和状态参数文件字段可以作为以下的查表字段。

待审和审批通过状态的名称,我们可以通过对象编号VB2000000377000000到JEST中查找,查找到的是状态。

如果想查看状态的文本信息,需要去查找文本描述表。

E开头的状态,需要到TJ30T中查找

I开头的状态,需要到TJ02T中查找

状态参数文件Z_SD001需要到TJ20T中查找

获取OBJNR,

将状态从待审更新到审批通过。

2.5修改业务伙伴

创建时将参数传入bapiparnr

修改时将参数传入bapiparnrc

2.6修改订单数量

当修改时,需要导入计划行,否则会报错

2.7定价类型

2.7.1定价类型介绍

A:根据等级复制和更新定价元素

B:实施完全新定价。

C:复制手动定价元素并为其它执行一个新定价

D:复制未更改的定价元素

G 复制不变定价因素且重定税款

H 重新确定运费条件

I 重新确定回扣条件

J 重新确定确认的采购净价格/价值(KNTYP=D)

K 采纳价格组件和重新确定税收

M 复制价格要素,转换值

N 传输定价组件未更改, 新成本

1.在创建时,可以不输入定价类型。但是当我们需要传入某个条件类型时,而物料又会自动带出某个条件类型,这样就会变成两个条件类型,那就使用G去掉重复。

2.当使用B时,可以将所有需要自动带的条件类型带出,但是将人工维护的条件类型去掉。

3.当使用C是,会赋值人工维护的条件类型

4.当修改时,不输入定价类型,但是logic_switch-cond_handl = 'X'.

2.7.2定价类型配置

在开发中,如果未输入定价类型,而导致出现两行的条件类型。

业务在配置时,某些条件类型想自动弹出,但是没有金额,需要手动维护金额。这种情况下,不输入定价类型会导致出现两行,而业务可能也配置了其他的自动弹出又不用修改金额的条件类型,这样输入G后,自动弹出又不用维护的那几个条件类型会丢失。

目前的解决办法是:

1、在配置定价过程中,把需要手动维护的打上勾。

配置的路径是:

选中使用的定价过程,双击控制数据

其中定价过程在销售订单的位置:

但是这样维护完之后,在前台创建销售订单时,条件里面必须手动输入Z001,然后带出条件类型。

2、但有时候业务需要在前台创建时,点击条件后就出现价格为空的几个条件类型,只用手动修改金额即可,不需要在手动输入Z001等条件类型。如果必须这样,那只好在调用BAPI时,将手动维护的几个都传值,不用传金额的空着,然后用G清理重复项。

VA01销售订单批导问题解决的更多相关文章

  1. 物料主数据批导bapi

    创建物料主数据,根据模板不同批导原材料,半成品,成品.可根据实际需求对字段进行增删. report zmmr_bapi_mm01 no standard page HEADING. type-POOL ...

  2. [置顶]生鲜配送管理系统_升鲜宝V2.0 销售订单汇总_采购任务分配功能_操作说明

    做好生鲜供应链系统,要注意三个方面,1.分拣 2 采购  3 库存,市面上做的比较成熟的功能,还是分拣这一块(按客户分拣.按订单分拣.按商品分类分拣.按商品分拣.按线路分拣.客户自由组合分拣)[下篇文 ...

  3. 转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代

    转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代   原文地址:SAP囚徒 - 通过销售订单领用到成本中心,FI替代实现不同成本中心记账科目不同作者:SAP囚徒 物品领用通常是库存管理的范畴 ...

  4. 【SD系列】SAP 创建销售订单-用外部给号的方法步骤

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP 创建销售订单-用外部给号的方 ...

  5. SAP四代增强实现:销售订单复制项目文本时不需要显示文本框和回车

    最近接收到一个业务需求,在SAP依据销售订单复制时,如果订单里面的项目有多个文本,系统就会显示复制的文本框处理,让用户选择是否复制,这个就让销售很不舒服,如果有几十个项目,每个项目有几个文本,那就就要 ...

  6. [SAP ABAP开发技术总结]SD销售订单定价过程

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. sap 中怎样把非限制库存转为销售订单库存?

    把非限制库存转为销售订单库存: MB1B 移动类型413 把销售订单库存转为非限制库存: MB1B移动类型411 E 切记!

  8. Netsharp快速入门(之11) 销售管理(开发销售订单工作区)

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 4.3     销售订单开发 4.3.1  部件工作区设置 1.创建部件工作区,建工作区向导中要注意勾选组合并系部分.具体要建立的部 ...

  9. Netsharp快速入门(之13) 销售管理(单据流转 销售订单生成发货单)

    作者:秋时 杨昶   转载须说明出处 4.5     单据流转 4.5.1  单据流转的目的 单据流转主要为了实现业务关系的流转,并记录相互之间的关系.例如从销售订单生成销货单,两张单据之间有对应的关 ...

随机推荐

  1. jmeter并发时生成唯一变量

    vars.put("partnerOrderId","ZS"+Thread.currentThread().getId()+System.currentTime ...

  2. .NET 4 实践 - 使用dynamic和MEF实现轻量级的AOP组件 (4)

    转摘 https://www.cnblogs.com/niceWk/archive/2010/07/23/1783394.html 借花献佛 前面我们介绍了构成DynamicAspect绝大部分的类, ...

  3. C#集合类型——Array、ArrayList、List 之浅谈

    在学习或工作中,集合是经常用到的,可以换一句话说“无项目无集合”,“项目皆有集合”.它一般存储一系列数据或者将一系列数据进行相关操作.在这里先大略谈一些集合类型的相关知识用于回顾. 数组(Array) ...

  4. windows 系统使用技巧

    1 自定义发送到C:\Users\adm\AppData\Roaming\Microsoft\Windows\SendTo 2 自定义关机shutdown -s -t time,可写在快捷方式中shu ...

  5. python数据结构之栈的构建

    class Stack(object): def __init__(self): self.stack=[] def pop(self): return self.stack.pop() def pu ...

  6. js输入框练习

    这个就是一个输入框的小练习(也是第一次写这个东西) <!DOCTYPE html> <html lang="en"> <head> <me ...

  7. 小程序里json字符串转json对象需注意的地方

    一.JSON字符串转换为JSON对象 要使用上面的str1,必须使用下面的方法先转化为JSON对象: //由JSON字符串转换为JSON对象 var obj = eval('(' + str + ') ...

  8. 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业

    <Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...

  9. 【EditPlus】参数设置

    1. 设置javac,java快捷键 工具-参数设置-工具-用户工具 组和工具项-组名,更改组名为“java” 添加工具 javac 菜单文字:javac 命令:安装java的javac.exe的绝对 ...

  10. 使用@vue/cli搭建vue项目开发环境

    当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js  vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...