使用C#和传递表作为参数调用函数

2020-08-18 04:41发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想使用C#SAP连接器在SAP...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想使用C#SAP连接器在SAP中调用一个函数。 在此之前,我必须填写一个用作传输参数的表。 我可以填写表格IRFTable Append()和SetValue()并再次读出来。 不幸的是,该函数没有被调用,并且我没有返回任何表作为返回。 不幸的是,我已经尝试过将其作为切换结构使用,但是没有成功。 但是,数据类型正确,否则我将从SAP收到错误消息。 我还使用字符串参数调用了其他函数,该函数始终有效。 与SAP的连接很好。 发生了什么? 我该怎么办?

我的代码

  RfcDestination目标= RfcDestinationManager.GetDestination(cfg.GetParameters(" PARAMTEST"));
         destination.Ping(); IRfcFunction函数= destination.Repository.CreateFunction(" ZRFCMADDRT"); IRfcTable table = function.GetTable(" I_ZRFCMADDRTS");
         table.Append(1);
         table.SetValue(" AUFNR"," 3000064439");
         table.SetValue(" VEMNG_INP",33.44);
         table.SetValue(" BRGEW",44.88);
         table.SetValue(" EXIDV",string.Empty);
         table.SetValue(" ZMODULE"," MODULE0001");
         function.SetValue(" I_ZRFCMADDRTS",table);//RfcStructureMetadata meta = destination.Repository.GetStructureMetadata(" ZRFCMADDRTS");//IRfcStructure data = meta.CreateStructure();///data.SetValue(" ZMODULE",Modul)  ;//data.SetValue(" AUFNR",AuftragsNr);//data.SetValue(" EXIDV",string.Empty);//data.SetValue(" VEMNG_INP"," 22,44");//数据。  SetValue(" BRGEW"," 55,11");//table.Append(data);

         function.SetValue(" I_ZRFCMADDRTS",table); [在此处输入图像描述] [1] function.Invoke(目的地); IRfcTable rfcTableLogs = function.GetTable(" E_ZRFCLOGS"); IRfcTable rfcTableReturns = function.GetTable(" E_ZRFCRETURNS")  ; Console.WriteLine(rfcTableLogs.RowCount.ToString());//返回始终为0Console.WriteLine(rfcTableReturns.RowCount.ToString());//返回始终为0 

(88.4 kB)
2条回答
hengyuye
2020-08-18 04:54

史蒂芬你好,

请在 https://support.sap.com/nco 上查看有关NCo的教程。 它应该明确您需要做什么。 不必重新设置表。 使用get方法,您可以获得直接更新的引用。

最诚挚的问候,
Markus

一周热门 更多>