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变量的代码

SAP Study Notes: BW Queriy-Variables(变量)的更多相关文章

  1. Machine Learning Algorithms Study Notes(2)--Supervised Learning

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  2. Machine Learning Algorithms Study Notes(3)--Learning Theory

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...

  3. Machine Learning Algorithms Study Notes(1)--Introduction

    Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1    Introduction    1 1.1    ...

  4. Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示

    用Grafana Variables变量配置快速切换不同主机的图表数据展示   by:授客 QQ:1033553122 测试环境 需求描述 操作步骤 结果展示 测试环境 influxdb-1.5.2. ...

  5. 五十九、SAP中常用预定义系统变量

    一.SAP中常用预定义系统变量 内容如下: 二.系统变量定义在结构SYST里,我们打开SE38 三.在代码编辑器输入SYST变量 四.双击SYST,来到这个系统结构,里面有很多系统变量 五.我们随便写 ...

  6. [Python Study Notes] 变量/编码/注释

    Ps:我这里选择的IDE为pycharm,个人感觉还是比较好用的. 1.变量 声明变量/赋值变量 #_*_ coding:utf-8 _*_ # author = "liu" ab ...

  7. Study notes for Clustering and K-means

    1. Clustering Analysis Clustering is the process of grouping a set of (unlabeled) data objects into ...

  8. D3 JS study notes

    如何使用d3来解析自定义格式的数据源? var psv = d3.dsvFormat("|"); // This parser can parse pipe-delimited t ...

  9. 【SAP BI】BW如何连接SQLSERVER数据库

    一.工具 源版本: SQLSERVER2008  数据库TEST 目标版本:  SAP 客户端 7.4  服务器7.5 二.在BW中建立数据库连接,并生成数据源 2.1  登录SAP BW开发机 ,输 ...

随机推荐

  1. hdu 4513 最长不下降回文序列【manacher】

    <题目链接> 吉哥又想出了一个新的完美队形游戏!  假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形 ...

  2. 洛谷 P1387 最大正方形 【dp】(经典)

    题目链接:https://www.luogu.org/problemnew/show/P1387 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入格式: 输入 ...

  3. 陈国凯oi历程

    从此成了OI退役狗 说实话,当时NOIP比赛前就想写这篇,结果一直没有足够的动力和时间写,现在高考完了,也有了时间,就写一点东西,记录一下我的OI经历吧. 初入OI 高一时,我是信息技术课代表(当然没 ...

  4. 目标检测——IoU 计算

    Iou 的计算 我们先考虑一维的情况:令 \(A = [x_1,x_2], B = [y_1, y_2]\),若想要 \(A\) 与 \(B\) 有交集,需要满足如下情况: 简言之,要保证 \(A\) ...

  5. mysql5.7一键安装脚本

    0. 概述 最近鼓捣出了一个mysql安装脚本,将该脚本,mysql的my.cnf文件,mysql的安装包这三个文件放在同一个目录下面,执行sh mysql-auto-install.sh就可以完成m ...

  6. ClassLoader如何加载class?

    ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用. 要深入了解ClassLoader,首先 ...

  7. 洛谷P1395 会议(CODEVS.3029.设置位置)(求树的重心)

    To 洛谷.1395 会议 To CODEVS.3029 设置位置 题目描述 有一个村庄居住着n个村民,有n-1条路径使得这n个村民的家联通,每条路径的长度都为1.现在村长希望在某个村民家中召开一场会 ...

  8. Chrome 浏览器的Secure Shell插件

    说起putty,windows下面的程序猿个个都是爱恨交加. 不小心发现一个宝贝,Chrome 浏览器的Secure Shell插件. 这是Google官方推出的插件,试用下来,putty完全可以下岗 ...

  9. node+express上传图片

    注意: 别用multer 上传文件了,太坑了,普通文本获取不到,折腾了半天没有解决,最后采用 multiparty 解决了: <!DOCTYPE html><html> < ...

  10. ajax请求的完整步骤

    AJAX = 异步JavaScript和XML,可以使网页实现异步更新,达到局部更新的目的. 一.AJAX请求步骤如下: 1.创建XMLHttpRequest对象 var xhr; if(window ...