2011-11-15 69 views
3

我想將2行傳遞給BAPI表,但我的代碼一直只佔用第二行。如何向IRfcTable添加多行

我正在通過數據爲:的

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

不要假設你有權訪問自定義bapi的源代碼?我的第一個猜測是它期待一個隱式工作區的表,而你的遠程調用不能正確處理。但我對C#沒有任何經驗。 –

回答

2

我想你重用structImport,所以你第二次打電話SetValue也是影響第一個你插入了0。嘗試撥打另一個CreateStructure()

+0

是的。謝謝你Rene。那確實解決了我的問題。非常感謝你。 – Venky