gpt4 book ai didi

c# - 如何获得 RFC 的结果

转载 作者:行者123 更新时间:2023-11-30 22:11:50 24 4
gpt4 key购买 nike

对于从 SAP RFC 获取数据,我完全陌生。我正在访问许多链接,以使用以下代码集连接到 SAP。

<appSettings> 
<add key=”ServerHost” value=”127.0.0.1″/>
<add key=”SystemNumber” value=”00″/>
<add key=”User” value=”sample”/>
<add key=”Password” value=”pass”/>
<add key=”Client” value=”50″/>
<add key=”Language” value=”EN”/>
<add key=”PoolSize” value=”5″/>
<add key=”PeakConnectionsLimit” value=”10″/>
<add key=”IdleTimeout” value=”600″/>
</appSettings>

cs文件

SAPSystemConnect sapCfg = new SAPSystemConnect();
RfcDestinationManager.RegisterDestinationConfiguration(sapCfg);
RfcDestination rfcDest = null;
rfcDest = RfcDestinationManager.GetDestination(“Dev”);.

现在我不知道如何调用特定的 RFC 并在数据集或列表中获取其结果。我还安装了 SAP.net 连接器。

请帮忙。

最佳答案

在创建一个有效的 RFC 目的地后,您必须使用 RfcDestionation-Method CreateFunction 创建一个 IRfcFunction 对象:

var rfc_read_table = rfcDest.CreateFunction("RFC_READ_TABLE");

现在您可以使用创建的对象来设置参数。可以使用 SetValue 或 GetValue 方法设置或检索导入/导出参数:

// we want to read from table kna1 (customer master data)
rfc_read_table.SetValue("QUERY_TABLE", "kna1");
// Delimiter ';'
rfc_read_table.SetValue("DELIMITER", ";");

使用 GetTable 方法访问表参数。它返回一个表示表参数的 IRfcTable 对象:

var fieldsTable = rfc_read_table.GetTable("FIELDS");
// append a new row
fieldsTable.Append();
// set value for field "FIELDNAME" on new row
fieldsTable.SetValue("FIELDNAME", "mandt");
fieldsTable.Append();
fieldsTable.SetValue("FIELDNAME", "kunnr");

现在可以执行函数了

rfc_read_table.Invoke(rfcDest);

RFC_READ_TABLE 在 TAB512 类型的参数表“数据”中返回其数据,其中包含一个名为“WA”的字段。调用该函数后,使用 GetTable 方法创建一个新的 IRfcTable 对象并迭代其内容。

var returnTable = rfc_read_table.GetTable("DATA");
foreach(IRfcStructure row in returnTable)
{
string[] fieldValues = row.GetValue("WA").Split(';');
// process field values
}

请注意,这只是一个例子。例如,功能模块 RFC_READ_TABLE 未向客户发布,因此 SAP 不支持使用此功能。我希望我的语法正确,我现在没有可用的 IDE,无法检查错误。

关于c# - 如何获得 RFC 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com