SAP采购价格条件详解序言采购价格条件技术简介条件技术condition technology 是SAP中运用较多的配置技术了解条件技术如何运作有助于我们理解系统在不同情况下的行为和反应。条件技术广泛地应用于定价、文本确定、输出确定和物料确定等它基本上存在于任何需要条件记录的地方。SAP通过条件技术在一定数量的选项中选择一个方案。因为SAP是基于条件做出选择的因此有了…条件技术‟这个名词。本文的内容就是和大家探讨条件技术在采购定价方面的应用。本文主要分为第1章条件技术的组成第2章价格确定第3章抬头条件和组条件第4章维护条件第5章特殊条件内容和特殊功能第6章后继结算第7章相关后台配置编者注本文演示所使用系统版本为4.6C。本文红斜体字表明是后台配置路径。第一章条件技术的组成一、概述首先我们来说明一下什么是条件condition。条件就是我们与供应商约定的价格折扣和附加费等等。我们可以在报价框架协议采购订单中维护这些条件还可以在供应商级别输入条件系统通过这些条件来计算采购订单中的价格。在采购业务中我们会用到下面3种价格总价cross price不包含任何折扣和附加费用的价格。净价net price:包含折扣、附加费用和税收的价格。有效价effective price:净价减去现金折扣加上交货成本、不可抵扣税金和杂费的价格。其中折扣和附加费可以是基于百分比或基于数量的。系统中条件区分为两种一种是具有一定的有效期限即在一个确定的时间范围内有效另一种则是没有特定的有效期限。信息记录和合同中的条件通常都是具有有效期的采购订单中的条件通常都是没有有效期限的。如果供应商的价格根据我们采购的数量或价值进行改变的话我们可以通过设定数量或价格等级来达到这一目的。我们也可以对条件设定上下容差这样可以避免因人为修改条件值而造成价格超出我们所能接收范围的情况。SAP中条件技术由以下四个基本要素组成条件类型condition types 存取顺序access sequences 条件记录和条
件表condition records and tables 计算方案calculation schemas 二、条件类型。条件类型代表了各种条件因素实际业务中的各种条件都对应着系统中的条件类型。系统中对于价格折扣或附加费税运费和固定成本等配置了很多种条件类型。后台配置路径IMG物料管理采购条件定义价格确定流程定义条件类型。图1 在图1中双击某一个条件类型就可以看到具体的配置参数。图2 定价等级condition class 我个人认为翻译成条件类比较好决定这个条件类型属于价格折扣或附加费税中的哪一类。计算类型calculation type决定了系统在计算此条件值时是根据百分数、数量还是固定金额来计算的。举例来说我们可以通过计算总价的百分数来得出相应的折扣或附加费。定价类别condition category也可译为条件类别将条件类型分为相似的组譬如所有的运费或者税条件。舍入规则有3种。分别是商业舍入到较高值和舍入到较低值。商业就是我们通常说的四舍五入。舍入到较高值就是不管值多大总是入。舍入到较低值就是不管值多大总是舍。结构定价它控制条件类型和物料清单的累积值是不相关的。正/负表示条件值对价格的正负数影响。通常折扣会导致金额效果为负而附加费导致金额效果为正。其它一些字段配置会在后面进行具体说明。三、存取顺序存取顺序就是一种条件读取策略。在存储顺序中我们将设定条件类型的哪些条件表将被读取以及系统自动读取的顺序。我们可以为条件类型分配一个存取顺序。我们以条件类型PB00总价为例。图3 图3中我们可以看到我们将存取顺序Z002分配给了条件类型PB00。下面我们看一下这个存取顺序是被如何设置的。IMG物料管理采购条件定义价格确定流程定义存取顺序图4 我们可以看到Z002存取顺序定义了条件
表的存取顺序。系统将根据最左边的顺序号按从小到大的顺序依次寻相应条件表中的值。从图中可以看到物料信息记录的顺序号为35这并不表示物料信息记录是第35个被读取的表。那为什么上下两个顺序号数字之间要有一定的间隔呢原因就是有时我们可能会需要在原有的存取顺序中加入一个新的条件表如果原有顺序号之间没有间隔的话那我们就需要重新分配所有的顺序号。因此为了避免这个问题系统标准顺序号之间都有5的间隔。在上图中我们还可以看到…需求‟和…排斥的‟两个字段。…需求‟字段里填写的是一个例程编号例程是一段判断程序如果我们在需求中维护了例程编号那只有这个例程条件被满足时这个条件表才会被系统自动读取。一部分的条件表只有在凭证项目满足一定的条件时才会被读取。…排斥的‟字段如果别勾中的话那表明如果这个条件表被系统成功读取到数据后系统将停止这个存取顺序的执行否则系统将继续执行下去。注意a、如果我们给某个条件类型设定了有效期的话那我们必须给这个条件类型分配一个存取顺序。b、不能给一个抬头条件分配存取顺序。四、条件记录和条件表系统将条件作为条件记录进行储存。条件表由一个或多个关键字段和一个数据部分组成。数据部分储存了一个数字我们可以通过这个数字在另外一个表中中到对应的条件记录。IMG物料管理采购条件定义价格确定流程维护条件表图5 图5中是我们最常使用的物料信息记录的条件表左边有4个简短关键字分别是供应商物料采购组织和信息类别。左边一列的简短关键字代表了已选关键字段右边一列代表了哪些字段可以作为关键字段。物料信息记录条件表的透明表为A018大家可以用事务代码SE16进行查看。图6 大家可以看到A018中存储了一些信息图6中应用M代表采购条件类型PB00代表总价随后的供应商物料采购组织
报价
和信息类别即为设置的关键字段最后的条件记录号即为前面所说的条件表中的数据部分。然后我们可以根据这个条件记录号去相应的透明表中寻相应的条件记录。系统标准的条件记录储存在下列透明表中KONP时效性条件KONH抬头条件KONM数量等级KONW价值等级物料信息记录的条件记录存在于KONP中我们使用SE16可以进行查看图7。图7 由于字段较多因此只显示了一部分大家可以自己测试。五、计算方案计算方案集合了所有需要计算的条件类型并设定了如何计算这些条件类型也就是计算价格的方法。IMG物料管理采购条件定义价格确定流程定义计算方案图8 下面我们讲解一下计算方案中各字段的含义“步骤”它标识了此条件类型在计算方案中的编号。例如第一个条件类型应该是步骤10第2个条件类型应该是步骤20。当然它们也可以以间隔1标识步骤但这样可能会对今后修改计算方案造成不小的麻烦。“计数”系统用它来显示计算方案中一个阶段内的存取编号。例如你可以把所有运输附加费分配给步骤100然而可能有三个条件类型每一个代表一个不同的运输附加费。因此你可以把步骤100分配一个运输条件类型计数1另一个分配给步骤100计数2另一个分配给步骤100计数3。“CTYP”就是条件类型这是计算方案的基础。当输入一个条件类型时系统会根据条件类型自动填充描述。“从”“到”用于两种情况。1 为小计定义范围。例如如果你要累积从步骤10到50的所有条件类型应该分别在“从”“到”种输入10和50。2 定义计算的基础。例如如果折扣是定义成百分比形式的你必须标识哪一步应该用于计算的基础。如果你想从步骤100开始计算那么在“从”字段中输入100。“人工”标志条件类型是否允许自动处理还是仅仅允许手工处理。“必须”表面当系统使用这个定价过程完成定价时条件是否必需的。例如如果在定价时总是要包括一个税金条件可以适当在税金条件中设置该标志符。“状态”应该翻译
为统计。计算方案使用“统计”增加一个统计值这步的值不会改变方案中的其它值。这可以用于标识物料的成本价格。“打印”该打印标志符确定分配给某一步骤的哪一个描述和相关值会输出到单据。“小计”如果相同的字段用来存储不同的条件金额系统将对单项数额求总和。这些条件金额或小计可以作为进一步计算的开始点。“需求”用于给条件类型分配一个需求。它确定在哪个环境下系统排斥对一个特定条件类型的存取。“计算类”指明系统将会在搜索条件类型的值时使用这个列代表的公式替代标准条件计数。在计算比较复杂的税率时一般会用到它。“条件基”是分配给条件类型的一个公式它确定可以作为标准替代值的条件基值的公式。“帐码”和“应计项”用于分配帐码后者依次分配给总帐科目系统通过总分类帐来记录过帐信息。第二章价格确定一、价格确定概述当你在系统中创建采购订单时系统会自动搜索存在的信息记录或有效的条件并且将搜索到的值作为标准值应用在新的凭证中。系统是按照下列步骤进行价格确定的1 系统根据相关信息确定哪个计算方案将被采用。2 系统根据计算方案中的设定一步一步确定所有条件类型的值其中如果条件类型被分配了存取顺序系统就会根据这些存取顺序去相应的表中搜索条件记录。3 存取顺序决定了系统搜索条件记录的顺序。4 最后系统根据到的记录计算最终值。图9就描述了这样的一个基本步骤。图9 我们也可以在ME23中条件视图中的…分析‟来分析我们的计算方案图10。图10 大家自己实践一下就会有较深的体会了。二、确定计算方案我们需要预先定义系统如何为标准采购订单、库存转储订单和市场价格确定3类情况确定计算方案。IMG物料管理采购条件定义价格确定流程定义方案确定图11 图11 我们以确定标准采购订单的计算方式为例在上图中我们双击…确定标准采购订单的计算方式‟进入图12。图12 在我们创建标准采购订单时系统会根据此采购订单的采购组织和供应商来判断它
的采购组织方案组和供应商方案组然后这儿的采购组织方案组和供应商方案组来确定定价过程的。在这一步只是一个简单的排列组合。也就是说在这步之前我们需要配置采购组织方案组和供应商方案组并将采购组织方案和供应商方案组分配给采购组织和供应商代码。那让我们看一下这一步系统是如何实现的。IMG物料管理采购条件定义价格确定流程定义方案组图13 在图12中双击…方案组供应商‟进入图14。图14 图13中我们可以看到定义了2个供应商方案组。在图12中双击…用于采购组织的方案组‟进入图15。图15 图14中也定义了2个采购组织方案组。上面两步就是配置采购组织方案组和供应商方案组。接着我们要将采购组织方案和供应商方案组分配给采购组织和供应商代码。在图12中双击…用于采购组织的方案组‟进入图16。图16 在图15中我们可以将采购组织方案分配给采购组织。根据图14和图15我们可以知道我们将标准模式分配了给了图16中采购组织。将供应商方案组分配给供应商代码是在前台进行的是在供应商采购数据中分配的。图17 图17 也就是如果此时我们在1000采购组织下对供应商VC532667下达一个标准采购订单那系统会根据图15和图16中的数据确定采购组织方案组和供应商方案组然后根据图11中数据确定使用定价过程RM0000采购单据大。库存转储订单和市场价格确定的计算方案确定与标准采购订单类似大家有兴趣的话可以自己测试。
三、条件类型PB00的条件补充计算方案补充条件如果我们定义了物料的价格则需要为每一个物料或相关价格输入条件记录然而对于其中的某一个物料我们还希望每次确定价格时包括一个折扣那么我们可以输入附加的折扣条件类型作为补充条件。当SAP确定计算方案我们必须给条件类型PBOO分配一个补充条件的计算方案。在
标准系统中这个计算方案是RM0002条件补充定价图18。图18 这个计算方案使用了折扣或附加费RA00RA01等和运费FRA1FRB1等这些条件类型将对特定的物料有效。当我们在维护信息记录中的条件或报价和框架协议的条件时我们就会使用到这个条件补充计算方案。也就是在ME13中的…条件‟界面有了这个计算方案的分配使我们可以更有效的输入折扣附加费或运费等。补充条件与主条件拥有同样的有效期。图19 图19 在标准系统的系统中我们通常不会给那些条件补充计算方案中的条件类型分配存储顺序因为通常这些条件类型没有特定的有效期限而且它们通常是与总价一起维护。四、总价PB00的存储顺序在上一章我们已经知道存取顺序就是一种条件读取策略。在存储顺序中我们设定了条件类型的哪些条件表将被读取以及系统自动读取的顺序。物料的总价取决与多个因素。系统中有多个总价的条件表这些条件表具有不同的关键字段的组合。举例表A068--框架协议项目:与工厂相关的表
A016--合同项目表A067--每一订单单位的工厂信息记录表A017--物料信息记录
指定工厂表A018--物料信息记录表A025--非库存项目的信息记录指定地点的图20 图20显示了标准的总结的存取顺序。五、有效期和定价日期对于含时效性条件time-dependent condition我们需要维护一个有效期开始日期和结束日期。这个有效期可以在信息记录框架协议和报价中显示。当我们创建采购订单时定价日期决定了有效期的选择。通常定价日期和采购订单的凭证日期相同。但是我们也可以选择当前日期current date、交货日期delivery date、收货日期GR date或人工输入的日期来代替凭证日期。我们可以在信息记录图21或供应商主数据图22中维护定价日期类别也可以在创建采购订单的初始屏幕输入定价
日期。图21 图22 六、等级在实际业务中物料的价格有可能根据采购的数量或价值发生变化。例如采购量从1EA到99EA时价格为100RMB 采购量从100EA 到999EA时价格为99RMB 这就是我们所说的等级scale。等级的相关参数是在定义条件类型时设置的图23。图23 我们比较常用的参数是等级基础和等级类型。等级基础定义了条件类型的等级是基于价值等级基础B或基于数量等级基础C还是基于重量等级D或E。等级类型定义了等级是“FROM 等级类型A”或是“TO等级类型B”。举例价格从  1 EA开始为100RMB 附加费到500RMB时为50RMB 从100 EA开始为99RMB 到1000RMB 时为30RMB 如果我们没有分配等级类型的话那我们可以在维护条件等级的时候自己设定。等级条件的透明表为KONM和KNOW。七、信息记录和订单价格历史一个信息记录可以被人工创建或自动创建使用信息记录更新分成以下几种情况1、如果信息记录被人工创建那我们可以维护总价和相关补充条件。2、如果信息记录参考合同生成那信息记录会自动采用总结和相关补充条件。3、如果信息记录参考采购订单或框架协议那订单价格历史会更新这个价格而不是信息记录。如果存在一个有效的信息记录的话系统在创建采购订单时会采用这个信息记录的价格作为标准值如果有效的信息记录不存在的话系统会采购订单价格历史中的价格作为标准值这个价格也就是上一采购订单的价格。八、条件类型PB00和PBXX 在系统中PB00和PBXX均代表了总价那它们两个之间有什么区别呢当我们在创建信息记录时我们输入的价格将被分配给条件类型PB00。当我们无参考的创建一个采购订单时系统将信息记录或订单价格历史中的价格作为标准值分配给条件类型PB00。如果没有有效的信息记录或订单价格历史系统会让我们人工输入采购订单净价这个人工输入的价格分配给PBXX。分配给标准采购订单的计算方案中我们必须设置PB00和PBXX而且必须给
PB00分配一个存取顺序但PBXX则不需分配存取顺序并且PB00必须在PBXX之前。第三章抬头条件和组条件当我们创建一个具有多个行项目的采购订单时我们经常需要条件可以应用到所有的行项目中。相应的条件也可以应用到特定的行项目。在R/3系统中条件可以涉及采购凭证的单个行项目项目条件多个行项目组条件或所有的行项目抬头条件。一些标准的条件类型只可以作为项目条件一些只可以只可以作为抬头条件另外一些两者都可。图24 一、抬头条件抬头条件作用于凭证的所有行项目并且自动分配到所有的行项目。抬头条件可以包含百分数或一个固定的数量图24。如果我们设置了一个基于百分数的折扣的条件类型那这个百分数将作用于所有的行项目不会考虑行项目的数量或价值。如果抬头条件包括了一个固定的数量这个值可以分配到每一个行项目或按比例分配到每个行项目这取决于这个条件类型是否被定义为组条件。如果这个条件类型没有被定义为组条件那它的值将被分配给每个行项目如果这个条件类型被设定为组条件那它的值将被按比例分配到行项目。在标准的系统中这个比例是基于行项目的值当然我们也可以通过配置将这个分配设置为基于行项目的数量或体积的。这个配置就是计算方案中的条件基。二、组条件和等级我们可以在后台配置中将条件类型设置成组条件图23。在组条件的情况下相关行项目的值价格订单数量重量或体积被累加并且这个累加值将作为条件基础。这样在计算等级时可能会得到更好的效果。举例采购量从1EA到99EA时价格为100RMB 采购量从100EA 到999EA时价格为99RMB 采购订单有2个行项目一个为80EA另一个为40EA。如果只单独按行项目来计算等级的话那我们就无法得到优惠但如果按组条件的话我们就可以将价格降为99RMB。当采购凭证还没有被保存时系统已经为每个行项目执行了价格确定过程并且条件基础被确定。只有在凭证被保存时行项目的值才会被累加然后累加值才
会被作为计算等级的基础。第四章维护条件一、维护时效性条件time-dependent 我们可以在为框架协议、报价或信息记录维护时效性条件。在维护时效性条件时我们会被强制输入一个有效期限。如果你没有输入这个有效期那系统会为这个条件自动分配一个最大有效期限系统标准为从当前日期到9999.12.31我们可以在条件类型的后台配置中修改这个标准值图25。图25 我们可以为时效性条件维护相应等级。每一个条件类型都有一个细节屏幕可以让你输入等级数量或等级价值。为了更简单的维护那些与总价cross price有着相同有效期的条件类型折扣或附加费交货成本等我们就可以使用第二章所介绍的条件补充。有时候我们可能需要删除不需要的条件补充根据SAP的一贯理念我们并不是在条件记录中直接删除这条记录而是打上一个删除标记图26。如果有需要这个删除标记是可以被取消的。图26 我们可以通过SAP的菜单来维护时效性条件后勤物料管理采购主数据条件折扣或附加费图27但是SAP还是推荐我们在相关凭证或信息记录中维护这些条件。图27 但我们可以通过SAP的菜单来维护一些通用性条件例如一个供应商所有物料的折扣供应商折扣条件类型RL01。SAP菜单后勤物料管理采购主数据条件折扣或附加费按供应商。二、有效期当我们试图修改信息记录、框架协议或报价中的条件时系统会弹出一个包含当前有效期的对话框我们可以选择这个有效期或新建一个。我们可以修改当前有效期中的条件并且也可以修改有效期的开始/结束日期图28。图28 如果2个有效期中的日期是重叠的话这在系统中是不被允许的。系统会要求你修改其中的一个有效期图29。图29 三、批量修改在46C的版本中我们可以使用条件的批量修改功能来批量修改信息记录、合同或计划协议中的时效性条件包括