SAP BW create custom Datasource

用到的TCODE:

SE37/SE80函数构建器

SE11 ABAP字典(包括数据库表/视图/数据类型等)

SE16 数据浏览器

RSA6 数据源目录

RSO2 维护一般数据源(事务数据/主数据属性/文本)

RSA3 提取器检验程序(数据源测试)

SE80 新建函数组,利用copy RSAX新建一个,最好一个函数组对应一个数据源

安全间隔下限:若2,则会将今天+昨天+前天的数抽一次

数据库表:ZHBSJ

数据类型:ZDS_ZHBSJ_STR

函数组:ZDS_ZHBSJ_GRP

函数:ZDS_ZHBSJ

数据源:ZDS_ZHBSJ

Step1:TCODE: SE11 创建数据库表

表名:ZHBSJ

Step2:TCODE: SE11 创建数据结构

数据结构名:ZDS_ZHBSJ_STR

Step3:TCODE: SE80 创建函数组和函数

函数组:ZDS_ZHBSJ_GRP,函数:ZDS_ZHBSJ

筛选出“函数组”,以“RSAX”作为关键字搜索我们要作为函数组模板的对象,并右击选择“复制”

函数组创建完成后,需要复制函数模块,这里我们只需要复制“RSAX_BIW_GET_DATA_SIMPLE”,并输入新函数模块名“ZDS_ZHBSJ”,然后点击“复制”。

这时候一定不要忘记右击函数组ZDS_ZHBSJ_GRP激活

Step4:TCODE: SE37 更改函数信息,修改源代码

下图中关联类型更改为我们刚创建的数据结构ZDS_ZHBSJ_STR

这时候,我们就需要修改源代码了

FUNCTION ZDS_ZHBSJ.

*"----------------------------------------------------------------------

*"*"本地接口:

*"  IMPORTING

*"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR

*"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL

*"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL

*"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL

*"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL

*"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF

*"  TABLES

*"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL

*"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL

*"      E_T_DATA STRUCTURE  ZDS_ZHBSJ_STR OPTIONAL

*"  EXCEPTIONS

*"      NO_MORE_DATA

*"      ERROR_PASSED_TO_MESS_HANDLER

*"----------------------------------------------------------------------

* Example: DataSource for table SFLIGHT

TABLES: ZHBSJ."T001--公司代码

* Auxiliary Selection criteria structure

DATA: L_S_SELECT TYPE SRSC_S_SELECT.

* Maximum number of lines for DB table

STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,

* counter

S_COUNTER_DATAPAKID LIKE SY-TABIX,

* cursor

S_CURSOR TYPE CURSOR.

* Select ranges

RANGES: L_R_RYEAR  FOR ZHBSJ-RYEAR,

L_R_POPER  FOR ZHBSJ-POPER,

L_R_DOCNR  FOR ZHBSJ-DOCNR,

L_R_CPUDT  FOR ZHBSJ-CPUDT,

L_R_RBUKRS  FOR ZHBSJ-RBUKRS.

* Initialization mode (first call by SAPI) or data transfer mode

* (following calls) ?

IF I_INITFLAG = SBIWA_C_FLAG_ON.

************************************************************************

* Initialization: check input parameters

*                 buffer input parameters

*                 prepare data selection

************************************************************************

* Check DataSource validity 数据源名字 : ZDS_ZHBSJ

CASE I_DSOURCE.

WHEN ‘ZDS_ZHBSJ‘.

WHEN OTHERS.

IF 1 = 2. MESSAGE E009(R3). ENDIF.

* this is a typical log call. Please write every error message like this

LOG_WRITE ‘E‘                  "message type

‘R3‘                 "message class

‘009‘                "message number

I_DSOURCE   "message variable 1

‘ ‘.                 "message variable 2

RAISE ERROR_PASSED_TO_MESS_HANDLER.

ENDCASE.

APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.

* Fill parameter buffer for data extraction calls

S_S_IF-REQUNR    = I_REQUNR.

S_S_IF-DSOURCE = I_DSOURCE.

S_S_IF-MAXSIZE   = I_MAXSIZE.

* Fill field list table for an optimized select statement

* (in case that there is no 1:1 relation between InfoSource fields

* and database table fields this may be far from beeing trivial)

APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.

ELSE.                 "Initialization mode or data extraction ?

************************************************************************

* Data transfer: First Call      OPEN CURSOR + FETCH

*                Following Calls FETCH only

************************************************************************

* First data package -> OPEN CURSOR

IF S_COUNTER_DATAPAKID = 0.

* Fill range tables BW will only pass down simple selection criteria

* of the type SIGN = ‘I‘ and OPTION = ‘EQ‘ or OPTION = ‘BT‘.

LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘RYEAR‘.

MOVE-CORRESPONDING L_S_SELECT TO L_R_RYEAR.

APPEND L_R_RYEAR.

ENDLOOP.

LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘POPER‘.

MOVE-CORRESPONDING L_S_SELECT TO L_R_POPER.

APPEND L_R_POPER.

ENDLOOP.

LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘DOCNR‘.

MOVE-CORRESPONDING L_S_SELECT TO L_R_DOCNR.

APPEND L_R_DOCNR.

ENDLOOP.

LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘CPUDT‘.

MOVE-CORRESPONDING L_S_SELECT TO L_R_CPUDT.

APPEND L_R_CPUDT.

ENDLOOP.

LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = ‘RBUKRS‘.

MOVE-CORRESPONDING L_S_SELECT TO L_R_RBUKRS.

APPEND L_R_RBUKRS.

ENDLOOP.

* Determine number of database records to be read per FETCH statement

* from input parameter I_MAXSIZE. If there is a one to one relation

* between DataSource table lines and database entries, this is trivial.

* In other cases, it may be impossible and some estimated value has to

* be determined.

OPEN CURSOR WITH HOLD S_CURSOR FOR

SELECT * FROM ZHBSJ WHERE RYEAR IN L_R_RYEAR AND

POPER IN L_R_POPER AND

DOCNR IN L_R_DOCNR AND

CPUDT IN L_R_CPUDT AND

RBUKRS IN L_R_RBUKRS.

ENDIF.                             "First data package ?

* Fetch records into interface table.

*   named E_T_‘Name of extract structure‘.

FETCH NEXT CURSOR S_CURSOR

APPENDING CORRESPONDING FIELDS

OF TABLE e_t_data

PACKAGE SIZE S_S_IF-MAXSIZE.

IF SY-SUBRC <> 0.

CLOSE CURSOR S_CURSOR.

RAISE NO_MORE_DATA.

ENDIF.

S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.

ENDIF.              "Initialization mode or data extraction ?

ENDFUNCTION.

Step5:TCODE:RSO2 创建数据源

数据源名:ZDS_ZHBSJ

这次的数据源我们以事务数据作为数据源

填写应用程序组件/简要描述/中间的说明/长文本描述信息

点击保存图标后,跳到如下界面,将有查询条件的字段在“选择”上选中,然后点击保存,这时候数据源就新增完成了

Step6:TCODE:RSA3 测试数据源

输入我们要测试的数据源名称,然后点击“提取”按钮,就可以提取到满足条件的数据记录

时间: 2024-10-12 07:50:08

SAP BW create custom Datasource的相关文章

sap bw bo

SAP BW入门知识教程: 一, sap NetWeaver 和 bi 的概述 sap NetWeaver 是 sap 退出的 soa 的一个平台,他可以集成企业需要的应用服务,提供一个开放的服务. sap NetWeaver 是所有 sap solutions 的基础. sap bw 就是该平台提供的一个核心功能.除此之外,他还提供了 EP . sap Application server 等,他可以提供 java 引擎,从而可以在上面进行 java 开发. sap bw 介绍 :sap bw

[转]How to Create Custom Filters in AngularJs

本文转自:http://www.codeproject.com/Tips/829025/How-to-Create-Custom-Filters-in-AngularJs Introduction Filter in Angular JS is a way that will help you to represent your data in View in a certain format. There are many inbuilt filters provided by Angular

Create Custom Modification Form In VS 2012-Part2

1.SPWorkflowModification ContextData is XMLSerialized as String. 2.Get SPWorkflowModification ContextData in modification page protected void GetContexData()        {            SPWeb currentWeb = SPContext.Current.Web;            string strWorkflowI

Create Custom Modification Form In VS 2012-Part1

Step1.Add EventHandlingScope Activity Under OnWorkflowActivated Step2.Add SequenceActivity In EventHandlingScope Activity Step3.Add EnableWorkflowModification Activity a.Bind [ContextData] to a new field b.Set [Colorrelation Token] as "Modification&q

sap bw

SAP BW是mySAP 商务智能(BI)的集成化组件之一,为SAP数据和非SAP数据的采集.存储.分析和管理提供一个集成的,面向商务的平台.它可以智能化地管理整个企业管理信息系统的海量数据信息并从中挖掘出最有价值的信息,以向企业管理者提供强有力的决策支持,从而使企业对市场反应更灵敏快捷,整个企业也更具有生命力和竞争力 .(更多信息百度:51sap教育中心) SAP bw优势: SAP BW的集成性 一家企业,特别是大型企业,极有可能同时采用不同的事务处理系统,也有可能因为种种原因,有自动化覆盖

sap bw开发培训

产生背景 ERP的成功实施和应用,在使企业流程规范化的同时,也使得企业管理系统的处理数据量呈指数性增长.对企业管理者来说,相当程度上,企业管理就是“信息的管理”,大量准确.及时的数据信息库无疑就象一座高品位的金矿一样,会让其兴奋不已.不过,面对这庞大诱人的“金矿山”,要快捷有效地从中挖掘出真正的金子来,还是需要装备相当精良的工具的.(更多信息百度:51sap实战中心) SAP BW(Business Information Warehouse,商务信息仓库)就是这样一件企业老总们亟需的“采金器”

java中如何创建自定义异常Create Custom Exception

9.创建自定义异常 Create Custom Exception  (视频下载) (全部书籍) 马克-to-win:我们可以创建自己的异常:checked或unchecked异常都可以, 规则如前面我们所介绍,反正如果是checked异常,则必须或者throws,或者catch.到底哪个好,各路架构师大神的意见是50对50.见我本章后面的附录.sun公司开始说,checked异常可以使你的系统异常语义表达很清楚.但很多人经过一段时间的实践后,马上表示了异议.checked异常是java独有的,

【BW系列】SAP BW实时抽取ECC数据的实现

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[BW系列]SAP BW实时抽取ECC数据的实现 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 BW一般都是对历史数据分析用的 如果模型中需要实时的数据,就要用到这种技术 但这样系统效率很低,一般很少用到,一般公司也不会采用 但是有些客户非要这样的要求,那就开始挖坑吧. 技术实现如下: 用RDA(实时数据抽取)创建

SAP BW 权限控制设置

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4292227.html SAP用户权限控制设置及开发... 31 创建用户SU01. 31 权限角色... 33 自定义权限角色 PFCG.. 33 为角色分配菜单权限... 33 为角色分配权限数据... 34 将角色分配给用户... 38