SAP中销售订单的抬头条件类型和行项目条件类型区别

本文通过两个案例,详细解析了SAP系统中headercondition与itemcondition的区别及应用场景。阐述了如何利用conditionprocedure如RVAA01,实现订单总金额达到一定数值给予折扣,以及无论订单大小均收取固定费用的定价策略。

来源:https://zhidao.baidu.com/question/873034967146647252.html
我还是举2个例子,说明一下 header condtion 与 item condition 中的区别吧。
首先,两个地方的 condition procedure 都是一样的,例如标准OR对应的是RVAA01.
就以Procedure RVAA01为例, 它包含很多condition type ,其中H*打头的那些,HA00,HB00,HD00等,这些都是可以被header codition 使用(同时也可以被item condtion使用,只是在item condition中我们一般不会手动输入,而是由header condition中查找的条件结果或手动输入的值,进而被系统自动传递\分配给相应item condition中相同的condition type)的
(具体可以查看condition type是否可以用于header condition,可以在Maintain Condition Types -> header condit. 是否被勾选了).相反,那些没有被勾选 header condit. 的 condition type 则只能用于item定价.
case 1: 当某一客户,下单总金额满10W时,我们可以给它折扣3%, 此时,我们可以在header codition中为 HA00-Percentage Discount ,维护一个condition record, 当订单总金额满足10W时,则系统会自动的将 3%折扣带到header condition 与 item condition 中的 HA00 = 3%;
case 2: 不管订单量多少或金额多大,我们都要向客户收取一笔固定费用1000,例如运费HD00. 同样,我们可以维护HD00的条件记录,也可以手动输入1000(取决于HD00后台配置). 此时,当我们new item时,系统则自动会将HD00的条件记录值或header condition中输入的值带到 item condition 中的HD00中...
当然,是带入1000? 还是其它值? 则取决于你HD00的后台配置,若Maintain Condition Types -> Group cond. 被勾选,则是将 1000元按照数量或金额(与配置有关)的比例分配给各个item...反之,则是每一个item 都有HD00=1000元. 在case2中,需要把Group cond.勾选上.

以上只是从应用上说明两者的不同.根据具体案例,加以灵活应用,就可以解决任何定价问题了,这就是SAP pricing 的伟大地方!

以下是一些可能用于解决 SAP 条件类型筛选无效条件的办法: ### 检查筛选条件设置 - **语法准确性**:需保证在 SAP 系统中输入的筛选条件语法无误。例如,若使用字段值进筛选,要确保字段名称拼写正确,值的格式也符合系统要求。比如日期字段,输入的日期格式要系统设定一致。 - **逻辑关系**:确认筛选条件中的逻辑运算符(如 AND、OR)使用正确。错误的逻辑关系可能导致筛选结果不符合预期。例如,若想筛选出条件类型中价格大于 100 且数量大于 5 的记录,使用了错误的 OR 运算符,就会得到错误结果。 ### 数据完整性检查 - **数据缺失**:检查相关数据是否完整。若筛选条件依赖于某个字段,但部分记录该字段为空,可能会影响筛选结果。例如,筛选条件基于物料编号,但部分物料记录的编号缺失,就可能导致筛选不准确。 - **数据一致性**:确保数据在不同表视图中的一致性。SAP 系统中数据可能存储在多个表中,若数据在不同表中不一致,会使筛选结果出现偏差。 ### 权限配置检查 - **用户权限**:确认用户具有足够的权限进筛选操作。若用户权限不足,可能无法访问某些数据或执特定的筛选条件。 - **系统配置**:检查 SAP 系统的相关配置是否正确。例如,条件类型的配置可能影响筛选功能,需确保配置参数符合业务需求。 ### 代码示例(ABAP 用于自定义筛选逻辑) ```abap REPORT z_condition_type_filter. TABLES: knvv. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE '筛选条件'. SELECT-OPTIONS: s_kbetr FOR knvv-kbetr. " 筛选价格 SELECT-OPTIONS: s_kwert FOR knvv-kwert. " 筛选数量 SELECTION-SCREEN END OF BLOCK b1. START-OF-SELECTION. SELECT * FROM knvv WHERE kbetr IN s_kbetr AND kwert IN s_kwert INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_knvv). LOOP AT lt_knvv INTO DATA(wa_knvv). WRITE: / wa_knvv-kbetr, wa_knvv-kwert. ENDLOOP. ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值