query里如何创建变量
来源:互联网 发布:cnc编程薪资 编辑:程序博客网 时间:2024/05/22 10:49
bw里的特性值在sap里有时候找不到我们想要的变量那么必须自己创建,或者在AWB里创建,这个没试过.今天尝试了自己创建变量,并写了增强代码.新建变量还是比较好创建,就是需要对创建的变量进行记录这样可以方便别的同事,他们在创建报表时不用再自己创建了.交给客户时也方便他们维护.创建变量的具体步骤可以在BW305里找到,还有一些参数的设置.注意如果要创建自己可以写增强的变量,必须要选择user exit.如下图:
在query designer里创建完了之后,接着会在cmod里编写代码.发挥了我做abap的优势.修改会在function module EXIT_SAPLRRS0_001里进行代码的编写.这里的一些参数不明白具体含义是什么,不过看他们之前写的代码可以基本猜到参数的含义。我创建的变量增强代码如下:
变量的定义:
ls_range LIKE LINE OF e_t_range,
ls_var_range LIKE LINE OF i_t_var_range,
loc_ls_range LIKE LINE OF e_t_range.
* 会计年度期间变量,在现金流量表里创建,为得到输入会计年度的第一个期间
WHEN 'ZCASH001'.
ls_range-opt = 'EQ'.
ls_range-sign = 'I' .
IF i_step = 2.
* 得到输入会计年度和期间
READ TABLE i_t_var_range INTO ls_var_range WITH KEY
vnam = '0RMA_FIP' .
check sy-subrc = 0.
* 进行计算
zj_year = ls_var_range-low+0(4).
zj_mon = '001'.
CONCATENATE zj_year zj_mon INTO zj_year_mon.
ls_range-low = zj_year_mon.
INSERT ls_range INTO TABLE e_t_range.
ENDIF.
这段代码的含义是这样的,ls_range使我们自己定义的工作区,确定好了它的值的时候就可以把它传递给系统了。最后一句insert干的就是这个事情。因为变量是一个range所以头两句是一个定义,注意eq,因为我定义的变量是一个单一值。i_step是函数的参数,彦祥给我讲解,目前我对它的理解是i_step=1相当于PBO,等于2的时候相当于PAI。因为我创建这个变量视为了得到输入会计年度的第一个期间,所以我得先得到我输入的会计年度,read 就是干这个的。接着进行赋值,剩下的就很好理解了。在总结下我的代码含义,首先对我的range变量进行定义,然后读出我输入的会计年度,对我的变量进行赋值,在传递给系统。
这段代码还可以对它进行设置断点,断点类型设置为http类型的断点。
- query里如何创建变量
- MFC里如何创建工具栏
- c语言里如何调用汇编里的变量?
- query里的层级
- 如何程序里创建数据库和表
- 服务里没有TNSListener,如何创建
- 如何在visual2010 里创建默认注释
- 如何在win7里创建.exe可执行文件
- cocos如何在cmd里创建工程
- android数据库里的query
- Query 创建方法
- SAP Query创建过程
- 在Makefile里如何将变量变成小写或者大写
- python如何import 文件名存在字符串变量里的module
- 如何在shell脚本里传递一个变量给awk
- unity3d 使用c#如何访问某个对象里的c#脚本里的一个变量
- 如何在一个.c文件里调用另一个.c文件里的变量
- 如何在Scope的query界面中创建按钮并捕获按钮事件
- 关于oracal客户端toad的安装
- struts标签logic:iterate
- DisplayTag应用(转载)
- logger日志配置
- 窗口对象的清除
- query里如何创建变量
- 让CSDN 博客使用Windows Live Writer(转贴)
- “mailto”的六则应用技巧
- 在ASP.NET(C#)中实现在一个文本框输入值后按回车时将光标移到下一个文本框
- 注册一个贴解题报告的地方
- top 命令
- VB6.0实现DB5加密
- C#中return、break、continue的用法
- 追忆Tapstry4.0------综合示例演示