Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: LoryMax от 15 декабря 2017, 07:33:26

Название: Инкрементальная загрузка SAP BSEG
Отправлено: LoryMax от 15 декабря 2017, 07:33:26
Добрый день!

Кто-то сталкивался с инкрементальной загрузкой 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)');
Название: Re: Инкрементальная загрузка SAP BSEG
Отправлено: admin от 15 декабря 2017, 09:10:51
Привет,
нет, к сожалению, до SAP пока еще не добрался.
Если не использовать подзапросы через ODBC - результат тот же?

Я все больше склоняюсь к тому, чтобы ODBC использовать только как "транспортное средство", без каких-либо вычислительных нагрузок. Если необходимо сделать подработку данных, то делать это - или только средствами SQL, или только QLik.
А ODBC пусть тянет или результат или сырые данные для обработки в QLIK, по ситуации уже ясно будет.
Название: Re: Инкрементальная загрузка SAP BSEG
Отправлено: LoryMax от 21 декабря 2017, 06:40:03
Поразбирался. Оказалось, если грузить отдельно по дням и переменные '$(LASTDATECPUDT)'  и '$(lastDateAEDAT)' принимать одним числом, то удается стабильно грузить.