как добавить несколько строк в IRfcTable - PullRequest
3 голосов
/ 15 ноября 2011

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

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

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);

1 Ответ

2 голосов
/ 17 ноября 2011

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

...