这几天为Data slice发愁,因为预算系统锁定功能是一定要的,但是自带的锁定功能必须到GUI去操作。在我已将预算搬到Web的情况下,用户是万万不愿意多走两步的,他觉得可以有,应该有Web页面的锁定功能。
在Web Interface,没有现成的组件可以用于数据锁定的功能。当然开发时一定的。 我们今天不说开发,而是说在这个过程中碰到的一个功能应用。
在GUI下的锁定功能,除了可以用具体的值,还可以用预算变量,看到这个我欣喜若狂(IT的感情底线是如此之低)。
但是变量又涉及到一个问题。系统可以定义无数个锁定,每个锁定的定义是一组数据的组合,比如:2011年 + A版本 + 甲公司 ,或2011年+ C版本+丁公司。 而变量是针对每一个特征建立的,比如年变量,版本变量,公司变量....。 问题来了,其实这些值是一个组合值,即要年+版本+公司才有意义的,而不是说年有2011,版本A和C,公司甲和丁,这样2011年+C版本+甲公司也被锁定了。 显然行不通。
不过在重新审视变量设计时,发现可以在一个变量中加入多个特征,即特征组合,正是我想要的。
于是下一个环节是对这种变量赋值的语法测试,弄了一个晚上总是出来了结果。
一般下的变量出口代码:以公司变量为例
l_eto_charsel_wa-chanm = 'ZCOMPANY'.
l_eto_charsel_wa-seqno = '0001'.
l_eto_charsel_wa-sign = 'I'.
l_eto_charsel_wa-opt = 'EQ'.
l_eto_charsel_wa-low = '1000'.
INSERT l_eto_charsel_wa INTO TABLE eto_charsel.
组合特征的变量写法是:以公司+时间变量为例
l_eto_charsel_wa-chanm = 'ZCOMPANY'.
l_eto_charsel_wa-seqno = '0001'.
l_eto_charsel_wa-sign = 'I'.
l_eto_charsel_wa-opt = 'EQ'.
l_eto_charsel_wa-low = '1000'.
INSERT l_eto_charsel_wa INTO TABLE eto_charsel.
l_eto_charsel_wa-chanm = '0CALYEAR'.
l_eto_charsel_wa-seqno = '0001'.
l_eto_charsel_wa-sign = 'I'.
l_eto_charsel_wa-opt = 'EQ'.
l_eto_charsel_wa-low = '2011'.
INSERT l_eto_charsel_wa INTO TABLE eto_charsel.
哈哈,技巧就在seqno上,对同一组值设定相同的seqno即可。
于是在做完这些测试后,信心满满的把这个组合变量赋值给Dataslice中的特征时,不幸发生了, 这里不允许使用这种多特征的变量。
我差点从凳子上摔下来。 挺好的东西,凭什么不可以呀? 想不通。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-700352/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/554557/viewspace-700352/