(zt)BW中变量增强学习
http://www.cnblogs.com/Beewolf/archive/2009/04/21/1440475.html
?
?
?
EXIT_SAPLRSAP_001:交易数据信息增强出口??? EXIT_SAPLRSAP_002:主数据信息增强出口
??? EXIT_SAPLRSAP_003:主数据中的文本信息的增强出口
??? EXIT_SAPLRSAP_004:hiberarchy信息增强出口?
?
?
?
BW的query的变量需要进行增强才能正确地满足实际需要,如query中需要查询本年年初的关键值,你必须指定到今年的000期间才行,这时候就需要用到增强功能。
要点:1,只有放在BWquery中的自由特性的对象才能够进行即时分析。
2,由于BW的数据一般无法进行当天的数据查询,所以经常需要在当前日期上-1.
3,会计年度的值采用了一种约定:10日以前认为是查询上月的数据。当然这是在step=1时采用的。选择后的值是不一样的。
4,<!--StartFragment -->?l_s_range-sign?????=?'I'.I代表包含在内,而E的意义相反。
??????l_s_range-opt??????=?'BT'. 是关系运算式。BT=between,EQ = equal,其他略。
5,文本变量的方式是采用搜索数据表来得到的。如何才能查到需要的文本值,顾问的意思是st02等跟踪工具来跟踪得到。
6,许多的变量是依附于其他的选择变量的,所以在query中一定要把你依附的变量放在其中才能采用。
<!--StartFragment -->? ???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,典型的日期变量:
<!--StartFragment -->? ???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,典型的文本变量:
<!--StartFragment -->? ???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.
<script type="text/javascript"></script>