我看不懂文档,真的需要一个具体的例子。
我已经创建了目的地。在这里,我定义了我的 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“无法将元素添加到锁定的 STRUCTURE BAPI_INCINV_DETAIL_ITEM”。
有什么办法吗?