rfc-C#调用SAP RFC 无法获取内表对象的一个字段

问题描述

C#调用SAP RFC 无法获取内表对象的一个字段
标题写的有可能不清楚。流程是这样的,RFC函数 中没有传入参数,只有一个返回参数,还有一个内表对象。该接口不用返回参数进行返回信息的记录。均使用内表对象。譬如:该内表对象有ABCD4个字段,我为内表对象赋值,执行函数,执行之后,无论是成功与否,数据是否满足业务逻辑。都会将A字段进行修改。也就是A字段记录了相关的返回信息。我读取该字段作为返回信息。我执行前不会为A赋值,这样执行后我获得的A字段就是空,如果我为A赋值,执行后的A和执行前的一样。如下是代码:
获取数据库连接,数据类ErpInfo ErpInfoOne = new ErpInfo();
ErpInfoList.Add(ErpInfoOne);
然后给数据类赋值 之后就是 和SAP相关的了

RfcConfigParameters parms = new RfcConfigParameters();
parms.Add(RfcConfigParameters.NameCON"");
parms.Add(RfcConfigParameters.AppServerHost10.185.0.166""); //SAP主机IP
parms.Add(RfcConfigParameters.SystemNumber00""); //SAP实例
parms.Add(RfcConfigParameters.UserXXXXX""); //用户名
parms.Add(RfcConfigParameters.PasswordXXXX""); //密码
parms.Add(RfcConfigParameters.Client800""); // Client
parms.Add(RfcConfigParameters.LanguageZH""); //登陆语言
parms.Add(RfcConfigParameters.PoolSize5"");
parms.Add(RfcConfigParameters.MaxPoolSize10"");
parms.Add(RfcConfigParameters.IdleTimeout60"");
RfcDestination dest = RfcDestinationManager.GetDestination(parms);

            try            {                RfcRepository repo = dest.Repository;                IRfcFunction companyBapi =      repo.CreateFunction(""ZZHHS_FUNC_FJ007"");                IRfcTable table = companyBapi.GetTable(""ITAB_01"");  //获取内表对象                //for (int y = 0; y < table.RowCount; y++)                //{                //    table.CurrentIndex = y;                //    MessageBox.Show(""给表对象赋值之前 CHECK:"" + table.CurrentRow.GetValue(""CHECK"").ToString() + ""  BLDAT:"" + table.CurrentRow.GetValue(""BLDAT"").ToString());                //}                for (int i = 0; i < ErpInfoList.Count; i++)                {                    table.Insert();                    //table.CurrentRow.SetValue(""CHECK"" ErpInfoList[i].Check);//1                   //都是赋值语句                    table.CurrentRow.SetValue(""UZAWE"" ErpInfoList[i].Uzawe);//40                }                for (int y = 0; y < table.RowCount; y++)                {                    table.CurrentIndex = y;                    MessageBox.Show(""执行函数前 CHECK:"" + table.CurrentRow.GetValue(""CHECK"").ToString() + ""  BLDAT:"" + table.CurrentRow.GetValue(""BLDAT"").ToString());                }                companyBapi.SetValue(""ITAB_01"" table);//将表对象实例赋给参数                companyBapi.Invoke(dest);   //执行函数                string MAKTX = companyBapi.GetValue(""RETURN_MSG"").ToString();  //获取输出参数                MessageBox.Show(""SAP的返回信息:"" + MAKTX);                //IRfcTable table2 = companyBapi.GetTable(""ITAB_01"");                var table3 = (IRfcTable)companyBapi.GetValue(""ITAB_01"");                var result = table3.AsEnumerable()                    .Select(row => new { CHECK = row.GetValue(""CHECK"") BLDAT = row.GetValue(""BLDAT"") }).ToList();            }            catch (Exception ex)            {                MessageBox.Show(""程序处理异常:"" + ex.Message);            }            finally            {            }

这样无论我是用 table2 的方式还是用 table3的方式 再次去获得这个表对象的时候 获得的CHECK字段都是没有变化

时间: 2024-11-03 01:13:22

rfc-C#调用SAP RFC 无法获取内表对象的一个字段的相关文章

php-PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串

问题描述 PHP调用 SAP RFC函数,传入字符串参数,RFC接收到的是空字符串 $result = $sap->callFunction( "XXX", array( array( "IMPORT", "I_ZCZLX", "1" ), array( "IMPORT", "I_WRITER", "MAO" ), array( "IMPORT&quo

C#调用SAP RFC如何向RFC的一个表参数传值

问题描述 如题,必须是C#,因为整个项目使用C#完成的,SAP的RFC非常复杂,要传很多参数...,下边是部分代码SAPLogonCtrl.SAPLogonControlClasssapLogon=newSAPLogonCtrl.SAPLogonControlClass();//sapLogon.ApplicationServer="GERPLO.SEC.SAMSUNG.NET";sapLogon.MessageServer="GERPLO.SEC.SAMSUNG.NET&q

方法 rfc sap-java调用SAP的RFC标准函数 料件和BOM

问题描述 java调用SAP的RFC标准函数 料件和BOM 在做一个项目 java服务集成SAP的.实现读料件.传料件和传BOM的功能 听说有标准RFC的方法. 跪求~ 请大神眷顾一下 万分感谢

急,请问.NET调用SAP RFC是否可以写成通用调用函数,给点思路谢谢!

问题描述 如题. 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无满意结帖不返还分数:3:接下来会不断增加新的可用分获取途径,比如参与活动赠送等,请大家多关

sap-java调用SAP的RFC如何传递数组参数

问题描述 java调用SAP的RFC如何传递数组参数 SAP是服务端,使用JCO3的jia包,RFC服务端的函数有一个数组类型的参数. java代码这边用什么形式给它传值.新手请赐教 解决方案 Java中连接SAP进行RFC调用JAVA本地方法调用(2)数组参数传递java调用SAP RFC函数

编程基础讲解 续 (内置对象)

上次讲对象时讲了自定义对象,现在讲一下预定义对象(内置对象).毕竟as里是大量用到预定义对象的. 使用内置 Flash 对象访问和处理特定种类的信息.大多数内置对象都具有方法(分配给对象的函数),您可以调用这些方法,以返回值或执行动作.例如,Date 对象会从系统时钟返回信息,而 Sound 对象使您可以控制影片中的声音元素.某些内置对象还具有属性,您可以读取这些属性的值.例如,Key 对象具有恒定的值,它们代表键盘上的键.每个对象都具有自己的特性和能力,从而使它们在影片中很有用.内置 Flas

C#如何通过NCO3.0来连接SAP并调用SAP中的RFC

C#如何通过NCO3.0来连接SAP并调用SAP中的RFC首先安装NCO3.0,这是SAP针对.Net开发的专用组件,安装完成之后在C:\Program Files\SAP\SAP_DotNetConnector3_x86目录下面会有sapnco_utils.dll sapnco.dll rscp4n.dll libicudecnumber.dll四个DLL文件,在项目里面添加引用,找到这个4个DLL文件,引用到项目里面,libicudecnumber.dll会提示无法引用,貌似要将项目的.NE

php-编译SAP RFC,提示缺少rfcsi.h?!!

问题描述 编译SAP RFC,提示缺少rfcsi.h?!! 下载了saprfc-1.4.1.All.php-5.4和SAP GUI 7,用VISUAL STUDIO 2008编译,输出 1>------ 已启动生成: 项目: Saprfc PHP 5.2.8 - RFC 7.10, 配置: Release_TS Win32 ------ 1>正在编译... 1>saprfc.c 1>h:saprfc-1.4.1.allrfccal.h(44) : fatal error C1083

C#开发webservice调用SAP的webservice后返回值是表类型,如何获取值?

问题描述 求助,C#调用SAP的webservice后返回值是表类型,如何获取表的行数? 解决方案 解决方案二:什么叫表类型?DataTable?SAP天堂也返回这样的东西?解决方案三:ws返回的就是xml了,里面的数据是可以获取的.至于你说的表,具体是什么?如果是datatable,好办,解析xml就是了.如果单单是某个表名,那就啥都不能获取到.解决方案四:引用2楼guwei4037的回复: ws返回的就是xml了,里面的数据是可以获取的.至于你说的表,具体是什么?如果是datatable,好