zoukankan      html  css  js  c++  java
  • BW中变量增强学习

    BW的query的变量需要进行增强才能正确地满足实际需要,如query中需要查询本年年初的关键值,你必须指定到今年的000期间才行,这时候就需要用到增强功能。

    要点:1,只有放在BWquery中的自由特性的对象才能够进行即时分析。

    2,由于BW的数据一般无法进行当天的数据查询,所以经常需要在当前日期上-1.

    3,会计年度的值采用了一种约定:10日以前认为是查询上月的数据。当然这是在step=1时采用的。选择后的值是不一样的。

    4, l_s_range-sign     = 'I'.I代表包含在内,而E的意义相反。
          l_s_range-opt      = 'BT'.
    是关系运算式。BT=between,EQ = equal,其他略。

    5,文本变量的方式是采用搜索数据表来得到的。如何才能查到需要的文本值,顾问的意思是st02等跟踪工具来跟踪得到。

    6,许多的变量是依附于其他的选择变量的,所以在query中一定要把你依附的变量放在其中才能采用。

         WHEN 'ZI_LNDSN'."这个变量就是依附于变量zs_calday的。
         IF i_step = 2 .
           READ TABLE i_t_var_range INTO loc_var_range
              WITH KEY vnam ='ZS_CALDAY'.
           IF sy-subrc EQ 0 .

    7,主要财务的会计期间与正常的日期之间的差别。如"2008001"与“20080101”的区别。在运算中大量用到转换。

    8,典型的日期变量:

         WHEN 'ZI_BNLJ12'.
         IF i_step = 2 .
           READ TABLE i_t_var_range INTO loc_var_range
              WITH KEY vnam ='ZI_FISCPERJG_NEW'.
           IF sy-subrc EQ 0 .
             CLEAR l_s_range.
             l_year = loc_var_range-high(4).


             l_s_range-high+0(4) = l_year.
             l_s_range-high+4(3) = '012'.

             l_s_range-low+0(4) = l_year.
             l_s_range-low+4(3) = '000'.

             l_s_range-sign     = 'I'.
             l_s_range-opt      = 'BT'.
             INSERT l_s_range INTO TABLE e_t_range.
           ENDIF.
         ENDIF.

    9,典型的文本变量:

         WHEN 'ZT_COMPCODE'.
         IF i_step = 2.
    *BREAK-POINT.
           READ TABLE i_t_var_range INTO loc_var_range
           WITH KEY vnam = 'ZH_COMPCODE'.
           IF sy-subrc EQ 0 .
             IF sy-sysid = 'DB1'.
               SELECT SINGLE txtmd INTO i_txtmd
               FROM rsthiernode
               WHERE nodename = loc_var_range-low
               AND   hieid = 'D3Z0Q0YD326Y3R99FPLZTWQ7J'
               AND   objvers = 'A'
               AND   langu = sy-langu.
               IF sy-subrc NE 0 .
                 SELECT SINGLE txtmd INTO i_txtmd
                 FROM /bi0/tcomp_code
                 WHERE comp_code = loc_var_range-low+0(4)
                     AND langu = sy-langu.
                 .
               ENDIF.
             ELSE.
               SELECT SINGLE txtmd INTO i_txtmd
                      FROM rsthiernode
                      WHERE nodename = loc_var_range-low
                      AND   hieid = 'D48Z1PEX0M4J4MTDKBKKEBPNK'
                      AND   objvers = 'A'
                      AND   langu = sy-langu.
               IF sy-subrc NE 0 .
                 SELECT SINGLE txtmd INTO i_txtmd
                 FROM /bi0/tcomp_code
                 WHERE comp_code = loc_var_range-low+0(4)
                   AND langu = sy-langu
                .
               ENDIF.
             ENDIF.
             l_s_range-low = i_txtmd.
           ENDIF.
           l_s_range-sign     = 'I'.
           l_s_range-opt      = 'EQ'.
           INSERT l_s_range INTO TABLE e_t_range.
         ENDIF.

  • 相关阅读:
    代码块;继承;this与super关系;重载与重写对比;类的继承特点;final关键字 (Java Day08)
    变量访问;this关键字;静态;工具类;帮助文档;Math使用;Arrays使用(Java Day07)
    面向对象;类和对象;访问对象;创建对象在内存中的理解;匿名对象;封装和this (Java Day06)
    如何保证 RocketMQ 不丢失消息
    Java-String类型的参数传递问题
    图解前中后序遍历
    一文彻底理解ReentrantLock可重入锁的使用
    聊聊MySQL、HBase、ES的特点和区别
    MySQL vs Java 数据类型
    Multi-Tenancy多租户模式
  • 原文地址:https://www.cnblogs.com/Beewolf/p/1440475.html
Copyright © 2011-2022 走看看