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

简介:
有朋友希望我就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,如需转载请自行联系原作者
相关文章
|
9月前
|
监控 安全 开发工具
鸿蒙HarmonyOS应用开发 | HarmonyOS Next-从应用开发到上架全流程解析
HarmonyOS Next是华为推出的最新版本鸿蒙操作系统,强调多设备协同和分布式技术,提供丰富的开发工具和API接口。本文详细解析了从应用开发到上架的全流程,包括环境搭建、应用设计与开发、多设备适配、测试调试、应用上架及推广等环节,并介绍了鸿蒙原生应用开发者激励计划,帮助开发者更好地融入鸿蒙生态。通过DevEco Studio集成开发环境和华为提供的多种支持工具,开发者可以轻松创建并发布高质量的鸿蒙应用,享受技术和市场推广的双重支持。
1383 11
|
11月前
|
人工智能
歌词结构的巧妙安排:写歌词的方法与技巧解析,妙笔生词AI智能写歌词软件
歌词创作是一门艺术,关键在于巧妙的结构安排。开头需迅速吸引听众,主体部分要坚实且富有逻辑,结尾则应留下深刻印象。《妙笔生词智能写歌词软件》提供多种 AI 功能,帮助创作者找到灵感,优化歌词结构,写出打动人心的作品。
|
6月前
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
417 4
JSON数据解析实战:从嵌套结构到结构化表格
|
7月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
452 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
6月前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
242 5
|
7月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
719 12
|
7月前
|
域名解析 弹性计算 负载均衡
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。
|
9月前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是"将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为5种:单例模式、工厂方法模式抽象工厂式、原型模式、建造者模式。
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
9月前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析

推荐镜像

更多
  • DNS