SAP Workflow 我自己认为功能是非常强大。到目前这家公司没多久,公司正在推一个项目,就是开发一个WF的工具,让不会Workflow的ABAPER也会开发Workflow.
公司有个牛逼的同事写一个DLL的控件,作为WF的设计的工具,其工作原理就是前台控件的模式来定义其流程,和指定的要执行的CLASS。 而后台写了一个超复杂的WF的程序,来支撑其流程。因为自己一直都是些ABAP,没法自己写工具。所以非常羡慕,一直想找时间去了解其控件运行的模式,想自己改写一个WF设计的工具。
因为我自己认为WF其实就是业务流程。那么最好是简单,也可以支持文档说明。
所以多年以后,在一次使用BW的RSPC处理链维护。发现其可以显示当初自己想要的功能。
因为时间有限(自己在项目有自己的事情),所以只是做了简单DEMO。
其代码,可以参考CL_RSPC_FRONTEND,该类就是现实流程链接的工具,我自己在这个基础进行了改写。
之前同事WORKFLOW设计工具贴图如下:个人认为超好。
开始介绍一下自己的开发工具
使用向导创建
我这边是基于函数驱动的,其工作原理就是如果当前步骤处理完成了,那么写入系统的时候,会依据现在创建找到其下个以节点信息,那么其他的用户就会知道他要做事情了。
所以基本架构如下:
**获取object id
这个可以开发一个用于用户输入的业务信息,也可以不需要,比如VA01,那么生成的KEY 可以作为这次开始的OBJECT ID。那么后续流程就知道如何处理什么数据了。
*真实的业务处理
判断是否成功。如果成功,那么当前节点就完成,同时去读取流程信息,或自己指定下个流程节点是什么,生成一条待处理的信息。
打开
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200334279q74.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033472Lsg3.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033513MkKF.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033547FpxR.jpg?x-oss-process=style/bb)
支持双击
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033609CxRm.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033662kL1e.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033718HO0R.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033763GG7o.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033835v6ay.jpg?x-oss-process=style/bb)
文档维护
提供这样的功能主要用整理业务功能说明和开发说明,以及配置,还有异常配置为了后续更方面
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200339196GWg.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420033981HSNb.jpg?x-oss-process=style/bb)
简单测试
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420034008bd7d.jpg?x-oss-process=style/bb)
维护流程启动(也就是谁可以执行开始节点的步骤)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200340957kMA.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_142003412671N5.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420034167OZQ2.jpg?x-oss-process=style/bb)
同时提供文档查看
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420034219W5wI.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200342754NBS.jpg?x-oss-process=style/bb)
日志查看
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420034336SgP6.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200343875cCc.jpg?x-oss-process=style/bb)
维护流程处理(决定谁可以那些步骤)
处理要处理的流程
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_14200345270mgA.jpg?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201412/31/203545_1420034558hkKD.jpg?x-oss-process=style/bb)
大致的功能如上。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/203545/viewspace-1386542/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/203545/viewspace-1386542/