SAP 调用外部程序CSServerSimple SM59 geteway service

news/2024/10/24 7:29:54/
SAP 的方法(函数)如何用其它语言实现,是SAP的funcation module 如果在外面实现,就是在SAP里创建一个FM,然后在外面用其它语言,JAVA,.net实现这个方法完成复杂功能。

在SAP外部启动一个服务,这个服务连接SAP的geteway service,当SAP调用RFC方法时这个方法根据DESTINATION 指定的RFC名称(SM59),找到这个服务程序,找到实现方法。

作用:
1.实现复杂的业务处理,比较abap语言实现困难的
2.与外部系统做接口,比较当SAP做业务时触发外部作业
3.从外部获取数据,前题是SAP为主动
4.SAP与外部语言的无关性
5.例如SAP与生鲜磅称的接口,当SAP做收货,称重量时,用这种方法调用外部程序,把重量反回SAP系统。very good!

  RFC 配置:
                         i.              T-Code :SM59; 创建一个RFC 连接,需要配置的项目:输入RFC Destination ,Connection Type 选择T (表示用TCP/IP 方式),输入Description (描述),Technical Settings 里选择Registered server program ,配置Program ID 这个很重要与PC 上外部注册的服务程序名称一致,Gateway host (主机网关,这个信息由Basis 人员提供)xxx.xxx.xxx.xxx ,Gateway service ( 网关服务,这个信息由Basis 人员提供,例如:sapgw10).
                       ii.              测试Test Connection ,如果配置成功应通过。没有错误提示。
FM创建:

    SE37 ,注意属性要设置为远程方式(remote -enabled module),其它与创建普通FM一样。
FM调用方式:
  ***初始化L_ITAB_DATA内表***
  L_RFC_DESTINATION = 'SM59DesName'.  "'RFCSCALE'.  "指定RFC程序
  L_WA_WEIGHT-WAAGE = 'SM59ProgramID'. "在配置SM59时最好两个名一样,
  APPEND L_WA_WEIGHT TO L_ITAB_WEIGHT.  "向Internal Table中赋值

***调用SAP FUNCTION MODULE获取数据***'HU_GET_RFC_DATA' 是外部实现的方法名,请参考实例
  CALL FUNCTION 'HU_GET_RFC_DATA' DESTINATION L_RFC_DESTINATION
    TABLES
      ET_WEIGHT             = L_ITAB_WEIGHT
    EXCEPTIONS
      COMMUNICATION_FAILURE = 1  MESSAGE MSG_TEXT
      SYSTEM_FAILURE        = 2  MESSAGE MSG_TEXT. 
    
C#实现FM:

SAP.net实现非常简单,用SAP.net服务生成RFC接口访问方法类。

附件:sap.net标准实例
http://files.cnblogs.com/byfhd/CSServerSimple.rar

转载于:https://www.cnblogs.com/yxbsmx/articles/1422860.html


http://www.ppmy.cn/news/58382.html

相关文章

Bark:基于转换器的文本到音频模型

Bark是由Suno创建的一个基于转换器的文本到音频模型。Bark可以生成高度逼真的多语言语音以及其他音频,包括音乐、背景噪音和简单的音效。该模型还可以产生非语言交流,如大笑、叹息和哭泣。为了支持研究社区,我们正在提供对预先训练的模型检查…

SDL库入门:掌握跨平台游戏开发和多媒体编程

目录标题 1.引言2. SDL基本概念与架构SDL的设计原则与模块架构SDL版本:SDL 1.2与SDL 2.0跨平台支持:Windows、Linux、macOS等 3. 初始化与窗口创建SDL初始化与库设置窗口创建与渲染器初始化设置视频模式与全屏切换 4. 图形绘制与纹理管理SDL\_Surface与S…

【从0到1了解Libarchive】Libarchive的用途意义以及成功入门Libarchive

目录 0 如果你还不知道Libarchive是什么请一定要先看一下 1 简介 1.1 为什么实现Libarchive 1.2 到底都有谁在用呢? 1.3 Libarchive都有哪些功能 1.4 我们可以通过这些获取更多信息 1.5 如何贡献 2 Libarchive归档与压缩 3 Libarchive编译 4 Libarchive简…

AutoHotKey简单入门

简单入门 快捷键 ^j::Send, Hello world! Return^j::代表CtrlJ,其中^代表Ctrl键 Send命令:在光标处输入Hello world! 也就是说,你按下CtrlJ后,将会输入字符串Hello world! Return即返回 热字串 ::ftw::Free the whales Ret…

数据结构(六)—— 二叉树(5)

文章目录 经典 700 二叉搜索树中的搜索开塞递归迭代 1 404 左叶子之和递归 2 513 找树左下角的值层序遍历递归 3 112 路径总和递归回溯迭代 stack(看看即可) 4 113 路径总和 II 此题需要前博客 二叉树(4)回溯 的基础递归回溯 5 61…

1.0 Vue的编译和运行

1、编程范式:命令式和声明式 编程范式是指一种程序语言的代码风格、样式,每一种范式都包含了代码特征和结构,以及处理错误的方式。 例如现在需要实现生成一个div模块,其显示的文本内容为hello world,添加一个点击事件…

【Python百日进阶-Web开发-Feffery】Day613- 趣味Dash_13:PDF转换中心的项目优化

文章目录 一、环境准备1.1 初始化基础`Python + Dash`环境1.2 本项目中需要增加的第三方包二、本项目B站视频讲解三、页面效果四、项目源码一、环境准备 1.1 初始化基础Python + Dash环境 CSDN文档参见:https://blog.csdn.net/yuetaope/article/details/129795264 Bilibili视…

让语言学习更简单的 WordFlow

作为一个英语并不是那么特别好的计算机专业学生,长期积累英语的学习对个人发展还是有意义的。简单来说,我在语言上最大的两个问题,一个自己「不理解」,另一个是自己「不会表达」。 上述两个问题主要体现在口语层面,而…