У меня есть два DataGridView в основной форме, а первый отображает данные из SAP, а другой отображает данные из Vertica DB, FM, который я использую, является RFC_READ_TABLE, но при вызове этого FM , то есть, если в целевой таблице слишком много столбцов, соединитель SAP вернет исключение DATA_BUFFER_EXCEED, есть ли какие-либо другие FM-файлы или способы извлечения данных из SAP без исключения?
Я выяснил решение, посвященное разбиению полей на несколько массивов и хранение данных каждой детали в виде данных, а затем слияние данных, но я боюсь, что это будет стоить много времени, если количество строк слишком велико.Извлечение данных из SAP с использованием C#
here comes my codes:
RfcDestination destination = RfcDestinationManager.GetDestination(cmbAsset.Text);
readTable = destination.Repository.CreateFunction("RFC_READ_TABLE");
/*
* RFC_READ_TABLE will only extract data up to 512 chars per row.
* If you load more data, you will get an DATA_BUFFER_EXCEEDED exception.
*/
readTable.SetValue("query_table", table);
readTable.SetValue("delimiter", "~");//Assigns the given string value to the element specified by the given name after converting it appropriately.
if (tbRowCount.Text.Trim() != string.Empty) readTable.SetValue("rowcount", tbRowCount.Text);
t = readTable.GetTable("DATA");
t.Clear();//Removes all rows from this table.
t = readTable.GetTable("FIELDS");
t.Clear();
if (selectedCols.Trim() != "")
{
string[] field_names = selectedCols.Split(",".ToCharArray());
if (field_names.Length > 0)
{
t.Append(field_names.Length);
int i = 0;
foreach (string n in field_names)
{
t.CurrentIndex = i++;
t.SetValue(0, n);
}
}
}
t = readTable.GetTable("OPTIONS");
t.Clear();
t.Append(1);//Adds the specified number of rows to this table.
t.CurrentIndex = 0;
t.SetValue(0, filter);//Assigns the given string value to the element specified by the given index after converting it appropriately.
try
{
readTable.Invoke(destination);
}
catch (Exception e)
{
}
Я бы хотел назначить это для бесценной премии за скриншот ... – vwegert
И так как вы не говорите нам, какую таблицу вы действительно читаете, трудно ответить ... – vwegert
ahh, так что извините за описание, таблицу Мне нужно прочитать LIPS, LIKP, BKPF и другие, все бизнес-данные. –