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开发相关推荐

  1. 概述SAP云平台上的ABAP开发环境

    1. 概述 ABAP是SAP构建on-premise ERP产品的基础,现如今,在SAP Cloud Platform上已经支持的ABAP的开发环境,这也让世界各地的开发人员,使用ABAP语言开发.构 ...

  2. ABAP 开发系列(08): SAP Open SQL

    在学习 ABAP WorkBench时了解到SAP 的三层架构: – 表现层(Presentation),应用层(Application),数据层(Database) Open SQL就发生在 App ...

  3. 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

    Jerry和SAP成都研究院一些新同事聊天时,谈到ABAP和SAP GUI这个话题.很多新同事在加入SAP成都之前,是做Java和C++开发的,习惯了Eclipse/IntelliJ IDEA/Vis ...

  4. 关于缺少编程基础的朋友想转行 ABAP 开发岗提出的一些咨询问题和解答

    最近接到一位朋友的咨询,关于非编程专业背景想转行 ABAP 开发岗的可行性和具体的努力方向,我觉得问题有一定的代表性,因为以前也接收到类似的咨询.所以单独写一篇短文分享.本文仅代表作者个人观点,和 S ...

  5. ABAP开发环境语法高亮的那些事儿

    关于SAP ABAP开发环境,Jerry之前写过几篇公众号文章: 那些年我用过的SAP IDE 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧 使用Visual Studio Code ...

  6. SAP ABAP实用技巧介绍系列之 快速找出function module的帮助文档

    Created by Jerry Wang, last modified on May 31, 2014 SE37里打开function module之后可以通过Function module Doc ...

  7. 在SAP BW中使用ABAP

    前言 本文的目的是讲述如何在BW中使用ABAP编程.在每一个项目中,正确使用ABAP编程会对正确的业务建模起到积极作用.在设计和蓝图阶段,一个核心的功能流程是类比于如何在BW中完成类似于R3中的业务流 ...

  8. SAP BW数据源增强管理

    一.数据源增强介绍 我们常会遇到系统标准的数据源,或者我们自建的数据源无法满足要求的情况,这个时候在数据源中添加几个相关的字段,可能就能满足我们的要求,这个时候就要用到数据源的增强.   数据源增强分 ...

  9. 一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧试读版

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

最新文章

  1. 2018.3.23 13周5次课
  2. 解决“错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容 ”问题
  3. 串口服务器接入232显示乱码,串口服务器出现乱码时如何处理,解决方案
  4. 如何实现动态水球图 --》 echars结合echarts-liquidfill实现
  5. Tensorflow深度学习应用(筑基篇)
  6. 按比例切分组合数值(洛谷P1008、P1618题解,Java语言描述)
  7. python清空列表的方法
  8. .NET BackgroundWorker的一般使用方式
  9. java rtree源码_rtree R树用java实现的源代码,欢迎广大用户学习交流 Applet 272万源代码下载- www.pudn.com...
  10. 我的2013——不平凡的第一次
  11. 2020Java学习路线(珍藏版)
  12. iconfont图标引入方式
  13. 共同富裕指数集:31省份共同富裕-富裕度、共同度两大维度数据(2000-2021年)
  14. 【Jenkins】windows系统下Jenkins的下载、安装与启动
  15. 怎么把优酷的kux格式转换成avi格式
  16. 域名带www和不带的区别
  17. beta阶段测试基本概况报告
  18. [JZOJ1320] 【Usaco2009 gold 】拯救奶牛
  19. 各个浏览器对应的驱动文件 driver
  20. sql 内连接,左连接,右连接,全连接

热门文章

  1. 全网最全Python项目练习500例(附源代码),练完可就业
  2. 别名(Alias)-Yii 约定-深入理解YII2.0(2.2)
  3. 固定电话呼叫转移设置方法
  4. 给你一个团队,你能怎么管?
  5. 服务器esxi虚拟机升级,ESXi 服务器安装升级补丁
  6. Command python setup.py egg_info failed with error code 1 in /tmp/pip-install-720GCk/MySQL-python/
  7. 拦截器 axios Vue 报错500
  8. 互为对偶的两个线性规划问题的解存在关系
  9. 六级(2020/12-1) Section B
  10. VSO Downloader 【您连接到互联网的网络适配器没有启动自动检测 】解决办法