SAP-MM知识精解-审批策略的实现逻辑

原文链接:https://mp.weixin.qq.com/s/EWY5Hk7wj3FVnwpO3O-SMQ

大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。

愿大家的学习,轻松且愉快。

如果大家觉得有用,希望转发关注,谢谢

 

导读

 

本篇,我们结合采购订单的审批功能,分析一下SAP审批策略的实现逻辑。

 

很多朋友在学习审批策略初期,有时候很难理解审批策略中的一些关键名词,比如“审批组”“批准代码”“发布标识”等。从而,难以理解SAP审批策略的实现逻辑。

 

我们将从业务分析到系统功能设计的角度,分享一下SAP审批策略。

 

 

正文

 

业务分析

 

SAP审批策略就是为了实现对SAP中相关单据的审批。那么,要实现单据的审批,系统功能要满足哪些业务要求呢?

 

  1. 能筛选出需要被审批的单据

 

企业中的业务单据量很大,并非所有单据都需要被审批,比如,针对采购订单的审批,大于一定金额才要求被审批,金额小的订单,就不需要审批。

 

类似上述的业务需求,系统要允许企业定制一些筛选条件,保证需要被审批的订单,必须被审批,不需要审批的订单,不用被审批。

 

SAP系统通过“分类和特性”这一基本功能,实现订单的筛选。

 

SAP系统通过预先设置“分类和特性”的特征值,当业务订单符合特征值的要求时,系统就会触发审批策略,也就是说,系统将保证此类订单必须被审批。

 

  1. 定义审批的层级

 

当我们筛选出来哪些订单要被审批后,下一个问题是:这些订单需要进行采购几级审批。

 

比如,采购订单的金额大于1000,需要部门经理和部门总监进行审批,那么,我们就需要针对此种业务定义二级审批。

 

SAP通过定义不同的“批准代码”,从而实现对审批层级的定义的。

 

  1. 定义审批后的订单状态

 

我们要审批单据,一旦单据被审批了,原则上,单据在一定程度上就不能被修改了。这个很好理解,我们要采购10台电脑,部门经理同意了,审批通过了,我们不可能把采购数量改成11台;同样,未经过审批的订单,是不能收货的。

 

SAP中通过定义不同的“发布标识”,实现对不同状态的管控。

 

最后,会把“发布标识”分配给不同的审批层级,进而保证,当订单经过审批后,其订单状态是符合业务要求的。

 

 

总的来说,对于订单审批业务的基本逻辑,我们可以抽象为三层:

 

  1. 先得能筛选需要审批的订单,并且保证该审批的订单要被审批;
  2. 其次,要能够设置符合企业需求的审批层级;
  3. 再者,审批后,订单的状态要符合审批后的要求;

 

为了满足上述三层基本业务逻辑,SAP系统设计了以下三个系统功能,如下图所示:

审批策略的系统功能介绍

 

  1. 创建“特性”

 

在实际业务中,企业会设定哪些订单需要被审批,也就是当订单符合某些特征时,就需要被审批。

 

创建“特性”,就是创建审批的筛选条件。

 

假定某企业,需要以“订单类型”“采购组织”“采购组”以及“订单净总额”为维度,设定筛选条件。

 

那么,我们就需要分别以“订单类型”“采购组织”“采购组”以及“订单净总额”,在SAP系统中设置4个特性。

 

创建特性的T-Code CT04

 

在上图中,需要注意两点:

 

a.建议选择“多值”,选择“多值”的话,可以满足当企业需要多个订单类型都能触发审批时,可以在该特性中维护多个特征值。

 

b.由于该特性的建立,是源于系统中的标准字段,所以,我们需要在结构CEKKO中,找出相应字段名,维护此处。

注意:如果是设定采购申请的审批特性的话,此处应该维护结构名“CEBAN”。

 

注意如下图,带有数值,类似“订单净总额”这种特性时,建议勾选允许“间隔”,勾选上,意味着我们可以输入一些带间隔的选项,比如100-1000,>1000,<1000等。

 

通过上述方法,我们可以分别创建“订单类型”“采购组织”“采购组”以及“订单净总额”的四个特性。如下所示:

2.创建“分类”,并将所创建的“特性”分配给“分类”

 

         T-Code  CL02

 

如下图,分类的创建需要注意两点:

a.类类型需要选择032

b.将“特性”准确地分配给该分类。

我们创建好了分类,并将所创建的特性分配给了分类,如下图所示。

到这里,我们已经成功地将筛选订单的特性创建完毕,并将特性分配给了相应分类。

3.创建“批准组”

 

这里,我们先简单“批准组”的作用。

 

如上图所示:SAP定义了一个“批准组”的概念。

 

a.我们需要将前面所创建的“分类”分配给“批准组”;

b.我们需要在后面,在特定的“批准组”下创建“批准代码”,即就是审批的层级。

 

换句话说,SAP通过“批准组”,将“分类、特性”和“批准代码”关联在一起,为我们创建审批策略,做好基础工作。

 

后台路径:

 

IMG → 物料管理 → 采购 → 采购订单 → 采购订单的下达过程 → 定义采购订单的审批过程 → 批准组

 

我们创建批准组Z2,并将分类“FRG_EKKO”,分配给批准组“Z2”;

 

如下图,我们创建一个Z2的审批组,在类别中维护之前创建的分类代码“FRG_EKKO”,其中“Rel.obj=2”是默认生成的,这个指的是“订单”,这个我们可以不管。

注意:整个系统中,针对订单的分类只能是一个,在上图中,我们能看到虽然不同的批准组,但是对应的分类都是“FRG_EKKO”。

 

4.创建“批准代码”

 

“批准代码”实际上就是审批的层级,而且,根据我们在3中的介绍,“批准代码”是在“批准组”下创建的。

 

后台路径:

 

IMG → 物料管理 → 采购 → 采购订单 → 采购订单的下达过程 → 定义采购订单的审批过程 → 批准代码

 

如下图,我们在批准组Z2下创建了两个批准代码:“Manger 01”,“Manger 02”。

5.创建“批准代码”

 

后台路径:

 

IMG → 物料管理 → 采购 → 采购订单 → 采购订单的下达过程 → 定义采购订单的审批过程 → 发布标识

这里需要说明两点:

 

“核发”这个对勾是否勾上决定了该状态下是否允许收货,如果勾上了,意味着该状态下可以收货,如果不勾,意味着不能收货;

 

“可变性”,如下图所示,有如下多种可能性。

1:该状态下,审批之后,不允许修改; 

 

2:该状态下,审批之后,可以修改,而且不管改什么,都不需要重新审批;

 

3:该状态下,审批之后,可以修改,但不管改什么,都需要重新审批;

 

4:该状态下,审批之后,可以修改,如果修改的地方是审批条件里面定义的,则需要重新审批;不是审批条件定义的,则不需要重新审批;

 

5:该状态下,审批之后,可以修改,不管改什么都需要重新审批,打印之后再修改也需要重新审批; 

 

6:该状态下,审批之后,可以修改,如果修改的地方是审批条件里面定义的,则需要重新审批;如果打印过,不管修改过什么都需要审批;

 

空:与“3”相同。

 

上述内容,我没有详细测试,源于资料介绍,大家可以测试看看。

6.创建“批准策略”

 

我们完成了“分类和特性”的创建,并将分类分配给了“批准组”;

 

我们在“批准组”下创建了“批准代码”;

 

我们定义好了“批准状态”

 

做好了所有准备工作,我们可以开始创建“批准策略”了。

 

首先,我们得明确,“批准策略”的创建,必须在某个“批准组”下面。

 

这样系统才知道,你这个“批准策略”将引用哪个“分类和特性”作为筛选条件,以及你将准备用哪些“批准代码”作为审批层级。

 

因为,在前面的系统操作中,我们已经给“批准组”分配了“分类”和“批准代码”了。

 

后台路径:

 

IMG → 物料管理 → 采购 → 采购订单 → 采购订单的下达过程 → 定义采购订单的审批过程 → 批准策略

 

如下图,我们在“批准组Z2”下,创建一个批准策略Z2,并选择相应的批准代码。

接着,我们点击“批准前提”,如下图选择,意味着01的审批是02的先决条件,也就是01批完了,02才能审批

接着,我们点击“批准状态”,给每种情况分配之前所定义的批准状态;

如下图,三种情况分别是:01、02都未批准的情况,01审批了,02还未审批,以及01、02都审批了的情况。

批准状态分配完毕后,点击“分类”,这里的分类是什么作用呢?

 

我们在前面创建好了“分类和特性”,并未给特性赋予具体的特征值。

 

换句话说,我们要以订单类型作为筛选条件,并未说明当订单类型为什么时,才触发审批。

 

在这里,就是我们维护具体条件的地方。如下图,当订单类型=NB,采购组织=1000,采购组=001,且订单净总额>1000EUR时,才触发审批功能。

 

注意1:下图中四个条件是and的关系,也就是采购订单必须同时满足,才能触发审批。

注意2:下图中的功能,除了后台进入,也可以使用事务码CL20N进入。

最后还有一个模拟审批,这里我们就不演示了,大家可以自行操作,如果模拟审批没问题,意味着此审批策略有效。

 

最后,我们再用一张图总结一下:

 

 

  • 12
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 设计模式是软件开发中常用的一种解决方案,它们是一些经过实践验证的可复用设计思想。设计模式允许开发人员在类和对象的结构上灵活地更改,并提供了一种优雅的解决方案来应对各种软件开发问题。 GOF(Gang of Four)是指Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位软件工程师,他们在《设计模式:可复用面向对象软件的基础》一书中总结了23种常见的设计模式,这本书因此而获得了“设计模式圣经”的称号。 这本书以案例为基础,深入浅出地讲解了每个设计模式的原理和应用场景,并提供了C++实现源码。 其中,创建型设计模式包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。这些模式都提供了一种方式来创建对象,使得程序在实例化对象时更加灵活和可扩展。 结构型设计模式包括适配器模式、装饰器模式、代理模式、组合模式、享元模式和外观模式。这些模式关注如何通过类和对象的组合来创建更大的结构,并提供了一种优雅的方式来简化系统的复杂性。 行为型设计模式包括策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式和中介者模式。这些模式关注对象之间的通信和交互,它们提供了一种优雅的方式来实现松耦合和可维护的代码。 总之,设计模式是软件开发中非常重要的一部分,它们提供了一种通用的解决方案来处理常见的设计问题。通过学习和应用设计模式,开发人员可以提高代码的可复用性、可扩展性和可维护性,并加快开发进度。 ### 回答2: 设计模式是软件开发中常用的解决问题的一种思维方式或者说是一种已被证实有效的解决问题的方法。GOF 23种设计模式是由四位著名的软件工程师提出并总结出的一套经典的设计模式。 GOF 23种设计模式分别是创建型模式、结构型模式和行为型模式。创建型模式包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式。结构型模式包括适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式和代理模式。行为型模式包括策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式和解释器模式。 GOF 23种设计模式具有不同的应用场景和优势。通过学习和理解这些设计模式,开发者可以更加灵活地应对各种软件开发中的问题。同时,掌握这些设计模式也有助于提高代码的可读性、可维护性和可扩展性。 附带C语言实现源码是一种更加具体的学习和理解设计模式的方法。通过查看实现源码,可以更加直观地看到设计模式在实践中的应用。这些源码可以作为学习的参考,帮助开发者更好地理解设计模式的思想和使用方式。 总之,设计模式是软件开发中非常重要的一部分,通过学习GOF 23种设计模式并理解其应用场景和优势,可以提高软件开发的效率和质量。附带C语言实现源码能够更加具体地帮助开发者理解设计模式的实际应用。 ### 回答3: 设计模式是软件工程中常用的一种设计思想或模板,可以用于解决特定的问题和提供可重用的解决方案。GOF(Gang of Four)提出了23种设计模式,并在书籍《设计模式:可复用面向对象软件的基础》中进行了详细的解析和说明。 这本书详细地介绍了23种设计模式,包括创建型模式、结构型模式和行为型模式。通过阅读这本书,读者可以了解每种设计模式的特点、适用场景和实现方法。另外,书中还通过示例代码的方式演示了每种设计模式的具体实现,并提供了附带的C语言实现源码。 这本书对于理解设计模式的概念和思想非常有帮助。它不仅提供了23种设计模式的名字和简介,还详细解释了每种模式的适用场景和应用案例。读者可以通过学习这些设计模式,了解如何将它们应用于自己的软件开发工作中,提高代码的可重用性和可维护性。 书中的C语言实现源码是帮助读者理解和实践设计模式的重要资源。通过阅读源码,读者可以更加深入地理解每种设计模式的具体实现细节,并进一步提升自己的编程能力。 总之,通过学习《设计模式:可复用面向对象软件的基础》这本书,读者可以全面了解设计模式的概念、分类和实现方法,并通过阅读附带的C语言实现源码来加深对设计模式的理解和应用。这将对提升软件设计和开发的能力和水平非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值