SAP Study Notes: BW Queriy-Variables(变量)

About Variable:
1.Variable 是和InfoObject绑定的,可用于任何含有该IO的query中。
2.Variable有以下几种类型:
Characteristic:用于限制Char。 
Text:用于在报表动态显示文本。 
Hierarchy:用于限制Hierarchy。 
Hieararchy Node:用于限制Hierarchy Node。 
Formula: 可以在公式中使用变量,让用户输入一个数,读取某个Char.的属性(例如Prduct的price属性)等来用于计算。 
Offset的应用:设置偏移量
SAP BI Content内置了很多标准变量。当其无法满足需求时,有时仅仅需要设置下偏移量就可以满足需求了。
例如系统已经有了当前月份的变量,通过偏移就可以获得上N个月和下N个月的变量,无需增强。
 
定义Customer Exit Variables(BW 3.x ,BI7 类似)
客户出口变量可以通过程序来处理变量逻辑。定义过程如下:
1.在query designer中,右键单击要建立变量的characteristic,选择New variable.
2.设置为customer exit类型
3.进入CMOD,修改:Enhancement   Exp  RSR00001 BI: Enhancements for Global Variables in Reporting-->Function exit    EXIT_SAPLRRS0_001-->INCLUDE ZXRSRU01 。该Function Module 将在query运行时被调用多次。
3-1:调用前,系统将其他变量的当前值保存在内表 I_T_VAR_RANGE中。The table type is RRS0_T_VAR_RANGE, and row type RRS0_S_VAR_RANGE references structure RRRANGEEXIT.This structure has the following fields: 
Field                                     Description
 
VNAM                                   Variable name
 
IOBJNM                                 InfoObject name
 
SIGN                                      (I)ncluding [ ] or (E)xcluding ] [
 
OPT                                      Operators: EQ =, BT [ ], LE <=, LT <, GE >=, GT >, CP, and so on
 
LOW                                      Characteristic value
 
HIGH                                      Characteristic value of upper limit for intervals or node InfoObject for hierarchy nodes
 3-2:每次调用时,系统会传递参数值给Function Module。其中,比较重要的参数如下:

I_STEP 标识了该调用发生的时机:

 I_STEP = 1: Call is made directly before variable entry.
I_STEP = 2: Call is made directly after variable entry. This step is only executed if the same variable is not input-ready and could not be filled for I_STEP = 1.
I_STEP = 3: In this call, you can check the values of the variables. When an exception (RAISE) is triggered, the variable screen appears again. I_STEP = 2 is then also called again.
 I_STEP = 0: The enhancement is not called from the variable screen. The call can originate from the authorization check or from the monitor.
I_VNAM标识了当前要处理的变量。

3-3:完成变量的处理之后,应将变量的值写入E_T_RANGE。

Sample Code:
DATA: L_S_RANGE TYPE RSR_S_RANGESID.
DATA: L_S_VAR_RANGE TYPE RRRANGEEXIT. 
CASE I_VNAM.  
     WHEN 'CUMMONTH'.
        IF I_STEP = 2. "after the popup 
            READ TABLE I_T_VAR_RANGE INTO L_S_VAR_RANGE WITH KEY VNAM = 'MONTH'.
            IF SY-SUBRC = 0.
                    CLEAR L_S_RANGE.
                    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4)."low value, for example, 200601
                    L_S_RANGE-LOW+4(2) = '01'.
                    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW. "high value = input
                    L_S_RANGE-SIGN = 'I'.
                    L_S_RANGE-OPT = 'BT'.
                   APPEND L_S_RANGE TO E_T_RANGE.
                ENDIF.
        ENDIF.
ENDCASE.

查看SAP Exit变量 
SAP Exit变量为我们编写customer exit变量提供了很好的参考。
1. SE16 查看表 RSZGLOBV 可以得到系统全部变量的列表,选择process type=SAP Exit,即可获得所有的SAP Exit变量列表
2. SE37 查看 RREX_VARIABLE_EXIT 或RSVAREXIT_ * 可以找到SAP Exit变量的代码

转载于:https://www.cnblogs.com/hanmos/p/3429532.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Makefile中的通配符

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 Makefile 是可以使用 shell 命令的&#xff0c;所以 shell 支持的通配符在 Makefile 中也是同样适用的。 shell 中使用的通配符有&#xff1a;"*"&#xff0c;"?&qu…

SCCM2012 R2集成WSUS服务器-4:部署软件更新组

在之前的文章中&#xff0c;我们已经创建好的软件更新组&#xff0c;也下载好了补丁&#xff0c;下面我们来部署这些补丁。右击软件更新组&#xff0c;选择”部署“&#xff0c;如图。进入到部署软件更新向导&#xff0c;输入部署的名称&#xff0c;并指定部署的集合。如图。在…

JavaScript Iframe富文本编辑器中的光标定位

最近在项目中碰到一个比较棘手的问题&#xff1a; 在iframe富文本编辑器中&#xff0c;有个工具栏&#xff0c;这个工具栏在iframe标签之外&#xff0c;工具栏上有一个按钮&#xff0c;点击该按钮向iframe正在编辑中的光标处插入一个图片&#xff0c;图片会插入到当前光标所在的…

Makefile目标类型大汇总

模式规则中的目标形式是多种多样的&#xff0c;它可以是一个或多个的文件&#xff0c;也可以是一个伪目标&#xff0c;或者其他的类型&#xff0c;下面是对这些类型的详细说明。 强制目标 如果一个目标中没有命令或者依赖&#xff0c;并且它的目标不是一个存在的文件名&#xf…

网站故障排查几个简单步骤

1、top命令查看cpu消耗多少(id%的值和%cpu要是一直是几百就是问题了。%wa要是大于30%也是压力大了)。还有看负载的3个值(和cpu线程是1比1关系。要是值大于线程书&#xff0c;那么也是压力过大。)top命令要是发现cpu消耗过多&#xff0c;可以知道是哪几个进程了。2、查看硬盘使用…

isset、empty、var==null、is_null、var===null详细理解

//isset&#xff1a; 判断变量是否被初始化 //它并不会判断变量是否为空&#xff0c;并且可能用来判断数组中元素是否被定义 //听说在数组用isset与array_key_exists高出4倍 $a ""; $ar[c] ""; if(!isset($a)){echo $a not isset\r\n; }else{echo $a iss…

Makefile中常见的错误信息

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 make 执行过程中所产生错误并不都是致命的&#xff0c;特别是在命令行之前存在 "-"、或者 make 使用 "-k" 选项执行时。 make 执行过程的致命错误都带有前缀字符…

Javascript中call函数和apply函数的使用

Javascript 中call函数和apply的使用&#xff1a; Javascript中的call函数和apply函数是对执行上下文进行切换&#xff0c;是将一个函数从当前执行的上下文切换到另一个对象中执行&#xff0c;例如&#xff1a; sourceObj.method.call(destObj,params1,params2) 是将sourceObj中…

Makefile隐含规则

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 隐含规则的含义 隐含规则&#xff0c;就是我们做出一些具体的操作后&#xff0c;系统自动推导完成。 编写 Makefile 的时候&#xff0c;可以使用隐含规则来简化Makefile 文件编写。 下…

WIN7 Wireshark: There are no interfaces on which a capture can be done

有的时候我们在Windows7的环境下使用Wireshark的时候&#xff0c;比如点击【Interface List】的时候&#xff0c;出现错误。 错误内容如下&#xff1a; There are no interfaces on which a capture can be done. 这个错误是因为系统没有启动NPF服务造成的。 解决的办法很简单&…

搭建wordpress开发环境

安装php PHP下载地址&#xff1a;http://windows.php.net/download/ 和MySQL一样&#xff0c;下载包是一个zip压缩包&#xff0c;只需解压缩即可。将它解压缩到 D:\WNMP\php-5.5.6-Win32-VC11-x64目录下: 配置php 将php.ini-production文件复制并重命名为php.ini&#xff0c;并…

GCC和CC的区别

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客&#xff1a;Difference Between GCC and CC Compiler - Ask Any Difference 参考博客&#xff1a;Linux新手学堂&#xff1a;CC与GCC的区别概括介绍 - Prayer - C博客 总结 1、作用 GCC和CC都是…

Leetcode Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. 对于这道题最开始用的是用一个数组存储新建的节点&#xff0c;然后对random的索引时比较快。 后来在…

sharepoint 2007页面显示真实的错误信息

打开下面path的web.config文件:C:\Program Files\Common Files\Microsoft Shared\Web ServerExtensions\12\TEMPLATE\LAYOUTS修改&#xff1a;<system.web>... <customErrors mode"Off" />...</system.web>如果没有就添加&#xff1a;<SharePoi…

Shell循环(for,while,until,break与continue)

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 一、for循环 for循环一般格式为&#xff1a; for 变量 in 列表 docommand1command2...commandN done 列表是一组值&#xff08;数字、字符串等&#xff09;组成的序列&#xff0c;每个值通过…

业界重磅新书《UNIX/Linux网络日志分析与流量监控》首发

《UNIX/Linux网络日志分析与流量监控》出版社官网&#xff1a; http://www.cmpbook.com/stackroom.php?id39384 每本图书附赠51CTO学院的价值100元学习卡一张京东&#xff1a;http://item.jd.com/11582561.html机械工业出版社在线购书平台&#xff1a;http://www.golden-book.…

Git工具使用基础

Git 是一个分布式的版本控制工具&#xff0c;本篇文章从介绍Git开始&#xff0c;重点在于介绍Git的基本命令和使用技巧&#xff0c;让你尝试使用Git的同时&#xff0c;体验到原来一个版 本控制工具可以对开发产生如此之多的影响&#xff0c;文章分为两部分&#xff0c;第一部分…

Shell case esac语句

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 case语句格式 case 值 in 模式1)command1command2command3;; 模式2&#xff09;command1command2command3;; *)command1command2command3;; esac 取值后面是关键字 in。取值可以为变量或常数…

Shell test命令

以下内容源于C语言中文网的学习与整理&#xff0c;如有侵权&#xff0c;请告知删除。 Shell中的 test 命令用于检查某个条件是否成立&#xff0c;它可以进行数值、字符和文件三个方面的测试。这其实相当于一个中括号&#xff1f; 一、数值测试 参数说明-eq等于则为真-ne不等于…

DDOS的攻击原理和防护指南

我们现在来分析DDOS的攻击原理。 首先&#xff0c;DDOS是英文Distributed Denial of Service的缩写&#xff0c;意思是分布式拒绝服务。拒绝服务又是什么意思呢&#xff1f;就是采取一些垃圾数据包来阻塞网站的网络通道&#xff0c;导致让网站不能正常访问。分布式服 务拒绝攻击…