全面解析Sbo业务审批流程与结构

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:
有朋友希望我就Sbo的业务审批流程及在Sbo SDK的基础上怎样进行Sbo业务流程审批的定制与控制谈点看法。要进行Sbo的业务审批流程二次开发必须先行了解Sbo中的业务审批流程是怎样工作的,涉及到哪些数据表等基础问题,然后才能根据具体的业务需要定制基于Sbo业务流程之上的二次开发软件。本文主要谈谈在Sbo中是如何进行业务审批的。
Sbo的业务审批在结构上还算比较简单,操作上也很容易,通过业务审批模版和业务审批阶段的定义来实现业务审批。
在Sbo中,业务审批用于在某种或某几种业务发生过程中,在某种条件满足时触发某人或者某几个人要对此业务进行审批,审批通过,业务被正式执行,否则被中止。
通过业务审批模版来定义某种业务发生过程中的审批触发条件,参与业务审批的人。由于一项业务可能在开展过程中因为业务环境不同而需要几个阶段的审批(之所以称之为阶段--Sbo称之为Approval Stage,是因为可能需要多个部门的审批--所以Sbo中就有了Approval Stages和 Approval Stage List,而每个审批阶段(Stage)需要一个或者多个人员进行审批),审批阶段对于一项业务的审批模版来讲,是1<-->N的关系。在Sbo中将审批阶段专门提取出来进行管理,称之为Sbo阶段。
要完成对一个业务的审批控制,需要先明确此业务在什么情况下的审批人(Approvers),将业务开展过程中需要审批的人员进行列表管理,放在表OWST和WST1中进行管理,即为审批阶段管理。
定义好了审批阶段了,事实上触发这个审批阶段的条件也就比较明确了。如果他们的逻辑关系没有理解清楚,审批模版就可能运行不正确。
接下来定义业务审批模版。需要注意,一个业务审批模版可以对应多个Sbo业务,比如所有的采购订货业务的审批流程都是一样的,所有的销售的业务审批流程也是一样的,这样可以将这些业务同时选取,使用同一个审批模版。
业务审批流程对应着数据表OWTM和WTM1,用于记录业务审批的状态、是否属于条件审批,业务发起人列表(WTM1中),如果不是条件审批,就为什么时候都需要进行审批。业务审批对应的业务保存在数据表WTM3中,所有的Sbo采购订货业务、Sbo销售业务、Sbo库存管理业务如收货发货和转储(缺省情况下Sbo是不支持调拨的,只能通过其它收货、发货来处理)、Sbo付款业务等都可以得到Sbo业务审批流程的支持。
业务审批阶段在Sbo中是必须提供的,这很好理解,对于一个业务审批流程来讲,没有指定审批人,那还要审批什么呢?业务审批模版的审批人保存在数据表WTM2中。因为一项业务可能需要几个审批阶段的控制,所以在WTM2中,有字段SortId用于指名它的执行顺序。
如果业务审批阶段是根据业务条件进行触发的,那么还需要指明触发条件。触发条件可以是指定的有效条件之一或者之几个,也可以通过自定义SQL语句进行触发。
  • Sbo系统内部自带的有效触发条件包括六种类型,分别是:1-信贷限额偏移、2-偏离承诺、3-毛利 %、4-折扣 %、5-偏离预算、6-凭证总额;这些条件类型通过触发条件运算符号opCode(包括1-大于、2-大于或等于、3-小于、4-小于或等于、5-等于、6-在范围内、7-不在范围内),使Sbo发生业务在指定的触发类型condId按照指定的运算方法opCode计算后同opValue进行比较,条件满足时触发审批。这种触发方式的触发条件保存在数据表WTM4中。
  • Sbo支持用户自定义触发条件,用于指定一个符合Ms SQL Server标准语法和Sbo业务逻辑的SQL语句(语句保存在OUQR中),OUQR通过WTM5同OWTM进行业务关联。
从上面的分析中,我们可以看出,要定义一个Sbo业务审批流程,先要清楚解析在什么条件下触发哪些人参与的什么样的审批阶段,定义好这些审批阶段后通过审批模版定义审批流程对应的审批业务和审批条件,形成审批条件同审批阶段的对应关系,就可以实现Sbo的业务审批控制了。
但是,看了这些定义了之后,你业务很迷惑,我们怎么查询到触发业务的当前审批状况呢?至于Sbo是怎么触发的,这一点咱们先不去讨论,但是如果你要看审批状态,光知道上面几个数据表是不够的,因为Sbo业务审批只是在业务发生的时候检查系统定义的业务审批模版,就像Sbo SDK Help所说,增加一个审批模版并不能触发审批业务,只有在业务发生的时候才会触发业务审批流程。当业务审批流程触发条件满足时,就会在数据表中OWDD和WDD1进行登记注册,并且将业务单据作为草稿处理而不真正发生。要知道业务是否审批了,通过检查WDD数据表才能够知了业务审批的当前状况。
对业务审批数据表总结一下:
  • 审批阶段:OWST、WST1
  • 审批模版:OWTM、WTM1(发起人)、WTM2(审批阶段关联)、WTM3 (支持业务)、WTM4(系定义触发条件)、WTM5(自定义触发条件关联,自定义SQL语句放置在OUQR)
  • 审批过程:OWDD、WDD1
有时间再讨论如何使用SDK进行业务审批流程的二次开发。


本文转自foresun  51CTO博客,原文链接:http://blog.51cto.com/foresun/42775,如需转载请自行联系原作者
相关文章
|
23天前
|
人工智能
歌词结构的巧妙安排:写歌词的方法与技巧解析,妙笔生词AI智能写歌词软件
歌词创作是一门艺术,关键在于巧妙的结构安排。开头需迅速吸引听众,主体部分要坚实且富有逻辑,结尾则应留下深刻印象。《妙笔生词智能写歌词软件》提供多种 AI 功能,帮助创作者找到灵感,优化歌词结构,写出打动人心的作品。
|
1月前
|
机器学习/深度学习 搜索推荐 大数据
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
【10月更文挑战第2天】在处理大规模数据集的推荐系统项目时,提高检索模型的召回率成为关键挑战。本文分享了通过改进特征工程(如加入用户活跃时段和物品相似度)和优化模型结构(引入注意力机制)来提升召回率的具体策略与实现代码。严格的A/B测试验证了新模型的有效性,为改善用户体验奠定了基础。这次实践加深了对特征工程与模型优化的理解,并为未来的技术探索提供了方向。
91 2
深度解析:如何通过精妙的特征工程与创新模型结构大幅提升推荐系统中的召回率,带你一步步攻克大数据检索难题
|
4月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
69 0
|
15天前
|
机器学习/深度学习 自然语言处理 数据管理
GraphRAG核心组件解析:图结构与检索增强生成
【10月更文挑战第28天】在当今数据科学领域,自然语言处理(NLP)和图数据管理技术的发展日新月异。GraphRAG(Graph Retrieval-Augmented Generation)作为一种结合了图结构和检索增强生成的创新方法,已经在多个应用场景中展现出巨大的潜力。作为一名数据科学家,我对GraphRAG的核心组件进行了深入研究,并在此分享我的理解和实践经验。
38 0
|
21天前
光纤电缆(FOC)的结构深度解析
【10月更文挑战第21天】
37 0
|
1月前
|
存储 编译器 C++
【初阶数据结构】掌握二叉树遍历技巧与信息求解:深入解析四种遍历方法及树的结构与统计分析
【初阶数据结构】掌握二叉树遍历技巧与信息求解:深入解析四种遍历方法及树的结构与统计分析
|
2月前
|
数据采集 存储 JavaScript
如何使用Cheerio与jsdom解析复杂的HTML结构进行数据提取
在现代网页开发中,复杂的HTML结构给爬虫技术带来挑战。传统的解析库难以应对,而Cheerio和jsdom在Node.js环境下提供了强大工具。本文探讨如何在复杂HTML结构中精确提取数据,结合代理IP、cookie、user-agent设置及多线程技术,提升数据采集的效率和准确性。通过具体示例代码,展示如何使用Cheerio和jsdom解析HTML,并进行数据归类和统计。这种方法适用于处理大量分类数据的爬虫任务,帮助开发者轻松实现高效的数据提取。
如何使用Cheerio与jsdom解析复杂的HTML结构进行数据提取
【期末不挂科-单片机考前速过系列P6】(第六章:10题速过定时计数器的结构和工作方式例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P6】(第六章:10题速过定时计数器的结构和工作方式例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P7】(第七章:11题速过串行口基本概念/结构/工作方式/双机通信例题)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P7】(第七章:11题速过串行口基本概念/结构/工作方式/双机通信例题)经典例题盘点(带图解析)
|
3月前
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用

推荐镜像

更多