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(..., ...);