首页 新闻 搜索 专区 学院

SAP Connector3.0 for MS .NET的问题

0
悬赏园豆:10 [待解决问题]

在SAP中执行RFC函数 "ZRFC_GETSTOCK_MM"正常,但是用VC#2010 + SAP Connector3.0 for MS .NET时取不到返回的结果stockc,始终为0.
而在非dotnet平台的ASP程序中则可以取到正确的数值.
不知什么原因?
以下是VC#代码。
//连接 sap
RfcConfigParameters rfc = new RfcConfigParameters();
rfc.Add(RfcConfigParameters.Name, "mycon");
rfc.Add(RfcConfigParameters.AppServerHost, "111.111.111.111");
rfc.Add(RfcConfigParameters.Client, "700");
rfc.Add(RfcConfigParameters.User, "RFCTEST");
rfc.Add(RfcConfigParameters.Password, "test");
rfc.Add(RfcConfigParameters.SystemNumber, "00");
rfc.Add(RfcConfigParameters.Language, "EN");
rfc.Add(RfcConfigParameters.PoolSize, "5");
rfc.Add(RfcConfigParameters.MaxPoolSize, "10");
rfc.Add(RfcConfigParameters.IdleTimeout, "500");
RfcDestination rfcdest = RfcDestinationManager.GetDestination(rfc);
//RFC调用函数
RfcRepository rfcrep = rfcdest.Repository;
IRfcFunction myfun = null;
myfun = rfcrep.CreateFunction("ZRFC_GETSTOCK_MM");
//赋值import
myfun.SetValue("I_MATNR", "0701020160006169");
myfun.SetValue("I_WERKS", "TTB2");
myfun.SetValue("I_LGORT", "0024");
myfun.SetValue("I_CHARG", "9");


//执行
myfun.Invoke(rfcdest);
//得到export结果
label1.Text= myfun.GetValue("STOCKC").ToString();

sword2012的主页 sword2012 | 初学一级 | 园豆:192
提问于:2012-03-30 14:34
< >
分享
所有回答(2)
0

http://www.cnblogs.com/Teco/archive/2012/03/09/2387225.html

看看我的 博客。

outParameters[item] = Z_RFC_ZCOX.GetString(item); 試一下
無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-30 14:59
0

可能是输入参数长度的问题,单步调试,在执行完myfun.Invoke(rfcdest);后,将myfun.ToString();可以看到里面的内容,自己分析一下就知道STOCKC有没有返回。

我也遇到过这样的情况,参数都传到了SAP那边,就是获取不到返回的结果,也没有异常,最后和SAP开发商一起调试,还是没有找到原因,最后用其他的解决方案来解决的。

水晶途途 | 园豆:1434 (小虾三级) | 2012-03-30 18:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册