ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 自定义Query变量输入界面

自定义Query变量输入界面

原创 Linux操作系统 作者:leniz 时间:2010-03-17 16:13:18 0 删除 编辑

此次设计主要涉及的技术有:
1. SAP BW Command URLs :实现变量的命令行式传递
2. HTML                                      : 基本输入框的定制
3. JavaScript                              :灵活定制用户的输入

      首先我们知道在显示Query时,如果Query本身存在Ready for Input的变量,那么系统会自动先加载一个"Variables for 。。。"的变量输入界面,当用户输入变量值并执行,即出现结果所需要的报表。
    在这个过程中,我们遇到了一个无法客制化的东西,那就是"变量输入界面",这个是系统自动生成的,它会按照Query变量的特性,动态的生成,所以在查询可选变量值等标准特性上非常优秀(暂时就不要去想变量值不能排序的问题)。
但是我们也遇到这样一个实际问题,如果用户的变量值是批量的,比如几十个值一次性复制进去,那么在原来标准界面是无法实现的,你只能逐一的填入。
    所以针对这个问题,我们希望能够将变量输入界面客制化,即至少能够实现目前的一次性复制多个变量的要求。
    实现这个要求有一个非常重要的前提,就是Query能够接受到我们传递的变量值,否则这个想法就会落空。庆幸的是,Query可以接收标准表单传递的值,也就是说我们把变量保存到form中,在提供form之后,值可以被Query接收,并处理显示最终结果。
Step 1. 定制输入界面
  按照实际情况,在WAD中放置输入控件,比如这个案例中用到了text,textarea,button等。
图1:在WAD中的显示界面


HTML输入控件代码如下:



 
 
   
 
   
   
 
   
   
 
   
   
 
   
   
 
   
   
 
   
   
 
   
   
Variables for CoppSheet Report
   
Calendar Week
      (*)  

     
      (Format:YYYYWW)
Plant
      title="Input Field Authorization Plant " maxLength=4
      name=VAR_VALUE_EXT_2>
HH
    Material (*) 

   
Count of Material:

   
      href="javascript.:frm_submit()"
      name=SUBMIT> Execute


处理用户需要输入的,我们还需要放置一些辅助性文本框,用来放置Command URLs,比如CMD, TEMPLATE_ID,以及变量名称等







当然这些值都要保存到Form中,这样通过提交form能够把数据一次性传递。



……………………
……………………


为了尽量与标准变量输入界面风格保持一直,我们采用系统提供的CSS标准。
图2:实际运行过程中显示界面


点击Execute即可将Form内变量值提交给提交给Query。
当然实际过程比上述复杂很多,主要是通过Javascript来处理多值的拆分,不过这个不影响功能的介绍。你可以从单个变量开始自己的客制化测试。

参考信息:

Default Variables for Web Applications

design.gif

input.gif

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/554557/viewspace-629720/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-31

  • 博文量
    448
  • 访问量
    1193714