2012-04-05 59 views
1

我無法理解文檔,真的需要一個具體的例子。如何使用SAP Nco 3.0將字段添加到rfcTable?

我已經創建了目的地。在這裏,我定義我的BAPI:

IRfcFunction BapiIncomingInvoiceGetDetail = SapRfcRepository.CreateFunction("BAPI_INCOMINGINVOICE_GETDETAIL"); 

設置我的進口,調用它,然後讓我出口 - 其中一個表:

IRfcTable ITEMDATATable = BapiIncomingInvoiceGetDetail.GetTable("ITEMDATA"); 

我現在想要一個字段添加到每個項目在ITEMDATATable表中,並設置其值,以便我可以稍後參考它,就好像它是BAPI返回的字段之一一樣。誰能告訴我如何?

編輯:好的,我已經取得了一些進展:

RfcFieldMetadata newField = new RfcFieldMetadata("SKU_AMT",0,0,0); 
ITEMDATATable.CurrentRow.Metadata.AddField(newField); 
ITEMDATATable.SetValue("SKU_AMT",myItemData.SKU_AMT); 

然而,當我嘗試設置的值,我得到RfcInvalidStateException「不能元素添加到鎖定結構BAPI_INCINV_DETAIL_ITEM」。

任何方法?

回答

1

您不能將列追加到表中,這些字段已被定義。您需要向該表添加一行並填充該行的字段。這應該工作(雖然我現在不能測試):

IRfcTable ITEMDATATable = BapiIncomingInvoiceGetDetail.GetTable("ITEMDATA"); 
ITEMDATATable.Append(); 
ITEMDATATable.SetValue("SKU_ATM",myItemData.SKU_AMT);