.普通项中的从属值集的定义(一般用于报表参数)
在这里我们假如有个报表,需要2个参数(为了举例方便,取了这2个参数,可能不符合实际。)
帐套名称(cux_sob_id)、供应商名称(cux_vendor_id)并且第二个参数依据第一个参数来弹出列表值
(即当选完帐套参数后,供应商值集列表中显示本帐套下的所有未失效的供应商)。这里我们还是定义2个值集,定义过程和上面例子的一样,只是在这里我们选择验证类型为表。
此时点击右边的编辑按钮进行设置,这里主要是设置用户所需要的显示字段、传值字段、以及定义值集范围即(WHERE条件、排序等)。第一个参数他不附属与其他值集所以很简单,选择完表名、所需字段后保存即可,如图1-6、1-7所示:
图1-6
图1-7
接下来我创建第二个值集(cux_vendor_id)因为他要附属于第一个参数(cux_sob_id)所以我们在"出处/排序依据"处进行添加条件:
set_of_books_id=nvl(:$FLEX$.cux_sob_id,set_of_books_id)或者
set_of_books_id=nvl(:$FLEX$.cux_sob_id:NULL,set_of_books_id) (cux_sob_id,rfb注:这里是第一个参数的名称,不是值集名称,并且FLEX和参数名称都必须为大写)
这样两个值集就关联起来了。
我们仔细看上面的2个语句,差别在于第二个语句多了一个(:NULL),他的作用是当用户不选择他的父参数时,可以先选择他自己,反之,如果没有:NULL则用户必须选择完其父参数(本例为帐套名称)才能选择自己(本例为供应商名称)。设置结果如图1-8、1-9所示
图1-8
图1-9
运行报表时的效果如图1-10、1-11所示:
图1-10
图1-11
图中商业信息已屏蔽。