SAP BW/HANA 数据源创建示例

操作实例

在ABAP中创建:

1、RSO2——创建数据源——明明规则:Z+ZZ/BZ/HY_PP/MM/SD/FI_数据表名

SAP BW/HANA 数据源创建示例_第1张图片

SAP BW/HANA 数据源创建示例_第2张图片

SAP BW/HANA 数据源创建示例_第3张图片

SAP BW/HANA 数据源创建示例_第4张图片

如果表数据中存在货币或者数量关联不是本表需要走RFC提取

根据RFC提取:

函数组—ZBW_GROUP_FI

创建RFC:ZBW_FUN_ZCOT007E

SAP BW/HANA 数据源创建示例_第5张图片

SAP BW/HANA 数据源创建示例_第6张图片

代码:

FUNCTION ZBW_FUN_ZCOT007E.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  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
*"      E_T_DATA STRUCTURE  ZCOT007E_BW OPTIONAL
*"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*"  EXCEPTIONS
*"      NO_MORE_DATA
*"      ERROR_PASSED_TO_MESS_HANDLER
*"----------------------------------------------------------------------


* Example: DataSource for table SFLIGHT


* Auxiliary Selection criteria structure
  DATA: L_S_SELECT TYPE SRSC_S_SELECT,
        WA_DATA LIKE E_T_DATA.
* 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.

* 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
    CASE I_DSOURCE.
      WHEN 'ZZZ_PP_ZCOT007E'.
      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.

* 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 ZCOT007E.
    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.

然后点击保存

SAP BW/HANA 数据源创建示例_第7张图片

保存——返回——保存——返回

RSA2—查看创建结果

SAP BW/HANA 数据源创建示例_第8张图片

RSA3——测试验证提取是否成功

SAP BW/HANA 数据源创建示例_第9张图片

成功后传输至测试系统----进入eclipse---BW开发系统

eclipse中BW开发系统操作:

Data Sources—找到对应的sources右键Replicate

SAP BW/HANA 数据源创建示例_第10张图片

SAP BW/HANA 数据源创建示例_第11张图片

下一步:

SAP BW/HANA 数据源创建示例_第12张图片

进入下面界面刷新

SAP BW/HANA 数据源创建示例_第13张图片

刷新就会显示

然后创建ADSO

转存失败重新上传取消SAP BW/HANA 数据源创建示例_第14张图片

SAP BW/HANA 数据源创建示例_第15张图片

finish--激活

SAP BW/HANA 数据源创建示例_第16张图片

主键

SAP BW/HANA 数据源创建示例_第17张图片

创建数据转换

SAP BW/HANA 数据源创建示例_第18张图片

SAP BW/HANA 数据源创建示例_第19张图片SAP BW/HANA 数据源创建示例_第20张图片

SAP BW/HANA 数据源创建示例_第21张图片

无逻辑直接转换

SAP BW/HANA 数据源创建示例_第22张图片

激活

BW-CODE--rstrangui

SAP BW/HANA 数据源创建示例_第23张图片

创建DTP:

SAP BW/HANA 数据源创建示例_第24张图片

直接下一步

SAP BW/HANA 数据源创建示例_第25张图片

选中-finish---保存激活

SAP BW/HANA 数据源创建示例_第26张图片

SAP BW/HANA 数据源创建示例_第27张图片

激活-finish

BDW开发系统中

将数据源分配包

SAP BW/HANA 数据源创建示例_第28张图片

创建PC(处理链) 运用上边创建的DTP---DTP_00O2TQWPCJN3058B4K2LRBO1B

SAP BW/HANA 数据源创建示例_第29张图片

验证测试传输抽数

SAP BW/HANA 数据源创建示例_第30张图片

SAP BW/HANA 数据源创建示例_第31张图片

MANAGE激活查看成功

SAP BW/HANA 数据源创建示例_第32张图片

END

你可能感兴趣的:(SAP,BW/HANA,数据库,sql,大数据,开发语言,学习)