全球最具影响力的数据智能产业服务和职业发展平台

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

SAP BI工作摘录

[复制链接]
发表于 2018-4-24 09:56:34 | 显示全部楼层 |阅读模式

在CMOD中的XRSRU01

1、  声明会计年度类型的变量

Data: year_temp2 TYPE /bi0/oifiscyear

2、  声明记账期间类型的变量e

Data: mon_temp2 TYPE /bi0/oifiscper3,

3、  声明日期类型的变量

Data: date like sy-datum

4、  声明一个类型如层次结构表的变量

zorg_hier_tab1 LIKE TABLE OF /bi0/horgunit

   根据条件从表中检索出记录放到一个工作区中

   select single * from /bi0/horgunit into zorg_hier_wa
                                 where objvers = 'A'
                                   and nodename = '&2'
                                   and datefrom <= sy-datum
                                   and dateto   >= sy-datum.

select * from /bi0/horgunit into table zorg_hier_tab1
                                 where parentid = zorg_hier_wa-nodeid

判断表不为空

if zorg_hier_tab1[] is not initial.

移动记录

move zorg_hier_tab2[] to zorg_hier_tab1[].

5、  ranges: r_nodeid for /bi0/horgunit-nodeid.

6、  t_son_com type ztcode with header line

zcode是一个长度为6的字符串

7、  data: za_table like table of z08bit001 with header line.

Data

8、 data:diw_first TYPE d VALUE '19790101'

9、  定义宏

DEFINE macro.

….&1…..&9…

END-OF-DEFINITION.

它相当于一个子程序,例如

DEFINE operation.
  result = &1 &2 &3.
  output   &1 &2 &3 result.
END-OF-DEFINITION

调用,

operation 4 + 3.
operation 2 ** 7.
operation n2 - n1.

另外,宏的定义是存在表TMAC中

10、              增强中固定的几个变量

I_vnam:  Query变量是赋给CMOD中的变量

I_step:  调用发生的时机

I_t_var_range: 用户输入的值是存在i_t_var_range里面的

L_s_range: cmod操作的内表

E_t_range: 最终赋给E_T_RANGE返回给Query,方法append l_s_range to e_t_range.

I_s_rkbld-compid: 存放Query的变量

11、              连接字符串

CONCATENATE sy-datum+0(4) '0101' INTO zdate.
l_s_range-low = zdate.

12、              从表获得值,赋予到一个变量中

SELECT MIN( calmonth ) INTO zmonth1
FROM /bic/azwps_d9600.
IF sy-subrc = 0.
    zmonth1 = zmonth1.
ELSE.
    zmonth1 = '200001'.

ENDIF.

13、              定义一个信息对象类型的常量

CONSTANTS: c_objnm TYPE rsd_iobjnm VALUE '0SEM_CGCOMP',
            c_objnm2 TYPE rsd_iobjnm VALUE '0TCAIPROV'.

14、              DESCRIBE TABLE itab [KIND knd] [LINES lin] [OCCURS n].

它是将内表itab的一些属性的值,赋予特定的变量中,

KIND knd:将itab的表类型赋予变量

T: Standard tables

S:  Sorted tables

H:  Hashed tables

LINE lin: 决定表itab表的记录行数

15、 CALL FUNCTION 'ZBPC_AUTH_CHECK_ENTITY'
        CHANGING  chg_comp = i_comp1.

16、SHIFT l_s_var_range_01-low LEFT

SHIFT c  BY  n  PLACES MODE

去掉字符串的前N个位置拉字符,N不指定,默认为1,如果N为0或负数,则字符串不变,如果N超出字符串的长度,则字符串变空,

MODE表是截取字符串的方向

LEFT:从左边截断

RIGHT:从右边截断

CIRCULAR:把左边的字符放到右边。

17、 去掉字符串的空格

CONDENSE l_s_range-low NO_GAPS

18、 在WHEN语句中作判断“或”

WHEN 'ZCNFDATE' OR 'ZCNFDATES' OR 'ZCNFDATEP'.

19、 赋值

MOVE t_son_com TO comp.

20、 更新数据要注意的

大数据量时不要用modify

大数据量时要考虑update module

大数据量更新必然引起transaction log的激增,没办法,要关注磁盘的空间。

21、 OPEN SQL的主要类型

SELECT

INSERT

UPDATE: 在数据库表中更改行

MODIFY:添加或更改行

DELETE:

OPEN CURSOR , FETCH 使用光标从DB表中读取行

CLOSE CURSOR

   

22、从DB中读取单条记录

SELECT SINGLE  *  FROM  scarr  INTO  wa_scarr WHERE carrid = pa_car

If sy-subrc = 0

…..

23、从DB中读取多条记录

SELECT  carrid  connid fldata  seatsocc  searsmax

FROM  sfight

INTO  wa_sbc400focc

WHERE carrid = pa_car

ENDSELECT

IF sy-subrc = 0 .

24、从DB中读取多条记录读到内存中的wa

SELECT  carrrid  connid  flddate seatmax  setsocc

FROM  sflight

INTO  TABLE itab_focc

WHERE  carrid = pa_car.

25、在select中语句中指定要访问的clients

SELECT * FROM spfli

CLIENT SPECIFIED

INTO …

WHERE mandt in (401, 402)

AND carrid EQ ‘AA’.

ENDSELECT.

26、利用光标从DB表中读取行

OPEN CURSOR [WITH HOLD]  <c> FOR SELECT ….

     [WHERE <condition>].

27、字符串相连后,以什么字符来分隔

CONCATENATE  t1   t2  t3 INTO  result  SEPARATED BY space.

CONCATENATE  nodename+28(4)  text INTO result SEPARATED BY  '  '.

28、从DB表选出字段存放在一个表中

SELECT * INTO CORRESPONDING FIELDS OF TABLE za_table
FROM z08bit001
WHERE zempno = sy-uname AND zauthob = 'Z10BI029' AND zinfo = '0COMP_CODE'.

29、Query有变量ZCPROT01,是基于利润中心建立的,是多个单值,作cmod中作增强时

        WHEN 'ZCPROT01'.
          IF i_step = 1.
            SELECT * INTO CORRESPONDING FIELDS OF TABLE za_table
              FROM z08bit001
              WHERE zempno = sy-uname AND zauthob = 'Z10BI029' AND zinfo = '0PROFIT_CTR'.

            LOOP AT za_table.
              CLEAR l_s_range .
              l_s_range-sign = 'I'.
              l_s_range-opt = 'EQ'.
              l_s_range-low = za_table-zauthval.
*              l_s_range-high = za_table-zauthval.
              APPEND l_s_range TO e_t_range .
            ENDLOOP.
            CLEAR l_s_var_range.
          ENDIF.

在SELECT与ENDSELECT之间是多条记录的,在其中作处理:将select出来的值赋给LOW,就可以实现多个值了。

30、SAP出口的例子,Z10_ZAFM_C01_WQ_002,基于0FISCYEAR创建的变量0FYEAR是SAP Exit的。

31、当你删除红色的DTP请求,错误堆栈中的数据也会被删除。

32、Error Stack的表名,打开一个DTP,在菜单Extras --à Setting for Error Stack.可以找到table Name.

33、NUMC:是一个字符串类型,用于电话号码,身份证号码等,不能用于数据计算的,它前导可以是0

    NUM:只含用数字,可用于计算,是I或P的数字类型

34、CUBE、Query、infoArea, InfoCube都可以通过S_RS_COMP来限制

   PC是通过S_RS_PC来限制的.

35、可以在

在CMOD中的XRSRU01

1、  声明会计年度类型的变量

Data: year_temp2 TYPE /bi0/oifiscyear

2、  声明记账期间类型的变量e

Data: mon_temp2 TYPE /bi0/oifiscper3,

3、  声明日期类型的变量

Data: date like sy-datum

4、  声明一个类型如层次结构表的变量

zorg_hier_tab1 LIKE TABLE OF /bi0/horgunit

   根据条件从表中检索出记录放到一个工作区中

   select single * from /bi0/horgunit into zorg_hier_wa
                                 where objvers = 'A'
                                   and nodename = '&2'
                                   and datefrom <= sy-datum
                                   and dateto   >= sy-datum.

select * from /bi0/horgunit into table zorg_hier_tab1
                                 where parentid = zorg_hier_wa-nodeid

判断表不为空

if zorg_hier_tab1[] is not initial.

移动记录

move zorg_hier_tab2[] to zorg_hier_tab1[].

5、  ranges: r_nodeid for /bi0/horgunit-nodeid.

6、  t_son_com type ztcode with header line

zcode是一个长度为6的字符串

7、  data: za_table like table of z08bit001 with header line.

Data

8、 data:diw_first TYPE d VALUE '19790101'

9、  定义宏

DEFINE macro.

….&1…..&9…

END-OF-DEFINITION.

它相当于一个子程序,例如

DEFINE operation.
  result = &1 &2 &3.
  output   &1 &2 &3 result.
END-OF-DEFINITION

调用,

operation 4 + 3.
operation 2 ** 7.
operation n2 - n1.

另外,宏的定义是存在表TMAC中

10、              增强中固定的几个变量

I_vnam:  Query变量是赋给CMOD中的变量

I_step:  调用发生的时机

I_t_var_range: 用户输入的值是存在i_t_var_range里面的

L_s_range: cmod操作的内表

E_t_range: 最终赋给E_T_RANGE返回给Query,方法append l_s_range to e_t_range.

I_s_rkbld-compid: 存放Query的变量

11、              连接字符串

CONCATENATE sy-datum+0(4) '0101' INTO zdate.
l_s_range-low = zdate.

12、              从表获得值,赋予到一个变量中

SELECT MIN( calmonth ) INTO zmonth1
FROM /bic/azwps_d9600.
IF sy-subrc = 0.
    zmonth1 = zmonth1.
ELSE.
    zmonth1 = '200001'.

ENDIF.

13、              定义一个信息对象类型的常量

CONSTANTS: c_objnm TYPE rsd_iobjnm VALUE '0SEM_CGCOMP',
            c_objnm2 TYPE rsd_iobjnm VALUE '0TCAIPROV'.

14、              DESCRIBE TABLE itab [KIND knd] [LINES lin] [OCCURS n].

它是将内表itab的一些属性的值,赋予特定的变量中,

KIND knd:将itab的表类型赋予变量

T: Standard tables

S:  Sorted tables

H:  Hashed tables

LINE lin: 决定表itab表的记录行数

15、 CALL FUNCTION 'ZBPC_AUTH_CHECK_ENTITY'
        CHANGING  chg_comp = i_comp1.

16、SHIFT l_s_var_range_01-low LEFT

SHIFT c  BY  n  PLACES MODE

去掉字符串的前N个位置拉字符,N不指定,默认为1,如果N为0或负数,则字符串不变,如果N超出字符串的长度,则字符串变空,

MODE表是截取字符串的方向

LEFT:从左边截断

RIGHT:从右边截断

CIRCULAR:把左边的字符放到右边。

17、 去掉字符串的空格

CONDENSE l_s_range-low NO_GAPS

18、 在WHEN语句中作判断“或”

WHEN 'ZCNFDATE' OR 'ZCNFDATES' OR 'ZCNFDATEP'.

19、 赋值

MOVE t_son_com TO comp.

20、 更新数据要注意的

大数据量时不要用modify

大数据量时要考虑update module

大数据量更新必然引起transaction log的激增,没办法,要关注磁盘的空间。

21、 OPEN SQL的主要类型

SELECT

INSERT

UPDATE: 在数据库表中更改行

MODIFY:添加或更改行

DELETE:

OPEN CURSOR , FETCH 使用光标从DB表中读取行

CLOSE CURSOR

   

22、从DB中读取单条记录

SELECT SINGLE  *  FROM  scarr  INTO  wa_scarr WHERE carrid = pa_car

If sy-subrc = 0

…..

23、从DB中读取多条记录

SELECT  carrid  connid fldata  seatsocc  searsmax

FROM  sfight

INTO  wa_sbc400focc

WHERE carrid = pa_car

ENDSELECT

IF sy-subrc = 0 .

24、从DB中读取多条记录读到内存中的wa

SELECT  carrrid  connid  flddate seatmax  setsocc

FROM  sflight

INTO  TABLE itab_focc

WHERE  carrid = pa_car.

25、在select中语句中指定要访问的clients

SELECT * FROM spfli

CLIENT SPECIFIED

INTO …

WHERE mandt in (401, 402)

AND carrid EQ ‘AA’.

ENDSELECT.

26、利用光标从DB表中读取行

OPEN CURSOR [WITH HOLD]  <c> FOR SELECT ….

     [WHERE <condition>].

27、字符串相连后,以什么字符来分隔

CONCATENATE  t1   t2  t3 INTO  result  SEPARATED BY space.

CONCATENATE  nodename+28(4)  text INTO result SEPARATED BY  '  '.

28、从DB表选出字段存放在一个表中

SELECT * INTO CORRESPONDING FIELDS OF TABLE za_table
FROM z08bit001
WHERE zempno = sy-uname AND zauthob = 'Z10BI029' AND zinfo = '0COMP_CODE'.

29、Query有变量ZCPROT01,是基于利润中心建立的,是多个单值,作cmod中作增强时

        WHEN 'ZCPROT01'.
          IF i_step = 1.
            SELECT * INTO CORRESPONDING FIELDS OF TABLE za_table
              FROM z08bit001
              WHERE zempno = sy-uname AND zauthob = 'Z10BI029' AND zinfo = '0PROFIT_CTR'.

            LOOP AT za_table.
              CLEAR l_s_range .
              l_s_range-sign = 'I'.
              l_s_range-opt = 'EQ'.
              l_s_range-low = za_table-zauthval.
*              l_s_range-high = za_table-zauthval.
              APPEND l_s_range TO e_t_range .
            ENDLOOP.
            CLEAR l_s_var_range.
          ENDIF.

在SELECT与ENDSELECT之间是多条记录的,在其中作处理:将select出来的值赋给LOW,就可以实现多个值了。

30、SAP出口的例子,Z10_ZAFM_C01_WQ_002,基于0FISCYEAR创建的变量0FYEAR是SAP Exit的。

31、当你删除红色的DTP请求,错误堆栈中的数据也会被删除。

32、Error Stack的表名,打开一个DTP,在菜单Extras --à Setting for Error Stack.可以找到table Name.

33、NUMC:是一个字符串类型,用于电话号码,身份证号码等,不能用于数据计算的,它前导可以是0

    NUM:只含用数字,可用于计算,是I或P的数字类型

34、CUBE、Query、infoArea, InfoCube都可以通过S_RS_COMP来限制

   PC是通过S_RS_PC来限制的.

35、可以在tomcat的catalina.bat中添加启动参数:

Set JAVA_OPTS = %JAVA_OPTS%-Dsun.lang.ClassLoader.allowArraySyntax=true

Set JAVA_OPTS = Xms512m-Xmsx512m

36、0FISCPER3的数据元素是/BI0/OIFISCPER3。记账期间

0CALMON的数据元素是/BI0/OICALMONTH。日历年/月

0CALYEAR的数据元素是/BI0/OICALYEAR。日历年

0CALMONTH2的数据元素是/BI0/OICALMONTH2

0CALDAY的数据元素是/BI0/OICALDAY.

tomcat的catalina.bat中添加启动参数:

Set JAVA_OPTS = %JAVA_OPTS%-Dsun.lang.ClassLoader.allowArraySyntax=true

Set JAVA_OPTS = Xms512m-Xmsx512m

36、0FISCPER3的数据元素是/BI0/OIFISCPER3。记账期间

0CALMON的数据元素是/BI0/OICALMONTH。日历年/月

0CALYEAR的数据元素是/BI0/OICALYEAR。日历年

0CALMONTH2的数据元素是/BI0/OICALMONTH2

0CALDAY的数据元素是/BI0/OICALDAY.

37、Loop里面不允许有SQL语句,如果Loop里面的SQL B是根据另一个SQL A语句的条件来得出的,先把SQL B的结果放在一个RANGE里面,在Loop里面再在RANGE里根据条件来抓取。

38、No Full Repair/Repair full request concept in DTP as it has one to one delta mechanism.

39、两种动态数据对象:Field Symbols与Data Reference。

40、内表有三种形式:Standard table, Sorted Table,Hashed table ,后一种不能进行索引查找,只能通过关键字搜索。

=============2012/8/1

1、几个常用的系统变量:sy-uname, sy-host, sy-datum, sy-uzedit, sy-subrc, sy-index, sy-bdcnt, sy-tabix, sy-dynnr。

2、Append与Insert的区别:Append wa to itab,   insert wa into table itab.

3、修改内表语法:modify itab from wa TRANSPORTING col2 where…..表明根据where条件来更新COL2字段值,表类型为SORTED或HASHED。

4、在LOOP ….ENDLOOP内有一个AT ~ ENDAT循环,其中包括FIRST,LAST,NEW, END OF这些可以用来进行内表中按某个字段分组统计。

5、几条记录作一次取用:PACKAGE SIZE N,如SELECT * FROM SPFLI  INTO CORRESPONDING FIELDS  OF TABLE  itab PACKAGE SIZE 3.

6、几个字符的操作函数,SPLIT …AT … INTO, SHIFT…RIGHT.., ADD-CORRESPONDING, DIVIDE-CORRESPONDING, MOVE-CORRESPONDING, ABS, CONCATENAME, CONDENSE.

7、刷新时对于基表用refresh,内表用clear, free.

8、如果内表没显式声明,所有非数值的字段都作为KEY,

   READ可以用With Key或With TABLE KEY,但DELETE只能用with table key。

   语法如下:

   -------1、

   DELETE / READ itab – table_key

   …….

   WITH TABLE KEY name1 = dobj1

   ------2、

   READ – table free key

   ….

   READ TABLE itab {WITH KEY dobj}

            | WITH KEY = dobj [BINARY SEARCH]  RESULT

   我们关注的内表的访问效率问题,访问表可以用WITH KEY或WITH KEY – BINARY SEARCH或WITH TABLE KEY. 那效率如何?

   分析这个问题,先了解下表的访问方式有哪些,主要用index, binary search,线性, HASH。

   内表的访问和内表的类型有直接的关系,如:

   Standard Table:线性访问,可以用with key或with Table Key或with key … Binary Search,但with key … Binary Search效率最好

   Sorted Table: Binary Search,默认用Binary Search

   Hashed Table: Hash算法。

9、做Aggregate的方法有:

A、熟悉CUBE的结构,直接手工抓取Characteristic。

B、Propose From Query:比较单纯,直接选择一个Query它就会自动生成两个Agg.,分别为Min(最小情况,就是你下了过滤条件的InfoObject),Max(显示InfoObject + Free Object + Filter OBject)。

C、From Statistic你要首先启用对应Cube的Statistic,等数据统计一了一定量的时候它就会按照统计数据自动生成Agg.,一下子会生成多个,选择Optimum,它会做优化,留下合并的情况,都激活后观察一段时间,把使用率较低的杀掉它,剩下的就是精华了。

10、RSA1OLD是进入3.5的老界面。

11、内表定义:不能直接定义带表头的内表,应先按照命名规范定义内表,再定义工作区对应该内表使用。

DATA: gt_table   TYPE STANDARD TABLE OF table,
      gwa_table  LIKE LINE OF gt_table.

12、常用表操作语句

1)、SELECT

程序中SELECT语句前面选择的列保持每行一列,如果后面只有一列选择,INTO后面应去掉CORRESPONDING FIELDS OF.

如:SELECT  Colum1

       Colum2

           Colum3

    INTO CORRESPONDING FIELDS OF TABLE gt_table

2)、LOOP –ATOOP语句中禁止写SELECT语句,必须写在LOOP循环体外。

    SELECT  Colum1

              Colum2

      INTO   gt_table

      FROM   table.

LOOP AT gt_tableINTO gwa_table.

ENDLOOP.

13、FOR  ALL  ENTRIES   IN

注意点:使用前应先判断后面的内表是否为空,因为若为空则数据无条件全部被选出,同时需要先对内表进行排序和删除重复记录以提高性能。

14、AT    NEW… ENDAT.     AT END OF …ENDAT.

注意点:使用此方法前,应先将内表进行排序。

1、  修改动态内表的值只能用指标形式

LOOP AT <scout> ASSIGNING <fs_wa_out_tmp>.
      ASSIGN COMPONENT 'OBJNR' OF STRUCTURE <fs_wa_out_tmp> to <fs_result>.
      ASSIGN COMPONENT 'OBJNR_N1' OF STRUCTURE <fs_wa_out_tmp> to <fs_xj>.
      IF <fs_result> = gwa_zhc-objnr AND <fs_xj> = gwa_zhc-objnr_n1.
*        PERFORM frm_assign USING gwa_zhc-kstar gwa_zhc-wtgbtr.
        WRITE gwa_zhc-wtgbtr to l_str.
        ASSIGN COMPONENT 'POSID' OF STRUCTURE <fs_wa_out_tmp> TO <FS_to>.
        <fs_to> = gwa_zhc-posid.
        ASSIGN COMPONENT gwa_zhc-kstar OF STRUCTURE <fs_wa_out_tmp> TO <fs_from>.
*        <fs_from> = gwa_zhc-wtgbtr.
        <fs_from> = l_str.
        CLEAR: l_str.
        UNASSIGN <fs_from>.
        gwa_zhc-flg = 'X'.
      ENDIF.
    ENDLOOP.

2、  取下一个月函数

CALL FUNCTION '/ISDFPS/GANTT_GET_NEXT_MONTH'

     EXPORTING

       i_date = l_datum

     IMPORTING

        e_date = l_datum.

17、取内表中最小值

AT NEW cloum.

     mindate = l_date.

    ENDAT.

18、取内表中的最大值

AT END OF cloum.

     maxdate = l_date.

   ENDAT.

这种方法可直接获取内表的最小值和最大值,而不用循环比较内表内各值大小,但须注意使用前必须先对内表进行排序。

18、修改SAP表:SE16N,&SAP_EDIT

19、当要删除一个Query时,注意你有没有S_RS_COMP和S_RS_COMP1的权限。

20、汇率传率的后台工作名是RSIMPCURR。

22、维护无效字符RSKC,PROGRAM: RSKC_ALLOWED_CHAR_MAINTAIN

23、维护物料编码的格式OMSL,相关的表TMCNV

24、更改监视器的等待时间RSCUSTV2,相关的表是RSADMINCV2。

25、安装NOTE可以是针对开发工具,系统的,或模块功能增强而打的。

26、在SELECT语句中指定要访问的CLIENTS

SELECT *  FROM SPFLI  CLIENT  SPECIFIED

INTO ….

WHERE   MANDT  IN (401,  402)   AND  CARRID  EQ  ‘LH’.

….

ENDSELECT.

27、删除Query的方法有:

一法:RSZDelete、

二法:

A,Rsa1-à Transport Connection

B,Object Changability button

C, Object ELEM(Query Element) is set to ’Not Changeable’, Right-click and changed to ‘All changeable’

D,Now ELEM object type is set to changeable -à try to delete the query again.

三法:

检查旧的Query有没有一些元素被使用,如文本元素,导航板等。

28、WBS:工作细分结构,是将项目的总任务进行细分的工具。WBS元素指工作细分结构的单元,按照一定的编码规则,划分了不同的层次,上一层的元素是下一层元素的汇总,包括时间、计划,预算等等。

29、IDOC:Intermediate Document是SAP ECC或其他外部系统交换数据用的文件格式。

SAP系统有很多自己已定义好的IDOC Message Type,如同一个系统的两个Client有一个账号同步功能可以通过IDOC的设置来实现,如Client 100某账号改了密码,这次改动的数据会自动Outbound发送到Client120,而且120通过Inbound来接收数据,写入数据表。

24、处理重复的数据记录

如果DTP的Handle Duplicate Record Keys标志设勾上,有重复的数据记录会写到错误堆栈中。

如果有勾上,处理过程是,

①不依赖时间的数据,对有重复Key的数据,包最后一条记录被更新到数据目标中。

②时间表依赖的,例如

  数据记录1,有效期2006.01.01  ~ 2006.12.31

  与上面记录有重复Key的数据记录2,有效期2006.7.1  ~  2007.12.31

  系统会更改数据记录1的有效期:2006.01.01  ~ 2006.6.30

  注意:DTP语义组声明数据包的数据结构,有时在DTP的语义键中不包含DATETO。

DATETO不是语义键的


DataRrd

Key

DATEFROM

DATETO

Value

DataRrd  1

A

2001-01-01

2006-12-31

Xyc

DataRrd  2

A

2000-01-01

2001-12-31

Abc

在数据包中,数据记录是按数据记录1,数据记录2的顺序来排序的,

所以记录的时间间隔更正为:

数据记录1: 2002-01-01  ~ 2006-12-31

数据记录2: 2000-01-01  ~ 2001-12-31

DATETO是语义键的

   


DataRrd

Key

DATAFROM

VALUE

DATETO

DataRrd 1

A

2006-12-31

2001-01-01

XYZ

DataRrd 2

A

2001-12-31

2000-01-01

ABC

如果DATETO是主键中的一员,数据记录会按DATETO排序,在这种情况下,有最早日期的记录会排在前面,数据包的记录是:DataRrd 2, DataRrd 1.

记录的时间间隔更正为:

DataRcd 1:2001.1.1  ~  2006.12.31

DataRcd 2: 2000.1.1  ~  2000.12.31

31、如何利用ERP以及企业所有业务系统积累的大量数据,从浩如烟海的数据中发掘出有用的信息,从企业层面出具报表,分析企业运行状况,甚至找到企业业绩背后趋势性,规律性的主要原因,从而为企业提供决策支持和战略指引,这就是BI软件的历史使命,同时也是商务智能项目在当前依旧如火如萘,方兴未艾的根本原因。

32、SAP BW三层逻辑架构实例

         

33、SAP BW内部三层逻辑架构

     

34、在系统中用层次配置来管理要传输的对象ackage(开发类), Request, Task.

35、如果系统可用的Package,可以用SE21先创建一个Package。

36、Request,前三位是系统编号,第4位是字母K,后面6位是流水号。

37、业务需求分为三部分

在BW系统中建立相应的模型。

在BW系统中完成数据的加载。

在Bex工具中建立查询和报表,显示数据。

38、在Bw中建立相应的模型主要包括以下内容:

1)、信息对象:特性和关键值

2)、数据源:业务数据数据源,主数据数据源或文本类型数据源

3)、DSO:用于存储对仓存层的数据

4)、InfoCube:

5)、transformation

6)、InfoPackage

7)、DTP

39、BW本质上是一个DB,在BW中只是将对象本身保存,激活是生成该对象对应的数据库表,可以放数据和其他对象,才能被使用。所以,在BW中创建对象后,一般都有激活操作,如果之前未保存,激活也就附带保存了。

39、权限、角色、用户的关,一个用户可以分配多个角色,一个角色又可以分配多个权限,我们通常根据定义权限对象来控制具体的功能范围。

40、以下这几个对象是用户浏览报表所必须的最小权限

S_RS_COMP, S_RS_COMP1,  S_RFC,  S_TCODE

一个报表用户必须有S_RS_COMP, S_RS_COMP1来控制信息提供者和Query等的访问权限,另外如果用户使用Bex Analyzer工具,还需要S_RFC和S_TCODE(RRMX)的权限。

   

41、三个系统权限对象:

0TCAACTVT: 控制操作类型

0TCAIPROV:控制信息提供者的权限

0TCAVLID:控制有效期间

42、BW权限的三层结构,BW系统账号权限;BW报表菜单权限;BW报表细节权限;

49、Business View Manager:BVM

50、what’s sandbox?

Is one more instance of your server in SAP.

Is training field. Just a playground.

Whatever configurations/developments done in the SANDBOX it can’t transport.

51、BKK_ADD_MONTH_TO_DATE:向指定日期上增加若干个月,并返回结果日期。

INPUT:

OLDDATE:日期类型,必须输入,原始日期

MONTHS:不限制类型,必须输入,添加的月份数,可以是负数。

OUTPUT:

NEWDATE:日期类型,计算出的结果

52、FIMA_DATE_CREATE,当月倒退13个月

CALL FUNCTION ‘FIMA_DATE_CREATE’

EXPORTING

I_date = sy-datum

I_months = -13

IMPORTING

E_date = ztdt.

53、通过创建例外可以用红黄绿颜色标示介于不同之范围的数值。

54、通过创建条件,可对数据进行筛选及显示方式的限制。

55、BX就相当于R3端用MMBE Tcode的效果一样,MMBE是显示一个物料的库存,BX则会把所用物料的库存都会给你计算写到SETUP Table。

56、PC没数据抽取,记得要给BWALEREMOTE全部的权限。

  

57、LO Cockpit Step ByStep

- Go to transaction LBWE(LO Customizing cockpit)

1).Select logistic application

SD sales BW

Extract structures

2).Select the desired extract structure and deactivate it first.

3).Give the transport request number and continue.

4).Click on ‘Maintenance’ to maintain such extract structure.

Select the fields of your choice and continue

Maintain datasource if needed.

5).Activate the extract structure.

6).Give the transport request number and continue.

-Next step is to delete the setup tables

7).go to t-code SBIW.

8). Select business information warehouse.

Setting for application-specific datasource.

logistics

managing extract structures

initialization

delete the content of setup tables(T-code LBWG)

select the application(01- sales&distribution) and execute.

-Now fill the setup tables

9). Select business information warehouse

Setting for application-specific datasource.

Logistics

Managing extract structures.

Initialization

Filling the setup tables

Application-specific setup of statistical data.

SD sales orders-perform (tcode, oli7bw)

Specify a run name and time and date(put future date)

Excute

-check the data in setup tables at RSA3

-replicate the data source

Use of setup tables:

You should fill the setup table in the R3 system and extract the data to BW- the setup table is in SBIW- after that you can do delta extractions by initialize the extractor.

Full loads are always taken from the setup tables

58、复制一个子任务到另一任务TR下。

Se01, request-àcreate -à choose transport of Copies -à Enter description -à click include object button (Ctrl + F11)---à choose object list from Request ---àEnter request number which contains object you want to copy.

59、当TR已释放了,修改描述。将表E070字段TRSTATUS的值从R改为D,修改描述。

或创建一个新的TR,输入新的Desrcription,将已释放的TR包括进来。

60、SAP BI项目实施的大致流程:项目计划和准备阶段,设计阶段,开发阶段,测试和部署阶段,系统上线。

项目计划和准备

在这个队段,考量项目是否已经“万事俱备”可以从三个方面入手:A用户需求是否清楚。B是否已经明确BI的技术标准。C业务部门是否有所准备。

设计阶段

详细系统架构

源系统分析:源系统主要功能,源系统数据结构分析、源系统数据质量初步评定,源系统数据的可访问性

前期需求分析:客户即席查询需求分析,客户报表需求,客户多维分析需求,客户数据挖掘需求,客户权限控制需求

数据模型设计:数据仓库物理/逻辑模型,管理缓慢变化维度,管理快速变化维度,性能考虑。

注意事项:本阶段的关键是业务分析和模型设计。

业务分析事实上包括了两方面:源系统分析和用户需求分析。

业务分析人员应该同时从用户需求和源系统两端同时展开分析,并且其中的重点在于源系统的数据,是最终该BI应用可以满足多少用户需求的必要条件,一个好的业务分析应该在充分理解源系统数据的基础上,不但能满足用户的需求,并且能超越或预见用户未来可能的需求从而予以相应的考虑。

61、BW解决的问题

跨模块数据的查询,跨系统数据的整合(跨模块数据查询的外延),历史数据的分析

62、F: fact table

D: Dimension table

P: Master Data table

T: Text data table

S: SID table

H: hierarchy

I: Hierarchy依赖表与D表通过ABAP关联

K: hierarchy依赖表与I表关联

/BIC/SIO_SREP: Hierarchy 依赖表与K表关联

63、InfoCube三种设计方案:

①依赖于时间的导航。②纬度特征法:将特征作为纬度的特征。③依赖于时间的整体层级关系,依赖于时间的整体层次允许我们构建聚集,

64、没有BI,我们面临以下几个痛苦:缺乏集中访问的平台、分析过程耗时、较差的性能、复杂的IT架构、缺乏业务处理的支持。

65、数据建模的过程就是构架一个数据仓库中的各个层次,包括数据集市层,数据仓库层,数据准备区和运营数据层。

66、打开/关闭过帐期间的权限。

Tcode:OB52

权限对象:S_TABU_DIS,权限组是FC32(Currencies)

另:权限组FC16(interest),TRZ(Indexes), FC00(Currency  volatilities), TRMK( interest rate volatilities).



楼主热帖
168大数据(www.bi168.cn)是国内首家系统性关注大数据科学与人工智能的社区媒体!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2019-10-20 22:23 , Processed in 0.106879 second(s), 17 queries , Xcache On.

Powered by BI168社区

© 2012-2014 海鸥科技

快速回复 返回顶部 返回列表