A++平台工作流中使用SQL语句表达式的方法
一, 打开工作流
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
器,连接正确的数据库。
二, 打开需要设置的流程
模板
个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载
,以资产处置为例说明。
三, 打开变量定义窗口:
四, 新增一个需要的变量,如extDir,双击打开编辑变量设置。
五, 在变量编辑窗口设置具体的表达式,如资产处置在基层填报后送审时根据变量extDir的值决定是否需要送主管。而变量的值取的是基层单位的单位性质,资产处置业务表FA_BOD_DIS中并没有记录单位性质,这中情况下我们可以通过表达式设置从单位表MA_COMPANY中直接取基层单位的单位性质即可。具体设置如下图:
其中,表达式部分就是我们要取的基层单位性质字段的值,条件部分就是SQL语句where后面的条件,主要指多表关联的关联条件,这里的条件是:FA_BOD_DIS.CO_CODE=MA_COMPANY.CO_CODE AND FA_BOD_DIS.ND=MA_COMPANY.ND
即资产处置业务表和单位信息表通过单位代码和年度关联。数据表就是关联表的名称,这里是FA_BOD_DIS ,MA_COMPANY。
注意,有了这些设置还不够,我们还需要把上面的,“引用业务数据”和“根据主键过滤记录”勾上,否则业务表有多条记录的时候会无法找到正确的单据。
这样,最终在工作流送审时,变量extDir的值将是MA_COMPANY.Co_Kind的值,而平台在取值时使用的SQL语句是如下样子:
select MA_COMPANY.Co_Kind from FA_BOD_DIS,MA_COMPANY where FA_BOD_DIS.CO_CODE=MA_COMPANY.CO_CODE AND FA_BOD_DIS.ND=MA_COMPANY.ND and FA_BOD_DIS.BOD_DIS_CODE= '003000_000000001';
可以看出,其中红色部分就是我们的表达式部分,绿色部分就是数据表部分,而紫色部分就对应条件部分,蓝色部分则是“根据主键过滤记录”起的作用,它把当前送审的单据代码作为过滤条件,这样才能唯一确定这条记录,而select,from, where关键字则是平台解析工作流变量时自动加上的。