在BW Query变量处理类型中,有替换路径一项,本文介绍一下替换路径变量的使用步骤。
替换路径的作用与量Query之间,将第一个Query运行的结果(某一个特征),做为第二个Query的该特征的限制条件输入。即第二个Query的输入参数有第一个Query的运行结果决定。使用替换变量方法并不复杂:
1、创建Query1,Query1的创建没有任何要求(就是一个最普通的Query),其中包含需要使用的特征即可
2、创建替换路径变量。在需要创建替换路径变的特征值上创建新变量,处理由选择:替换路径,在替换路径页签中输入Query1
3、创建Query2,将该替换路径变量拉到过滤器,或者行列限制即可。
4、执行时Query2是,系统会先执行Query1,故Query1的变量输入界面会弹出来。
5、完毕,核查结果。
在BW Query变量处理类型中,有替换路径这一项,在这里记录下我最近使用的一种业务情况,也介绍下它的使用步骤。
业务场景
在DSO里有以下数据,有一条主流程N2012110107(以下图中的第一条数据)和四条子流程记录(以下截图中的第二、三、四、五条数据记录),子流程数据记录是由主流程发起的(很类似采购订单的头信息与行信息的关系),有其主流程编号和各自的子流程编号,但它们的“流程发起时间”不一样。
现在要求获取子流程,其主流程发起时间是在一定期间(用户输入)的,而不管子流程的“流程发起时间”是什么时候。例如要获取“流程发起时间”是2011.11的子流程数据记录,那么以下的所有的子流程记录都符合条件,因为它们的主流程的“流程发起时间”是2012.11。
这种情况不能通过子流程的“流程的发起时间”来做Filter,否则第五条记录(N201211010704就漏掉了),在DSO再增加一个时间类型的字段来保存主流程的“流程的发起时间”,可以实现但很繁琐且造成数据冗余。
实现设想
先获取符合条件的主流程数据记录,然后在获取子流程的数据时只需要找出“流程编号”在前一步的主数据数据记录的范围即可。即第二个Query的输入参数由第一个Query的运行结果决定。这时可以使用替换路径的变量来实现。
技术实现
1、创建第一个Query Z08_ZWUE_D01_CQ_035,它是获取主流程记录的,其流程发起时间是供用户输入。这个是很普通的Query,但要包含有“流程编号”特征。
2、 创建替换路径变量,在“流程编号”特征上创建新变量,处理由选择“替换路径”,查询输入第一个Query的技术名称Z08_ZWUE_D01_CQ_035。
3、创建第二个Query Z08_ZWUE_D01_CQ_025,这个是获取子流程的数据记录。只要把此替换路径变量拉到Filter,或行列限制即可。
4、 执行第二个Query Z08_ZWUE_D01_CQ_025的时候,系统会先执行第一个Query Z08_ZWUE_D01_CQ_035,所以Z08_ZWUE_D01_CQ_035的变量输入界面会弹出来。
5、 完毕,核查结果,正确。