Текущее время: Ср, июл 30 2025, 02:29

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 13:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
Всем привет!
Столкнулся с такой проблемой: когда ограничиваю виртуальный куб по признаку большим количеством значений, то ограничение не срабатывает. Причем похоже что граница плавающая. Сейчас максимум когда работает - это 158 значений, до этого было 200. Кто-нибудь сталкивался с чем-либо подобным? Куда копать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 14:55 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Виртуальный куб содержит под собой функциональный модуль - тот же ABAP. Там смотрели?
Хотя мне виртуальные не понравились - ограничение по объему передаваемых записей. Если больше, то дамп в фоновом процессе.

_________________
Рисую потоки данных.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 15:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
У меня виртуальный куб на DTP с прямым доступом. смотрел как отрабатывает Inverse Routine на признаке: до 158 значений - норм, больше вообще в нее не заходит. Почему так происходит докопаться не удалось.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 16:25 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, дек 23 2008, 17:09
Сообщения: 315
967798-я не Ваш случай?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 17:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
Эту знаю, не оно. Тут похоже какое-то ограничение или глюк. Пока иду по пути сокращения значений признаков через использование диапазонов "BT" Знач1; Знач2


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Пн, апр 26 2010, 17:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Возможно, глюк.
Я в l_t_range передаю больше 1000 значений, и работает нормально (Хотя это не для DTP с прямым доступом, см. линк ниже на SDN, может поможет).
l_s_range TYPE rsdri_s_range,
l_t_range TYPE rsdri_t_range
(сейчас вот тему создам из той же оперы про виртуальные :D если не разберусь в чем дело )
Может дело в выражении WHERE? там какие глюки произошли?
https://forums.sdn.sap.com/thread.jspa?threadID=1168556
Note 565086 - Composite SAP note Wrong or no data in DataMart or Query
Note 1009197 - Required Data for Troubleshooting virtual Infoproviders
Note 648669 - Required Data for Troubleshooting virtual Infoproviders

_________________
"Great minds discuss ideas. Average minds discuss events. Small minds discuss people-Eleanor Roosevelt--Knowledge is to share, Keep it free, Keep sharing"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Вт, апр 27 2010, 09:20 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, авг 16 2006, 03:22
Сообщения: 464
Пол: Мужской
У меня нет явного выражения WHERE.
А у Вас какие проблемы? Как здесь: https://forums.sdn.sap.com/thread.jspa?threadID=1168556 ?
Чтобы RSDRI_INFOPROV_READ читал больше 1000 записей нужно читать в цикле:
Code:
  WHILE lf_end_of_data EQ abap_false.
    TRY.
      CALL FUNCTION 'RSSEM_INFOPROV_READ'
        EXPORTING
          i_infoprov                    = n_intoprov
          i_t_sfc                       = lt_sfc
          i_t_sfk                       = lt_sfk
          i_t_range                     = lt_range
        IMPORTING
          e_t_data                      = <lt_data>
          e_t_message                   = lt_message
          e_end_of_data                 = lf_end_of_data
        CHANGING
          c_first_call                  = lf_first_call
        EXCEPTIONS
          no_authorization              = 1
          shfc_hienode                  = 2
          no_ncum_query_allowed         = 3
          cube_locked_due_2_compression = 4.

      CATCH cx_rspls_failed INTO lr_ex.
        RAISE EXCEPTION lr_ex.
    ENDTRY.

  ENDWHILE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Virtual provider и ограничения
СообщениеДобавлено: Вт, апр 27 2010, 11:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Проблемы у меня возникли с RSDRI_INFOPROV_READ_RFC видимо у него есть проблемы, если куб содержит навигационные атрибуты. Да и с кодировкой проблемы какие-то вылезли, потому что в дебагере даже после обработки RSDRI_DATA_UNWRAP у меня данные в ненадлежащем виде. Видимо проблемы есть еще с не UTF.

На счет цикла, это да конструкция вида =
Code:
WHILE l_end_of_data = rs_c_false.
CALL FUNCTION 'RSDRI_INFOPROV_READ'
bla bla bla
  IF sy-subrc <> 0.
    BREAK-POINT.                                           "#EC NOBREAK
    EXIT.
  ENDIF.
ENDWHILE.

http://help.sap.com/saphelp_nw2004s/hel ... ameset.htm

Для считывания в VIP есть несколько интерфейсов. RSDRI_INFOPROV_READ сам по себе юзается для VIP, поэтому нужно создавать RFC FM. Но интерфейс с RFC вызывается один раз он содержит структуры BAPI и если данных много, то это на производительность очень сильно сказывается и memory overflow словить очень легко. Конечно можно указать I_PAKCKAGESIZE, но он перекрывается системными настройками и может быть проигнорирован.
Второй интерфейс без RFC и SID он считывает данные до тех пор, пока параметр E_END_IF_DATA не примет значение TRUE. Удобно работать с ним в BW.
Про третий интерфейс сказано = SAP advises against using this interface. The interface is intended for internal use only and is only mentioned here for completeness. Note that the structures used in the interface may be changed by SAP.

_________________
"Great minds discuss ideas. Average minds discuss events. Small minds discuss people-Eleanor Roosevelt--Knowledge is to share, Keep it free, Keep sharing"


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

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


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

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


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

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