Пожалуйста, скажите мне, что кто-то там сделал это. Я пытаюсь взаимодействовать с SAP через .NET Connector 3.0. Я могу читать данные с помощью вызовов удаленных функций, но не могу понять, как что-то написать, например, создать или отредактировать материал. В ходе некоторых исследований я установил, что BAPI_MATERIAL_SAVEDATA - это RFC, который мне нужно использовать, но я не могу понять, как это сделать. Вот что я пытаюсь:
function = destination.Repository.CreateFunction("BAPI_MATERIAL_SAVEDATA");
IRfcStructure structure = function.GetStructure("HEADDATA");
structure.SetValue("material", "000000000000000888");
structure.SetValue("ind_sector", "U");
structure.SetValue("matl_type", "ERSA");
structure.SetValue("basic_view", "X");
structure = function.GetStructure("CLIENTDATA");
structure.SetValue("matl_group", "01");
structure.SetValue("base_uom", "EA");
structure = function.GetStructure("CLIENTDATAX");
structure.SetValue("matl_group", "X");
structure.SetValue("base_uom", "X");
function.Invoke(destination);
Я собрал это вместе, основываясь на различных примерах VB и ABAP. Проблема в том, что он ничего не делает. Когда вызывается function.Invoke()
, он не создает материал, он не создает исключение, он просто ничего не делает. Очевидно, я не делаю что-то правильно, если не имею ни малейшего представления, что. Кто-нибудь, пожалуйста, помогите!