コード例 #1
0
        /// <summary>
        /// Recursively populate RfcDataContainer
        /// </summary>
        /// <param name="container">Reference to RfcFunction object</param>
        public void PopulateRfcDataContainer(IRfcDataContainer container)
        {
            if (Fields != null)
            {
                foreach (var field in Fields)
                {
                    container.SetValue(field.Name, field.Value);
                }
            }

            if (Tables != null)
            {
                foreach (var table in Tables)
                {
                    var t = container.GetTable(table.Name);

                    foreach (var row in table.Rows)
                    {
                        var tablerow = t.Metadata.LineType.CreateStructure();
                        row.PopulateRfcDataContainer(tablerow);
                        t.Append(tablerow);
                    }
                }
            }

            if (Structures != null)
            {
                foreach (var structure in Structures)
                {
                    var s = container.GetStructure(structure.Name);

                    structure.PopulateRfcDataContainer(s);
                }
            }
        }
コード例 #2
0
 public void PopulateRfcDataContainer(IRfcDataContainer container)
 {
     if (Fields != null)
     {
         foreach (var field in Fields)
         {
             container.SetValue(field.Name, field.Value);
         }
     }
 }
コード例 #3
0
        protected DataTable CreateDataTableFromRfcData(IRfcDataContainer rfcData, string tableName = null)
        {
            DataTable dataTable = new DataTable();

            if (tableName != null)
            {
                dataTable.TableName = tableName;
            }

            for (int i = 0; i < rfcData.ElementCount; i++)
            {
                RfcElementMetadata Metadata = rfcData.GetElementMetadata(i);
                dataTable.Columns.Add(Metadata.Name);
            }
            return(dataTable);
        }