zoukankan      html  css  js  c++  java
  • BEx Query Designer中的变量及其增强

    写在前面的话:有人问起过我关于报表变量的内容,由于没接触过,当时有点懵;特转载此文章,以备学习只用。

     
    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_EXITRSVAREXIT_ * 可以找到SAP Exit变量的代码
  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/hanmos/p/2853231.html
Copyright © 2011-2022 走看看