SAP-коннектор 3.0 .NET устанавливает значение в структуре таблицы

Я пытаюсь получить данные из SAP через SAP Connector 3.0 в приложении MVC3.

Нет проблем со связью.

Моя проблема, когда я пытаюсь установить значения для структуры из таблицы, которая говорит

"TABLE [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

2 ответа

Решение

Я не уверен насчет разъема, который вы используете, но при использовании JCo существует похожее недоразумение. Параметр таблицы может содержать несколько строк. Обычно вам нужно добавить строку в таблицу. Это, вероятно, вернет какую-то структуру, которую вы сможете заполнить. Также проверьте этот ответ.

Я думаю, что вам просто нужно добавить новую строку, прежде чем пытаться вызвать SetValue

например

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

Вы можете получить имена столбцов, поставив точку останова после того, как вы получите структуру таблицы и изучив ее, что, вероятно, лучше, чем просто указание индексов столбцов.

В моем случае мне нужно было использовать Insert:

absenceHoli.Insert();
absenceHoli.SetValue(..., ...);
Другие вопросы по тегам