Как добавить несколько строк в IRfcTable

77
8

Я пытаюсь передать 2 строки в таблицу BAPI, но мой код принимает только вторую строку все время.


Я передаю данные как:


6 7 8
6 7 8

вместо:


1 2 3
6 7 8

Вот что я пробовал:


IRfcFunction bapiTEST = _rfcDest.Repository.CreateFunction(strBapi);

IRfcStructure structImport = _rfcDest.Repository.GetStructureMetadata("ZBAPI_A_STRU_ORDER_CLICK").CreateStructure();

structImport.SetValue("NUM1", "000001");
structImport.SetValue("NUM2", "000002");
structImport.SetValue("NUM3", "000003");

IRfcTable tblImport = bapiTEST.GetTable("IMPORT");
tblImport.Insert(structImport);

structImport.SetValue("NUM1", "000006");
structImport.SetValue("NUM2", "000007");
structImport.SetValue("NUM3", "000008");

tblImport.Insert(structImport);
bapiTEST.SetValue("IMPORT", tblImport);

RfcSessionManager.BeginContext(_rfcDest);
bapiTEST.Invoke(_rfcDest);

спросил(а) 2011-11-15T19:57:00+04:00 8 лет, 7 месяцев назад
1
Решение
66

Я думаю, что вы повторно используете structImport, поэтому второй раз, когда вы вызываете SetValue, также влияет на первый structImport, который вы вставили. Попробуйте еще раз вызвать CreateStructure().

ответил(а) 2011-11-17T14:54:00+04:00 8 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема