1

我正在尝试通过 MVC3 应用程序上的 SAP 连接器 3.0 从 SAP 获取数据。

连接没有问题。

我的问题是当我尝试从它说的表中设置结构上的值时

“表 [STRUCTURE ZHRS_ABSENCES]:无法设置值(存储元素值的数组为空)”

我的代码如下:

//create function    
IRfcFunction function = conex.Repository
                        .CreateFunction("Z_HR_PORTAL_GET_EMPLOYEE_DATA");

//get table from function
IRfcTable absenceHoli = function.GetTable("P_ABSENCES");

//setting value to structure
absenceHoli.SetValue(0, "0000483"); //this is where the error occurs
4

3 回答 3

4

我不确定您使用的连接器,但在使用 JCo 时也存在类似的常见误解。一个表参数可以包含多行。您通常必须在表格中添加一行。这可能会返回某种您可以填充的结构。还要检查这个答案。

于 2012-08-23T09:10:39.847 回答
4

我认为您只需要在尝试调用 SetValue 之前附加一个新行

例如

absenceHoli.Append();    
absenceHoli.SetValue("ColumnName", "0000483"); // Add further SetValue statements for further columns 

您可以通过在获得表结构并检查它之后放置断点来获取列名,这可能比仅指定列索引更好。

于 2012-08-23T09:36:58.933 回答
0

就我而言,我需要使用Insert

absenceHoli.Insert();
absenceHoli.SetValue(..., ...);
于 2019-12-19T09:02:09.413 回答