SAP BW-Function Module 数据源ABAP开发
SE37创建函数,BW做Function Module数据源时需要ABAP开发函数,这个函数BW给了一个固定的传参格式,相当于BW数据源对ABAP的开放的一个接口
可以复制标准函数: RSAX_BIW_GET_DATA_SIMPLE
参数说明:
传入参数:
I_REQUNR: 请求次数 I_DSOURCE: 数据源名称 I_MAXSIZE :数据包大小
I_INITFLAG:是否是初始化 I_READ_ONLY: 只读标识 I_REMOTE_CALL:远程调用
传出参数:
E_T_DATA:目标数据参数名称 (根据实际需求来的自定义结构)
I_T_SELECT:抽取的选择条件 I_T_FIELDS:选择条件的字段
RSO2 创建数据源
创建完成后 rsa3 测试
代码逻辑部分参考:
FUNCTION ZFM_FJBW_WLBB.
*"----------------------------------------------------------------------
*"*"本地接口:
*" 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 TYPE ZFJT_BW01 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
*"----------------------------------------------------------------------DATA ls_out like LINE OF E_T_DATA .
* Auxiliary Selection criteria structureDATA l_s_select TYPE srsc_s_select.* Maximum number of lines for DB tableSTATICS: l_s_if TYPE srsc_s_if_simple,* counterlv_counter_datapakid LIKE sy-tabix,* cursorlv_cursor TYPE cursor.RANGES: RS_LFMON FOR MARD-LFMON .RANGES: RS_LFGJA FOR MARD-LFGJA .
* 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 validityCASE i_dsource.WHEN 'ZDS_FI_ZWLB'.WHEN OTHERS.RAISE error_passed_to_mess_handler.ENDCASE.APPEND LINES OF i_t_select TO l_s_if-t_select.* Fill parameter buffer for data extraction callsl_s_if-requnr = i_requnr.l_s_if-dsource = i_dsource.l_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 l_s_if-t_fields.ELSE. "Initialization mode or data extraction ?IF lv_counter_datapakid = 0.LOOP AT l_s_if-t_select INTO l_s_select WHERE fieldnm = 'GJAHR'.IF l_s_select-fieldnm = 'GJAHR'.RS_LFGJA = VALUE #( SIGN = 'I' OPTION = 'EQ' LOW = l_s_select-LOW ).APPEND RS_LFGJA .IF l_s_select-LOW EQ SY-DATUM+0(4).DATA(LV_YEAR) = 'X'.ENDIF.ENDIF.IF l_s_select-FIELDNM = 'LFMON'.IF l_s_select-LOW EQ '12'.RS_LFMON = VALUE #( SIGN = 'I' OPTION = 'BT' LOW = '12' HIGH = '16').APPEND RS_LFMON .ELSE.RS_LFMON = VALUE #( SIGN = 'I' OPTION = 'BT' LOW = l_s_select-LOW ).APPEND RS_LFMON .ENDIF.ENDIF.ENDLOOP .LOOP AT LT_MAIN INTO DATA(LS_MAIN)......ENDLOOP.ENDIF.IF e_t_data[] IS INITIAL .RAISE no_more_data.ENDIF.ENDIF. "Initialization mode or data extraction ?
ENDFUNCTION.
SAP BW-Function Module 数据源ABAP开发相关推荐
- 概述SAP云平台上的ABAP开发环境
1. 概述 ABAP是SAP构建on-premise ERP产品的基础,现如今,在SAP Cloud Platform上已经支持的ABAP的开发环境,这也让世界各地的开发人员,使用ABAP语言开发.构 ...
- ABAP 开发系列(08): SAP Open SQL
在学习 ABAP WorkBench时了解到SAP 的三层架构: – 表现层(Presentation),应用层(Application),数据层(Database) Open SQL就发生在 App ...
- 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧
Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题.很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Vis ...
- 关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答
最近接到一位朋友的咨询,关于非编程专业背景想转行 ABAP 开发岗的可行性和具体的努力方向,我觉得问题有一定的代表性,因为以前也接收到类似的咨询.所以单独写一篇短文分享.本文仅代表作者个人观点,和 S ...
- ABAP开发环境语法高亮的那些事儿
关于SAP ABAP开发环境,Jerry之前写过几篇公众号文章: 那些年我用过的SAP IDE 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧 使用Visual Studio Code ...
- SAP ABAP实用技巧介绍系列之 快速找出function module的帮助文档
Created by Jerry Wang, last modified on May 31, 2014 SE37里打开function module之后可以通过Function module Doc ...
- 在SAP BW中使用ABAP
前言 本文的目的是讲述如何在BW中使用ABAP编程.在每一个项目中,正确使用ABAP编程会对正确的业务建模起到积极作用.在设计和蓝图阶段,一个核心的功能流程是类比于如何在BW中完成类似于R3中的业务流 ...
- SAP BW数据源增强管理
一.数据源增强介绍 我们常会遇到系统标准的数据源,或者我们自建的数据源无法满足要求的情况,这个时候在数据源中添加几个相关的字段,可能就能满足我们的要求,这个时候就要用到数据源的增强. 数据源增强分 ...
- 一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧试读版
零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...
最新文章
- 2018.3.23 13周5次课
- 解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
- 串口服务器接入232显示乱码,串口服务器出现乱码时如何处理,解决方案
- 如何实现动态水球图 --》 echars结合echarts-liquidfill实现
- Tensorflow深度学习应用(筑基篇)
- 按比例切分组合数值(洛谷P1008、P1618题解,Java语言描述)
- python清空列表的方法
- .NET BackgroundWorker的一般使用方式
- java rtree源码_rtree R树用java实现的源代码,欢迎广大用户学习交流 Applet 272万源代码下载- www.pudn.com...
- 我的2013——不平凡的第一次
- 2020Java学习路线(珍藏版)
- iconfont图标引入方式
- 共同富裕指数集:31省份共同富裕-富裕度、共同度两大维度数据(2000-2021年)
- 【Jenkins】windows系统下Jenkins的下载、安装与启动
- 怎么把优酷的kux格式转换成avi格式
- 域名带www和不带的区别
- beta阶段测试基本概况报告
- [JZOJ1320] 【Usaco2009 gold 】拯救奶牛
- 各个浏览器对应的驱动文件 driver
- sql 内连接,左连接,右连接,全连接
热门文章
- 全网最全Python项目练习500例(附源代码),练完可就业
- 别名(Alias)-Yii 约定-深入理解YII2.0(2.2)
- 固定电话呼叫转移设置方法
- 给你一个团队,你能怎么管?
- 服务器esxi虚拟机升级,ESXi 服务器安装升级补丁
- Command python setup.py egg_info failed with error code 1 in /tmp/pip-install-720GCk/MySQL-python/
- 拦截器 axios Vue 报错500
- 互为对偶的两个线性规划问题的解存在关系
- 六级(2020/12-1) Section B
- VSO Downloader 【您连接到互联网的网络适配器没有启动自动检测 】解决办法