如何向IRfcTable添加多行

时间:2011-11-15 16:57:51

标签: c# sap sap-connector

我正在尝试将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 个答案:

答案 0 :(得分:2)

我认为您正在重复使用structImport,因此您第二次调用SetValue时也会影响您插入的第一个structImport。尝试在中间调用另一个CreateStructure()