另一篇:C# 连接SAP,并调用RFC函数 (基于Com组件)

128 篇文章 81 订阅 ¥19.90 ¥99.00
55 篇文章 30 订阅 ¥19.90 ¥99.00
 
1) 新建工程后,首先添加3个Com组建的引用,分别为 SAPFunctionsOCX,SAPLogonCtrl,SAPTableFactoryCtrl;
2) 项目添加引用
using SAPFunctionsOCX;
using SAPLogonCtrl;
using SAPTableFactoryCtrl;
3) 连接并调用RFC
            SAPLogonControlClass connctl = new SAPLogonControlClass();
            //下面的参数值根据实际情况赋值
            connctl.Client = "200";
            connctl.Language = "EN";
            connctl.ApplicationServer = "xxx.xxx.xxx.xxx";//Application server IP
            connctl.SystemNumber = 00;
            connctl.User = "XXXX";
            connctl.Password = "XXXXXXX";

            Connection conn = (Connection)connctl.NewConnection();
            //登陆
            if (conn.Logon(null,true))
            {
                MessageBox.Show("Successful");
            }
            
            SAPFunctionsClass functions = new SAPFunctionsClass();
            functions.Connection = conn;
            //这里就可以传入Function Name
            Function fucntion = (Function)functions.Add("RFC_READ_TABLE");。
            //这里是传入值参数
            Parameter parameter1 = (Parameter)fucntion.get_Exports("QUERY_TABLE");
            parameter1.Value = "VEKP";
            Parameter parameter2 = (Parameter)fucntion.get_Exports("DELIMITER");
            parameter2.Value = ";";
            //这里是传入表的参数,这里有两个表OPTIONS和FIELDS
            Tables Tables1 = (Tables)fucntion.Tables;
            Table table0 = (Table)Tables1.get_Item("OPTIONS");
            table0.AppendGridData(1, 1, 1, "EXIDV = '00000000001000000022'");
            Table talble1 = (Table)Tables1.get_Item("FIELDS");
            talble1.AppendGridData(1, 1, 1, "VENUM");
            talble1.AppendGridData(2, 1, 1, "VPOBJKEY");
            talble1.AppendGridData(3, 1, 1, "VSTEL");
            //调用函数,并读取数据
            if (fucntion.Call())
            {
                Tables1 = (Tables)fucntion.Tables;
                Table talbe2 = (Table)Tables1.get_Item("DATA");
                MessageBox.Show(talbe2.get_Cell(1, 1).ToString());
            }
            //退出登陆
            conn.Logoff();
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在Android Studio中远程调用SAP RFC函数,可以通过以下步骤实现: 1. 首先,确保你的Android Studio项目中已经添加了相应的SAP Java Connector(SAP JCo)库。你可以在项目的build.gradle文件中添加依赖项,例如: ```java dependencies { implementation 'com.sap.conn.jco:jco3:3.1.2' } ``` 2. 创建一个SAP连接: 在你的代码中,实例化一个`JCoDestination`对象,并设置连接所需的属性,如SAP服务器的地址、用户名、密码等。例如: ```java JCoDestination destination = JCoDestinationManager.getDestination("MY_DESTINATION"); destination.getRepository(); // 设置连接属性 destination.getProperties().setProperty(DestinationDataProvider.JCO_ASHOST, "SAP服务器地址"); destination.getProperties().setProperty(DestinationDataProvider.JCO_SYSNR, "系统编号"); destination.getProperties().setProperty(DestinationDataProvider.JCO_CLIENT, "客户端"); destination.getProperties().setProperty(DestinationDataProvider.JCO_USER, "用户名"); destination.getProperties().setProperty(DestinationDataProvider.JCO_PASSWD, "密码"); ``` 3. 调用RFC函数: 使用SAP连接后,可以从SAP系统的函数库中获取function module,然后通过函数的`execute()`方法调用RFC函数并传递参数。例如: ```java JCoFunction function = destination.getRepository().getFunction("RFC_FUNCTION_NAME"); if (function == null) { throw new RuntimeException("Function not found"); } // 设置RFC函数的输入参数 function.getImportParameterList().setValue("parameterName", parameterValue); function.execute(destination); // 获取RFC函数的输出参数 String result = function.getExportParameterList().getString("outputParamName"); ``` 4. 处理RFC函数的返回结果: 根据你的需求,可以根据RFC函数的返回结果进行一系列的操作,例如显示在界面上、保存到本地等。 以上就是在Android Studio中远程调用SAP RFC函数的基本步骤。请注意,在实际应用中,你可能还需要处理连接的异常、异常情况下的处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值