将项目添加到IRfcTable

ana*_*nda 2 .net sap connector sap-connector

我有一个函数,其中一个参数是一个表(T_ITEMS).

表的项目是类型/结构Z_ITEM,有两个字段:Value,Quantity;

如何在此表中添加Z_ITEM类型的项?

我所做的是遵循以下代码:

IRfcFunction fnct = repo.CreateFunction( "MY_FUNCTION" );
IRfcTable t_items = fnct.GetTable( "T_ITEMS" );

foreach( XmlNode oneNode in postdata.Items.SelectNodes( "//articles/article" ) ) {
    IRfcStructure articol = repo.GetStructureMetadata("Z_ITEMS") as IRfcStructure;
    articol.SetValue( "Value", oneNode.Attributes[ "value" ].Value );
    articol.SetValue( "Quantity", oneNode.Attributes[ "quantity" ].Value );
    t_items.Append( articol );
}
Run Code Online (Sandbox Code Playgroud)

在repo.GetStructureMetadata("Z_ITEMS")中我有结构但是当我转换为IRfcStructure变量时,articol为null.

ana*_*nda 5

解决.

IRfcStructure articol = repo.GetStructureMetadata("Z_ITEMS") as IRfcStructure;
Run Code Online (Sandbox Code Playgroud)

取而代之

RfcStructureMetadata am = repo.GetStructureMetadata( "Z_ITEMS" );
IRfcStructure articol = am.CreateStructure();
Run Code Online (Sandbox Code Playgroud)