Текущее время: Вс, авг 17 2025, 19:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос об экстракции данных блоками (самописный экстрактор)
СообщениеДобавлено: Ср, июн 07 2006, 10:11 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Имеем следующее

Есть собственный экстрактор, который извлекает данные через функциональный модуль. Данные должны извлекаться по-пакетам. Размер пакета попадает (как это везде сделано в стандартных екстракторах) через IMPORT Parameter
I_MAXSIZE TYPE SBIWA_S_INTERFACE-MAXSIZE

Далее примерно следующее

OPEN CURSOR WITH HOLD G_CURSOR FOR
SELECT * FROM (TABLENAME).....

FETCH NEXT CURSOR G_CURSOR
INTO TABLE ITABLE
PACKAGE SIZE I_MAXSIZE.

Всё вроде нормально. В RSA3 работает и извлекает данные по-пакетам. А вот в обычном режиме (через инфо-пакет) не хочет разбивать данные на блоки. Хотя в параметрах инфо-пакета я прописал максимальный размер блoка данных.

Никто не подскажет в чём проблема ?

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос об экстракции данных блоками (самописный экстрактор)
СообщениеДобавлено: Чт, июн 08 2006, 12:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 15:04
Сообщения: 215
Откуда: Москва (Старый Оскол)
Всё вроде верно и должно работать, а пробовали НЕ указывать размер пакета (I_MAXSIZE) во вкладке IMPORT.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 08 2006, 13:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 09:59
Сообщения: 1097
Откуда: Moscow
Пол: Мужской
посмотрите в исходной системе настройки управляющих параметров для переноса.

цитата из хелпа

2. Maximum Size of the Data Package
When you transfer data into BW, the individual data records are sent in packages of variable size. You can use these parameters to control how large a typical data packet like this is.

If no entry was maintained then the data is transferred with a default setting of 10,000 kBytes per data packet. The memory requirement not only depends on the settings of the data package, but also on the size of the transfer structure and the memory requirement of the relevant extractor.

3. Maximum Number of Rows in a Data Package
With large data packages, the memory requirement mainly depends on the number of data recrods that are transferred with this package. Using this parameter you control the maximum number of data records that the data package should contain.

By default a maximum of 100,000 records are transferred per data package.

The maximum main memory requiremen per data package is approximately 2*'Max. Rows'*1000 Byte.

Может это вам подскажет, почему не режется на пакеты так как вам хочется?

_________________
In SAP we trust !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 08 2006, 13:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 09:59
Сообщения: 1097
Откуда: Moscow
Пол: Мужской
И еще. посмотрите внимательно код ФМ RSAX_BIW_GET_DATA_SIMPLE

Сдается мне, что вы делаете fetch в свою таблицу ITABLE а надо в стандартную таблицу возврата E_T_DATA.

_________________
In SAP we trust !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 09 2006, 07:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
BW - ник написал:
И еще. посмотрите внимательно код ФМ RSAX_BIW_GET_DATA_SIMPLE

Сдается мне, что вы делаете fetch в свою таблицу ITABLE а надо в стандартную таблицу возврата E_T_DATA.


Да нет. Я как раз в E_T_DATA всё записываю. Здаётся мне, что тут ручками придётся в какие-то таблицы типа ROOSPRMS ABAP-кодом значения прописывать...

В настоящий момент я "победил" эту хрень очень просто. Прямо в коде функционального модуля прописал в явном виде значение I_MAXSIZE = 50000. Но это не есть хорошо.

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос об экстракции данных блоками (самописный экстрактор)
СообщениеДобавлено: Пт, июн 09 2006, 08:39 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
RSA1 написал(а):
Всё вроде нормально. В RSA3 работает и извлекает данные по-пакетам. А вот в обычном режиме (через инфо-пакет) не хочет разбивать данные на блоки. Хотя в параметрах инфо-пакета я прописал максимальный размер блoка данных.


Скажи, а откуда такая необходимость - разбивать по блокам, с чем это связано?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос об экстракции данных блоками (самописный экстрактор)
СообщениеДобавлено: Пт, июн 09 2006, 08:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
[quote="Bkmz]
Скажи, а откуда такая необходимость - разбивать по блокам, с чем это связано?[/quote]

А попробуйте загрузить в ODS пару миллионов записей... Так, если даже пакет удастся перегнать, то ODS будет активироваться хрен-знает сколько...

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос об экстракции данных блоками (самописный экстрактор)
СообщениеДобавлено: Вт, июн 13 2006, 08:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 09:59
Сообщения: 1097
Откуда: Moscow
Пол: Мужской
RSA1 написал(а):
[quote="Bkmz]
Скажи, а откуда такая необходимость - разбивать по блокам, с чем это связано?


А попробуйте загрузить в ODS пару миллионов записей... Так, если даже пакет удастся перегнать, то ODS будет активироваться хрен-знает сколько...[/quote]

тогда это не поможет... активация идет всего запроса, а не блока запросов...

_________________
In SAP we trust !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 13 2006, 09:39 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
хм, мульен по ходу надо бить не размерами пакета а критериями выбора, типа 200 тыс. записей за 2005 год - это один запрос, 300 тыс за другой год и т.д.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 13 2006, 10:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Bkmz написал:
хм, мульен по ходу надо бить не размерами пакета а критериями выбора, типа 200 тыс. записей за 2005 год - это один запрос, 300 тыс за другой год и т.д.



Да можно несколько пакетов сделать или динамически RANGE задавать

Тока нежелательно в моём случае. Задачу только что запустили в продуктив, требования меняются. И очень большая вероятность того, что все данные придётся перегружать и не один раз. А тут за день приходит в среднем 50000 - 100000 новых записей. (Это база телефонных переговоров центра обслуживания клиентов, соединенная с CRM). А если еще пара-тройка регионов подключится, так и все 300000 записей за день - вполне реальная цифра. Вот и попробуйте данные за пару месяцев перегрузить.

Вот, кстате, проверим BW "на вшивость". :lol:

Кстате, проверял здесь. Длительность загрузки данных в ОДС еще как зависит ит того, пересылаются данные одним пакетом или блоками. Кроме того, где-то находил в САП-овской документации зависимость размера необходимых буферов от размера пакета. Сейчас нет времени искать.

Бообщем спасибо всем за ответы. Пока вроде работает (тьфу 3 раза, чтобы не сглазить).

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июн 13 2006, 11:10 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Вс, июн 26 2005, 22:41
Сообщения: 1135
Откуда: Москва
Пол: Мужской
RSA1 написал(а):
Вот, кстате, проверим BW "на вшивость". :lol:


Сдается мне что в данном случае ты проверишь не BW на вшивость, а оракл вместе с железом на котором он стоит.
Кстати, прежде чем гнать такие объемы неплохо делать расчет железа для такой задачи на sap'e а то много сюрпризов может вылезти :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB