动态条件对象

时间:2013-07-24 16:47:30

标签: business-objects

在BO XI 3.1中,是否可以创建一个过滤多个表的条件对象,如果它们不存在则不会将所有这些表添加到查询中?

例如,如果我有几个表都包含当前和历史数据,并且每个表都有一个标志来指示记录是当前还是历史记录 - 我可以创建单个“当前数据“过滤所有此类表格以仅提取当前数据的条件?问题是查询可能没有从所有这些表中进行选择,并且我不希望包含条件来向我不选择的表添加连接。

换句话说,条件是否可以检查查询使用哪些表并仅对这些表应用过滤器?

1 个答案:

答案 0 :(得分:0)

您可以为每个表添加自我限制联接,并使用@prompt函数询问是否返回当前数据或历史数据。如果对每个自限制连接中的所有提示使用相同的文本和相同的数据类型,则提示将仅显示一次,并且仅应用于生成的查询中实际使用的表。

自限制联接可能类似​​于:

<table>.<history_flag> 
= @Prompt('Select current or historical data','A',{'C','H'}, Mono, constrained, , {'C'})

在上面的例子中,我们假设该标志是一个字母数字列(A),其值为C或H({'C','H'})。用户只能从这两个值中选择(constrained),并且只能选择一个值(Mono)。默认选项设置为当前数据({'C'})。

查看Universe Designer指南以了解@prompt语法。自限制连接在同一手册中进行了解释。