Инкрементальная загрузка SAP BSEG

Автор LoryMax, декабря 15, 2017, 07:33:26 am

« предыдущая - следующая »

LoryMax

Добрый день!

Кто-то сталкивался с инкрементальной загрузкой SAP BSEG?
Проблема в том, что таблица не хранит время записей, по которым можно загрузить нужные данные. Приходится делать внутренний подзапрос по SAP с подключением к таблице BKPF (где есть даты), что указан в справки сенса.
Экспериментальным путем было выявлено, что если позиций при обновлении около 300 т., то загрузка проходит, если больше то идет ошибка "QVX_UNEXPECTED_END_OF_DATA: TIMEOUT_READ_MEMORY:". Но в моем случае может легко оказаться, что в течении одного дня будет больше позиций и соответственно нельзя ограничить срок загрузки данных, т.к. там дискретность 1 сутки, времени у дат нет.


Set vNameTable = BSEG;
Set vFieldNames='BELNR
                ,BUKRS
                ,BUZEI
                ,EBELN
                ,EBELP
                ,GJAHR
                ,ZUONR';

$(vNameTable):
SQL SUBSELECT
          $(vFieldNames)
   From $(vNameTable)
   Where BELNR BUKRS GJAHR in (Select BELNR BUKRS GJAHR From BKPF Where
   CPUDT GE '$(LASTDATECPUDT)' or AEDAT GE '$(lastDateAEDAT)');

admin

Привет,
нет, к сожалению, до SAP пока еще не добрался.
Если не использовать подзапросы через ODBC - результат тот же?

Я все больше склоняюсь к тому, чтобы ODBC использовать только как "транспортное средство", без каких-либо вычислительных нагрузок. Если необходимо сделать подработку данных, то делать это - или только средствами SQL, или только QLik.
А ODBC пусть тянет или результат или сырые данные для обработки в QLIK, по ситуации уже ясно будет.

LoryMax

Поразбирался. Оказалось, если грузить отдельно по дням и переменные '$(LASTDATECPUDT)'  и '$(lastDateAEDAT)' принимать одним числом, то удается стабильно грузить.