基于function的BW数据源实战应用
bw报表使用方法

bw报表使用方法
BW报表是SAP Business Warehouse的报表工具,用于分析和呈现企业数据。
以下是使用BW报表的一般步骤:
1. 登录BW系统:首先,您需要使用具有适当权限的用户帐户登录SAP BW系统。
2. 选择报表:在BW中,您可以从各种可用的标准报表中选择,也可以创建自己的定制报表。
3. 定义数据源:BW报表可以从多种数据源获取数据,例如ERP系统、CRM系统、外部数据源等。
您需要定义报表所需的数据源。
4. 选择数据:在BW中,您可以使用多种数据选择工具来选择和过滤所需的数据。
您可以使用ABAP查询来编写复杂的筛选条件或使用可视化工具进行简单的筛选。
5. 定义维度和度量:在选择数据后,您需要定义报表的维度和度量。
维度是用于分组和汇总数据的分类标准,而度量是用于计算和显示数据的数值。
6. 运行报表:一旦您完成了所有设置,您可以运行报表并查看结果。
BW报表提供了多种格式选项,例如表格、图表、表格等,以便更好地理解数据。
7. 分析数据:运行报表后,您可以分析数据并深入了解业务情况。
您可以使用各种工具和功能来分析数据,例如交叉表分析、趋势分析等。
8. 导出数据:如果您需要将报表结果用于其他应用程序或与他人共享,您可以轻松地导出数据。
BW报表支持多种导出选项,例如Excel、PDF等。
请注意,以上步骤是一般性的指南,具体步骤可能会根据您的具体情况和BW系统的版本而有所不同。
建议参考SAP BW的官方文档或向具有经验的BW专家咨询以获得更详细和准确的指导。
BW例程

BW 例程(Routine)2013-06-04 10:50:51| 分类:默认分类 | 标签: |举报 |字号大中小订阅例程就是我们可以自己定义的程序代码。
通过程序代码来完成我们的需求,因为业务是千变万化,如果想让产品能跟随上业务的脚步,就必须要有非常灵活的功能来补充。
大家都知道软件产品都是通过代码来编制出来的,所以这里的例程是用最灵活的代码来进行补充,以达到完成客户灵活的业务变化。
当然在BW模块中,代码的编写只是其中一个小的功能,不像ABAP顾问,主要是通过编程来实现需求。
BW顾问注重的是建模,性能,是完成数据仓库,分析数据等等。
在"转换"中,最重要的有三种类型的例程,开始例程,转换例程及结束例程;此外还有专家例程,反向例程。
开始例程:开始例程在每个数据包开始进行转换时运行。
开始例程没有返回的值,它直接对数据包进行计算、修改或删除等操作,将操作的结果直接保存在数据包中进行后续的转换步骤。
当然,开始例程也可以访问和操作SAPBI 系统中的其他数据库表。
转换例程:则是在每笔数据传输过程中,对数据进行的一个转换,例如数据根据条件进行的匹配转换。
当在每个字段的详细规则中,选择例程的规则类型就会弹出对话框来贴些转换例程。
结束例程:结束例程对经过转换规则转换后的数据进行操作,它操作的是一个与目标对象字段结构一致的表结构。
与开始例程一样,它也是逐个数据包进行处理的。
在结束例程中,可以进行各种数据的操作,比如,删除不需要的数据、进行数据质量检查等。
专家例程: 专家例程是系统提供的进行数据转换的另一个选项,这一类型的例程较少使用。
一般只在SAP BI 提供的标准函数不能满足转换需要的时候,才使用专家例程。
在已知道数据库表逻辑时,出于提高性能的考虑,也可以使用专家例程而不使用图形界面。
专家例程还可以更方便地将一条长记录分成多条短记录。
使用专家例程可以编写系统提供的规则类型以外的任意转换,这时需要自定义写入数据加载日志的信息。
BW之数据源 自定义

BW提供了在R3端,自定义数据源的功能,与FILE和WEBSERVICE相比,可以方便ABAP 人员开发维护,并且,轻松实现了DELTA的功能。
自定义的数据源的数据提取方式分为3种:数据库/视图:SAP提供的这种提取方式,系统为你定义好了提取程序,通过在数据库中,设置增量相关字段(如:时间戳、日期、数字),来轻松实现DELTA(增量)抽取,是BW 中最常用的自定义数据源,一般是通过程序将数据写入表中。
信息集:即:SAP QUERY。
可以设置表间相关的逻辑,相当于JOIN语句,把关联的字段作为数据源。
FUNCTION MODULE:通过程序控制数据的提取,可以设置增量字段,也可以不设置,通过一定逻辑将数据抽取,可以实现前两种方式的自定义开发。
这是最灵活的自定义数据源。
下面,我们以数据库和FM的方式为例,介绍自定义数据源的应用:数据库/视图:1.创建用于数据源的数据表:(SE11将允许表维护勾选,方便测试)其中,UPT_TIMESTAMP是我们设置的增量相关字段:2.创建自定义数据源:(RSO2)创建ZRSO01数据源,点击“创建”:按以下参数输入,提取结构不允许输入,激活后,系统会为数据源自动创建,点击“一般增量”按钮:按以下屏幕输入参数,并保存:增量字段名:这个字段在数据库中存放了录入时间戳(或日期或数字),数据抽取程序会按照BW请求的时间参数从数据库中抽取数据。
时间标记:通过时间戳方式实现增量,即:YYYYMMDDhhmmss格式。
日历天数:按照天为单位实现增量。
数字指针:按照数字增量抽取。
安全间隔上限:如果“时间标记”或“日历天数”勾选,那么此次可以设置,表示将请求时间戳减去上限设置的间隔后的时间戳作为数据抽取条件。
举例如下:BW最后一个抽取时间戳为20100101120000,下次抽取时间为20100101123000,用户在12:25分做了一个记录,直到12:35才保存。
这样,这个记录将不被抽取到BW中。
BW_APD实例

APD使用实例APD是Analysis Processing Designer的简称,翻译过来就是分析处理设计器的意思,是用来将一些数据源当中的数据反写到需要这些数据的数据目标当中的一种集成在BW系统中的工具,数据源有很多,数据目标也有很多,中间的转换也有很多,但我们最常用的数据源是Query,最常用的数据目标是DSO,中间的转换最常用的就是ABAP例程,通常情况下我们都是将Query中的数据通过ABAP例程的方式反写到我们的DSO中来。
Open Hub也是一种集成在BW系统中用于传导数据的工具,这个工具的作用是将我们BW 系统里的数据导入到BW系统本身数据库的表、或者是外部文件、再或者是需要这些数据的第三方系统中。
注意;查询中必须通过变式直接能够执行查询。
查询的选择条件必须要在变式中设置。
执行TCODE RSANWB,创建一个APD。
拖拽一个查询对象:1)其中变式创建:右边创建变式:常见查询变式:输入查询默认的选择条件。
拖拽一个DSO。
DSO为直接写类型DSO。
事先进行创建。
设置好主键。
创建转换。
源字段:右边红色区域中为查询中的对象,拖拽至左边作为APD中使用的对象。
币种和单位也一并拖拽过去。
目标字段:选择APD使用的DSO中的对象。
历程:REPORT RSAN_WB_ROUTINE_TEMP_REPORT .TYPES: BEGIN OF y_source_fields ,/BIC/YQTZJLX TYPE /BIC/OIYQTZJLX ,COMP_CODE TYPE /BI0/OICOMP_CODE ,FISCPER TYPE /BI0/OIFISCPER ,KYF_0001 TYPE /BI0/OIAMOUNT ,KYF_0001_CURRENCY TYPE WAERS ,END OF y_source_fields .TYPES: yt_source_fields TYPE STANDARD TABLE OF y_source_fields .TYPES: BEGIN OF y_target_fields ,COMP_CODE TYPE /BI0/OICOMP_CODE ,FISCPER TYPE /BI0/OIFISCPER ,KYF_0001 TYPE /BI0/OIAMOUNT ,END OF y_target_fields .TYPES: yt_target_fields TYPE STANDARD TABLE OF y_target_fields .*---------- Begin of type definitions -------------------------------*TYPES: ...*----------- End of type definitions --------------------------------FORM compute_data_transformationUSING it_source TYPE yt_source_fieldsir_context TYPE REF TO if_rsan_rt_routine_context EXPORTING et_target TYPE yt_target_fields .*--------- Begin of transformation code -----------------------------DATA: ls_source TYPE y_source_fields,ls_target TYPE y_target_fields.LOOP AT it_source INTO ls_source.CASE ls_source-/BIC/YQTZJLX .WHEN '10' OR '20' OR '30' OR '40' OR '41' OR '50' OR 'G0'.MOVE-CORRESPONDING ls_source TO ls_target.COLLECT ls_target INTO et_target.WHEN '60' OR '70' OR '80' OR '90' OR 'A0' OR 'B0' OR 'C0' OR 'D0' OR 'E0' OR 'F0'OR 'H0'.MOVE-CORRESPONDING ls_source TO ls_target.LS_TARGET-KYF_0001 = - LS_TARGET-KYF_0001 .COLLECT ls_target INTO et_target.ENDCASE.ENDLOOP.*---------- End of transformation code ------------------------------ENDFORM.。
CTBW 实例

CTBW是SAP系统提供的适用于BW抽取ECC特征值的事务代码。
以物料特征值为例:物料特征值与其他系统特征值一样,虽然在MM03/MM02界面可以显示维护,但是特征值字段在主表MARA并不存在,特征值是以CLASS/CLASS TYPE/CHARACTERISTIC 的方式维护在表CLAH/KSML/CABN/AUSP 等底表中。
物料主数据的数据源0material_attr中不会包含这些字段。
要实现BW抽取该字段值并且实现特征值更新时自动抽取,可要用CTBW实现。
以物料0000041A5296为例,要抽取特征值Entity type。
该特征值维护在class type = 001 class = X86_BASICDATA下。
要使用CTBW有两个前提:1.这个特征值应该是单值的。
2.这个特征值在各个系统定义一致。
在CTBW中指定basis Datasource 如0material_attr 指定client,虽然这个维护可以跨client 但是特征值的维护不是跨client的,所以必须保证该client中也定义了特征值。
指定class type = 001 对应MM03的material class,设置主表为MARA datasource type为ATTR。
回车后会自动带出一个标准数据源1CL_OMAT001。
选中该记录,点击characteristic,输入characteristic name 回车会自动带出datasource 和characteristic datasource。
点击按钮生成datasource。
Maintain status值如果是初次创建就是N如果之前创建过系统会默认成R。
数据源生成后在RSA2中可看到extractor结构。
Characteristic datasource为1CL_OMAT001提供了特征值字段。
特征值数据源结构中没有与物料数据源关联的字段,这个数据源只有特征值value。
BW 处理链 及BW经验归纳

BW 处理链1目录SAP BW处理链简介................................................................................................ 错误!未定义书签。
1引言. (2)2SAP BW处理链介绍 (2)2.1处理链的设计原则与特点 (4)2.2进程与处理链 (4)3处理链的建立 (5)3.1主处理链和子处理链 (5)3.2建立一个处理链 (6)3.2.1业务介绍 (7)3.2.2登录处理链管理界面 (7)3.2.3建立开始处理进程 (10)3.2.4建立数据抽取进程 (13)3.2.5建立构建数据库统计进程 (14)3.2.6连接进程 (15)4参考文档.......................................................................................................... 错误!未定义书签。
5结束语.............................................................................................................. 错误!未定义书签。
1引言在一个BI系统中,有大量的日常的管理和维护工作是需要完成的。
比如,每天晚上进行的数据抽取、转换和加载,对加载完成的数据进行预计算,并把计算好的报表发送到需要的用户的电子邮箱中等。
这些工作往往具有固定的工作流程,而且不同的操作动作之间往往有固定的先后关系。
这些工作有可能是需要定期执行的,也有可能是由特定的系统事件触发的。
比如,当事务处理系统中出现新记录,或者文件接口服务器增加新的数据文件时,系统自动启动数据加载进程。
SAP BI为简化这些管理工作,提供了处理链这一工具。
本文主要结合陕西电网ERP项目开发实例,阐述了SAP BW处理链方面的内容。
SAP技术篇之二---SAP BW数据源增强管理

2.0A 以后被 002 替换
EXIT_SAPLRSAP_004 层次结构增强
2. 编辑程序并激活
双击“ZXRSAU01”创建 Include 程序。
编写代码修改或者填充相关字段,点击 激活。
3. 通过 BAdI 实现
事务代码:SE19
创建一个 BAdIName:RSU5_SAPI_BADI。 ImplementationName:ZRSU5_SAPI_BADI。
构增强,因为提取结构是由开发人员自定义的,只有当提取结构是系统 自动生成时才需要结构增强这个功能。 2) 功能增强:当我们做了结构增强或者需要修改数据源里某些字段的数据 时,可以通过功能增强来完成。
接下来我们分别介绍这两种数据源增强方式。 注:此处数据源增强指 BW 数据抽取增强。部分内容选自 owen_008<BW 增强数据源 1-通过增加字段增强数据源>一文
点击 Code。
下面就跟 SMOD 一样,可以进行编码。
示例代码:
METHODSFLIGHT. FIELD-SYMBOLS:<S>TYPEZOXHHD0148. DATA:RATETYPEPDECIMALS2. *mapthedata LOOPATC_T_DATAASSIGNING<S>. CHECK<S>-SEATSMAXISNOTINITIAL. CLEARRATE. *计算航班使用率 RATE=<S>-SEATSOCC/<S>-SEATSMAX*100. IFRATE>='90.00'. <S>-FLAG='X'."使用率大于 90%,打上标记 ENDIF. ENDLOOP. ENDMETHOD.
如何在BW中创建数据源及数据抽取

如何在BW中创建数据源及数据抽取
在R3开发系统300:
创建一个主数据源抽取航空公司描述;数据来自于表SCARR
1、基于表SCARR创建一个视图:zh_bw_scarr,激活该视图
2、Tcode:sbiw创建数据源scarr_attr,用于主数据属性
? 创建一个业务数据源抽取订票数据;数据来自于表SBOOK
1、基于表sbook创建一个视图:zh_bw_sbook,激活该视图;
2、Tcode:sbiw创建数据源sbook_bw_trans,用于业务数据属性。
? 分别用RSA3测试抽取出的数据
Tcode:rsa3模拟抽取数据
? 在BW开发系统200:
? 针对源系统DR3CLNT200复制上述两个新建的数据源(为什么?)
因为数据源是跨越Client 的,所以在DR3CLNT300中激活的数据源在DR3CLNT200中也可以使用。
? 简单创建两个信息源以接受对应的数据
一、
1、对于scarr_attr,首先建立一个信息对象特性t1scarr_1用于接受上传的数据,数据类型和长度参照R/3中表scarr的对应数据元素的特征,转换例程参照域的特征;
2、创建主数据属性的信息源,分配数据源
选择R/3中对应的用户创建的数据源
创建信息包用于执行数据上传
二、
创建信息源
创建信息块接受数据
备注:文档收集自网络,仅供学习参考使用。