小田薬局

查看个人介绍

universe和webi联动编程的一些注意事项

    去年这个时候第一次做webi的开发,之前sql都写不太利索,可想而知过程挺痛苦,但是学到不少东西,今年又来了个差不多的案件,其中又有点新的胡乱摸索到的东西,在这里记录一下。

    版本好像是14.2,记不清了明天上班再确认一下。


    两次做的都是webi画面通过prompt和control输入条件显示在report部分,不同之处是去年prompt都是必须输入项目,所以都在universe里直接定义就可以了,至于多个prompt条件在画面上显示的顺序问题,需要在webi的QueryPanel里导入universe后选择定制sql,然后在prompt的最后添加第8个变量“user:数值”进行规定。


    ※数值从0开始 例(user:0,user:1...)画面条件按升顺从小到大排列※


    但是这次因为甲方没经验瞎写设计书,搞了个prompt+optionalPrompt并存的形式做条件选择部分,导致了开发过程中出现了几次很头疼的问题。

     ① universe在定制sql时添加的prompt只有七个变量,第8个“user:0”和第9个“optional”只能在webi中定义。

    ※prompt既可以在universe中定义,也可以在webi中定义※

    强行在universe中定义的话,就会发生以下错误:

        Ⅰ.在定制sql的编辑模式下点sql确认时弹出“因为变量7定义错误无法确认,是否继续”的提示(正常情况下变量7是默认值)

        Ⅱ. 强行选择继续退出编辑模式后,本来可以显示select项目的预览变成什么都没有了

        Ⅲ. 双击打开object详细,选择分析时,弹出“因为变量7定义错误无法确认“的提示

    此时单从universe的角度来看是有问题的,但是!! 此时的universe放到webi中是好用的,条件可以按照user的序号正确显示。谷歌过这个问题,貌似确实有universe中check不过但是放在webi中能用的现象(...)把做好的东西上传到另外一个服务器上测试也没发现什么问题。这样来看的话大概是可以这么用的吧。


    还有一个很令人头大的现象就是

    webi的QueryPanel中,禁止在定制模式下定义optional

    一旦在webi的filter中定义prompt为optional,那么QueryPanel的定制功能就被禁止了,无法强行使用,因为会报错。


    所以根据这次的式样,既想prompt和optional同时存在,又不按先prompt后optionalPrompt的顺序乱着表示,所以不择手段采取了以下方式

   ① 在universe中将必须输入的条件用prompt作成,并且强行写入第八个变量user排序,将做好的unv上传至服务器

   ② 在webi的QueryPanel中导入universe,用filter定义optionalPrompt

   ③ 保存关闭QueryPanel

   

评论
 
©小田薬局 | Powered by LOFTER