- 浏览: 473538 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
yuan_bin1990:
您好,请问下demo如何运行啊,准备研究研究,但不知道入口啊。 ...
ssh2(struts2+spring2.5+hibernate3.3)自动生成代码程序 -
luyulong:
[b][/b][i][/i][ ...
jQuery进度条插件 jQuery progressBar -
txin0814:
mark..
读取文件目录 -
vurses:
[align=center][color=red][size= ...
include 与 jsp:include区别 -
Roshan2:
http://lijiejava.iteye.com/blog ...
Spring AOP 入门实例
前言:我们经常会遇到系统标准的数据源,或者我们自建的数据源无法满足要求的情况,这个时候在数据源中添加几个相关的字段,可能就能满足我们的要求,这个时候就要用到数据源的增强。下面介绍的两种增强方法都是发生在数据源提取数据结束以后将要写到结果表的时候。
准备工作(自建数据源)
1)RSO2 创建一个简单的数据源:SFLIGHT 业务数据
选择一个应用程序组件,填写文本信息,直接到数据库SFLIGHT取数,点击保存
继续点击 保存
填写短文本,及要增加的字段 (在此我们增加了一个字段FLAG,对于容量>=90%的航班,我们打算以FLAG为‘X’标记),然后点击 激活附加结构
RSA3 测试提取一下
ALV GRID查看一下提取结果
可以看到最后一个字段 标识,现在为空(例如第一条,占用374,容量385,使用率97.14%大于90%,但是现在标识仍然为空)
方法一:用户出口(User Exit)
1)CMOD 创建一个新项目 BW
2)填写短文本,保存,点击Enhancement assignments (增强分配)
3)分配增强“RSAP0001”(注:这个增强是固定的,每个系统都一样),保存,点击 组件
可知:001用于事务数据的数据源
002用于主数据或文本的数据源
003只能用于BW版本1.2B,2.0A以后被002替换
004用于层次的数据源
5)双击一个用户出口,进入Function Module界面
6)这个FM中,只是INCLUDE了一个程序,这个程序现在是不存在的,双击 ZXRSAU01
7)不要理会系统警告,回车
8)点击 是
INCLUEDE程序ZXRSAU01创建成功,下面就可以根据FM的输入输入参数进行CODING
*&------------------------------------------------------------------*
*& 包括 ZXRSAU01
*&------------------------------------------------------------------*
FIELD-SYMBOLS: <S> LIKE ZOXHHD0148.
DATA: RATE TYPE P DECIMALS 2.
*判断数据名称
CASE I_DATASOURCE.
WHEN 'SFLIGHT'.
*只有数据源为 SFLITH 时,才执行以下代码
LOOP AT C_T_DATA ASSIGNING <S>.
CHECK <S>-SEATSMAX IS NOT INITIAL.
CLEAR RATE.
*计算航班使用率
RATE = <S>-SEATSOCC / <S>-SEATSMAX * 100.
IF RATE >= '90.00'.
<S>-FLAG = 'X'. "使用率大于90%,打上标记
ENDIF.
ENDLOOP.
ENDCASE.
RSA3 测试提取,结果如下:
方法二:BAdI
1)SE19
2)创建一个Implementation BAdI Name: RSU5_SAPI_BADI
Implementation Name: ZRSU5_SAPI_BADI
在Interface选项卡,会看到系统自动创建了一个class: ZCL_IM_RSU5_SAPI_BADI
双击这个class
进入Class Interface界面,会看到有两个method:
DATA_TRANSFORM 用于一般数据的增强(事务数据,主数据和文本)
HIER_TRANSFORM 用于层次数据的增强
双击method,就可以根据method的参数进行CODING了
为了便于管理,我们为每一个需要增强的数据源创建一个method,然后在方法DATA_TRANSFORM和HIER_TRANSFORM中动态调用
METHOD IF_EX_RSU5_SAPI_BADI~DATA_TRANSFORM.
DATA: LV_METHOD TYPE SEOCMPNAME.
* check if any data is extracted
CHECK C_T_DATA IS NOT INITIAL.
* get method name for datasource
* add one character as methods can't start with a number
CONCATENATE 'M_' I_DATASOURCE INTO LV_METHOD.
* check whether method exist
SELECT SINGLE CMPNAME
INTO LV_METHOD
FROM SEOCOMPO
WHERE CLSNAME = 'ZCL_IM_RSU5_SAPI_BADI'
AND CMPNAME = LV_METHOD.
CHECK SY-SUBRC EQ 0.
* check method is implemented
CALL METHOD (LV_METHOD)
EXPORTING
I_UPDMODE = I_UPDMODE
I_T_SELECT = I_T_SELECT
I_T_FIELDS = I_T_FIELDS
CHANGING
C_T_DATA = C_T_DATA
C_T_MESSAGES = C_T_MESSAGES.
ENDMETHOD.
建一个Static Method M_SFLIGHT(注意:这里我们以'M_' + 数据源名称作为 Method的名称,因为有些系统的数据源以数字开头,而Method不允许以数字开头) 点击 Parameters
设置参数(只比DATA_TRANSFORM的参数少了一个I_DATASOURCE)如下:
保存后,返回Method界面
点击Code
下面就跟CMOD一样了,可以进行CODING了
METHOD SFLIGHT.
FIELD-SYMBOLS: <S> TYPE ZOXHHD0148.
DATA: RATE TYPE P DECIMALS 2.
* map the data
LOOP AT C_T_DATA ASSIGNING <S>.
CHECK <S>-SEATSMAX IS NOT INITIAL.
CLEAR RATE.
*计算航班使用率
RATE = <S>-SEATSOCC / <S>-SEATSMAX * 100.
IF RATE >= '90.00'.
<S>-FLAG = 'X'. "使用率大于90%,打上标记
ENDIF.
ENDLOOP.
ENDMETHOD.
RSA3 测试提取,结果如下:
比较: 建议使用BAdI的方式, User Exit方式增强RSAP0001只能包含在一个项目中, 而BAdI方式可以为RSU5_SAPI_BADI创建多个Implementation,这样就可以为每个模块建一个Implementation,每个数据源建一个method,更加便于管理.
发表评论
-
在 Message Broker中使用 SAP JCO 连接 SAP 系统
2011-08-10 11:02 2162http://www.ibm.com/developerwor ... -
在Java中调用BAPI或RFC(转)
2011-08-10 10:55 2816JCo是一个高性能的,基于JNI的中间件,它实现了SAP的RF ... -
Java和SAP的三种数据通信方式 RFC IDOC XI
2011-08-10 10:38 3892JAVA与SAP数据交互的方式总结RFC方式:Java程序直接 ... -
BW增量更新的理解(时间戳)
2011-08-09 17:53 1793在BW中,存在两种数据抽取方式,完全更新与增量更新,完全更 ... -
SAP BW 邮件发送监控策略
2011-08-09 17:53 1647SAP BW 邮件发送监控策略 ... -
BW与ECC系统连接设置
2011-08-09 17:51 2416第一步:分配逻辑系统 SCC4先查看逻辑系统->S ... -
如何查找DataSource和table的mapping?
2011-08-09 17:48 1602相信,大家在使用BI Content的时候,经常需要查找Dat ... -
Delta中不得不看的几个表
2011-08-09 17:47 929Delta中不得不看的几个表: RODELTAMT 说明每 ... -
BW中如何进行数据监控?
2011-08-04 19:12 1142这周轮到我值班,要凌 ... -
总结InfoCube的优势分析及维度选择技巧
2011-08-04 17:58 809一直以来,infocube都是一个很纠结的东西。 作为 ... -
总结InfoCube的优势分析及维度选择技巧
2011-08-04 17:55 1123一直以来,infocube都是一个很纠结的东西。 作为 ... -
BW:监控 TCODE
2011-08-04 17:38 1142SM21: 检查系统日誌 ST22: abap DUMP ... -
BW:对于非法字符的控制
2011-08-04 17:35 1149其实这也是个老生常 ... -
BW学习——权限
2011-08-02 21:32 1412根据顾问的要求,学习了BW权限。要点如下: 1,BW的权 ... -
偶尔会被人问到的Cube的几个数字
2011-08-02 21:05 9141. 事实表:最多能够容纳233个key figures ... -
SAP学习日志--SAP中常用且重要的数据库表
2011-08-02 21:00 1602MARA - Material Master: General ... -
BW数据源深入研究【转自WKingChen的博客】
2011-08-02 19:21 1675DataSource是BW中非常重要的部分,一个合格的BW顾问 ... -
SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】
2011-08-01 13:42 3951定义 可以使用例程定义关键值或特性的复杂的转换规则. ... -
BW之R3数据源及PSA
2011-07-31 15:23 2505BW数据源主要有R3、文件 ... -
理解BW数据模型 - DSO模型
2011-07-31 13:55 2212DSO的用法有很多,比 ...
相关推荐
它分为两部分:数据源的DELTA机制和BW的DELTA机制。 1. **数据源的DELTA机制**: - **后勤数据源DELTA机制**: 通过Extraction Queue (ExtractionQ) 和 Delta Queue (DeltaQ) 以及 V3 JOB 来实现。首先使用 IP ...
【bw技术点一览及答案】 在SAP BW(Business Warehouse)中,数据...DSO和Cube的区分以及DAO的使用策略,使得BW能够灵活地处理各种业务场景下的大数据需求,并通过Multiprovider和Infoset提供复杂的多数据源查询视图。
1. **BW架构**:介绍BW的基本架构,包括InfoProviders(信息提供者)、DataSources(数据源)、InfoObjects(信息对象)和Databases(数据库)等关键组件。 2. **数据提取**:讲解如何配置DataSources,从ERP、CRM...
6. **时钟速率**:支持400kHz(1.8V)和1MHz(5V、2.5V)两种时钟速率,满足不同应用场景的需求。 7. **写保护功能**:具备硬件和软件双重数据保护机制,提高了数据的安全性。 8. **256字节页面写模式**:支持256...
这意味着客户可以通过添加新的数据源、转换规则、报表或者变量来丰富标准的业务内容,使之更符合其特定的业务流程。 2. 用户退出用于变量: 例如,存在一个名为RSAP0001的增强,它包含了两个功能模块:EXIT_...
这一步骤包括数据源的选择、过滤条件的设定以及结果格式的定义。 2. **配置CO-PA接收参数**:在CO-PA端,配置接收数据的参数,包括数据的存储位置、记录类型以及任何必要的预处理或后处理规则。 3. **执行数据回撤...
8. **动态范围压缩**:内置两种独立的动态范围压缩器(DRC),可以配置为双带抗削顶器或独立的限制器/压缩器。此外,还提供了基于滤波信号的DRC-EQ功能。 9. **低频增强处理**:专为低频提升设计的LFE处理,分辨率...
关于BW_efd_tool的工作原理,它主要实现了两个核心功能:数据转储和数据注入。数据转储允许用户将Centralink森林中的数据导出到本地,这样即使离线也能查看和分析。而数据注入功能则是将修改后的数据重新导入游戏,...
* 找需要的原始表—SE11 根据表建 VIEW—RSO2 根据 VIEW 建数据源—到 BW 端复制数据源。 十九、标准数据源 1. 什么是标准数据源? * 标准数据源其实就是一个结构体+提取器,(提取器就是一段写好的 ABAP 代码)...
- **1.8 版本**(2020年10月7日):更新以反映两种记录机制。 #### 四、关键术语与概念 - **屏幕引用**:包括字段名称、屏幕标题、按钮标签、菜单名称等。 - **文本交叉引用**:指向其他文档的引用。 - **强调词汇...
它可以集成各种数据源,通过仪表板和报告形式展现企业绩效状况。 - **Predictive Analysis**:这是一个强大的工具,可以进行预测性数据分析,帮助企业预测未来的趋势和发展方向。它基于统计模型和机器学习算法,...
- **关系报表样式与维度报表样式**:提供了两种主要的报表样式,用户可以根据数据特性选择合适的样式。 - **用户界面**:界面友好且直观,分为多个视图,如报表创建视图、页面设计视图等,便于用户进行各种操作。 - ...
二值化是图像处理中的一个基础且重要的环节,它将图像转换为只有黑白两种颜色的图像,即二值图像。这种技术广泛应用于文字识别、噪声去除、图像压缩以及计算机视觉等多个领域。在“erzhihua.rar_binarization_...
Table of Contents 2 General Settings 16 检查度量单位(Check Units of Measurement) 16 Financial Accounting 19...两种外包方式比较 686 业务背景: 686 1.直接使用外包PO 687 (1)成本核单(Costing sheet)设置 687 (2...
与节点流不同,过滤流本身并不直接连接到数据源或目标,而是作为中间层,通过装饰器模式对底层流进行增强。 ##### 输入流的处理流作用 - **功能增强**:如字符编码转换、压缩解压等。 - **性能优化**:通过缓冲...
3. **灰度线形变换**:这是一种基本的图像增强技术,通过线性函数将图像的灰度级映射到新的范围,以改善图像的对比度。例如,MATLAB的`imadjust`函数可用于执行灰度线性变换。 4. **图像二值化**:二值化是将图像...
该IC适用于多种应用场合,特别是在无需稳压电源的情况下,能够提供更加可靠的工作性能,并且在成本控制方面具有优势。 #### 二、极限参数 1. **最大供电电压(Vs)**: ±22V。 - 这意味着TDA2030A的电源电压范围...
在Windows环境中,使用ODBC(Open Database Connectivity)建立数据源是一种常用的方法。具体步骤如下: 1. **安装ODBC驱动程序**:确保系统已安装适用于Microsoft Access的ODBC驱动程序。 2. **创建数据源**:打开...
1. **数据源**:提供二进制数据流,这是MSK调制的基础。 2. **码元速率调整**:将数据码元速率调整到与载波频率相匹配,确保每个码元期间载波相位可以完成一次完整的变化。 3. **预调制滤波器**:通常使用高斯滤波器...