Hi there,
How to get nested objects inf sharpsaprfc?
I have two objects. Product and productAddress
` public class Product
{
private string _matirialNumber;
/// <summary>
///
/// </summary>
[RfcStructureField("MATNR")]
public string MaterialNumber
{
get
{
return this._matirialNumber.RemoveZeros();
}
set
{
this._matirialNumber = value;
}
}
/// <summary>
///
/// </summary>
[RfcStructureField("MAKTX")]
public string MaterialShortText { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("EAN11")]
public string Ean { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("LABST")]
public decimal AmountOfStock { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("PROJE")]
public string ProjectCode { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("LINK")]
public string Link { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("WERKS")]
public string ProductionLocation { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("LGORT")]
public string WarehouseLocation { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("MATKL")]
public string MaterialGroup { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("EXTWG")]
public string ExternalMaterialGroup { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("PRDHA")]
public string PRDHA { get; set; }
///// <summary>
/////
///// </summary>
[RfcStructureField("ADR_TABLE")]
public IEnumerable<ProductAddress> ProductAddresses { get; set; }
}`
` public class ProductAddress
{
///
///
///
[RfcStructureField("RAF")]
public string Console { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("TRAVES")]
public string Traves { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("KAT")]
public string Stair { get; set; }
/// <summary>
///
/// </summary>
[RfcStructureField("BOLUM")]
public string Section { get; set; }
}`
` public class SearchProductFunc : RfcFunctionObject<IEnumerable>
{
#region Fields
/// <summary>
/// Sap Parameter Name : I_SEARCHTEXT
/// </summary>
public string SearchText { get; private set; }
/// <summary>
/// Sap Parameter Name : I_LGORT
/// </summary>
public string WarehouseLocation { get; private set; }
/// <summary>
/// Sap Parameter Name : I_WERKS
/// </summary>
public string ProductionLocation { get; private set; }
/// <summary>
/// Sap Parameter Name : E_COUNT
/// </summary>
public int Count { get; set; }
/// <summary>
/// Sap Name : TE_URUN
/// </summary>
public IEnumerable<Product> Products { get; private set; }
#endregion
#region Ctor
/// <summary>
///
/// </summary>
/// <param name="searchText"></param>
/// <param name="warehouseLocation"></param>
public SearchProductFunc(string searchText,string productionLocation, string warehouseLocation)
{
this.SearchText = searchText;
this.ProductionLocation = productionLocation;
this.WarehouseLocation = warehouseLocation;
this.Count = 0;
}
#endregion
public override string FunctionName
{
get { return "ZPN_F_ELTERM_SEARCH_MATNR"; }
}
public override IEnumerable<Product> GetOutput(RfcResult result)
{
this.Count = result.GetOutput<int>("E_COUNT");
this.Products = result.GetTable<Product>("ET_LIST");
return Products;
}
public override object Parameters
{
get
{
return new
{
I_SEARCHTEXT = this.SearchText,
I_LGORT = this.WarehouseLocation,
I_WERKS = this.ProductionLocation,
};
}
}
}`
Than i called func.
` using (PlainSapRfcConnection conn = new PlainSapRfcConnection("KPD"))
{
var result = conn.ExecuteFunction(new SearchProductFunc("210001559","0881","2001"));
System.Console.WriteLine("Count:" + result.Count());
System.Console.WriteLine(" ... done quick work DoGetWarehouseLocation() ... ");
}`
But i've got an exception: "Object must implement IConvertible"
How can i handle nested objects ? Thanks
Hi there,
How to get nested objects inf sharpsaprfc?
I have two objects. Product and productAddress
` public class Product
{
` public class ProductAddress
{
///
///
///
[RfcStructureField("RAF")]
public string Console { get; set; }
` public class SearchProductFunc : RfcFunctionObject<IEnumerable>
{
Than i called func.
` using (PlainSapRfcConnection conn = new PlainSapRfcConnection("KPD"))
{
But i've got an exception: "Object must implement IConvertible"
How can i handle nested objects ? Thanks