注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

黑山老妖的博客

 
 
 

日志

 
 
关于我

主要用来存放收集的资料,几乎都是转贴的东西!感谢原作者!

网易考拉推荐

BW中变量增强学习   

2010-02-04 16:34:51|  分类: BW |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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.

  评论这张
 
阅读(652)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018