Текущее время: Пн, авг 04 2025, 20:22

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Виртуальный показатель
СообщениеДобавлено: Вт, июл 27 2010, 13:15 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Привет, может кто делал виртуальные показатели и может помочь?

Я делал по этому мануалу http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e051fda8-71a9-2a10-ac9e-8d17414a8c8c?QuickLink=index&overridelayout=true, вкратце так:

1. Создал виртуальный показатель ZDBALGRZ
2. Создал внедрение ZCL_IM_DBALGRZ_IMPLT
3. У внедрения ZCL_IM_DBALGRZ_IMPLT создал атрибут P_KYF_ZDBALGRZ

Вот этот атрибут - не заполняется при вызове метода IF_EX_RSR_OLAP_BADI~COMPUTE.

Я отдебажил программу, и вручную присвоил ему значение 18. Тогда показатель работает. Но, блин, это значение, очевидно, будет зависеть от структуры отчёта, и вообще должно заполнятся.

В самом мануале видно, что есть ещё методы CONSTRUCTOR и GET_FIELD_POSITION_D, но кода для них нет.

В чём может быть дело?

_________________
Ян Владимирович,
http://www.vladimirovich.net


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

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Гляньте здесь =
В этих топиках рассмотрены типичные проблемы и рекомендации.
viewtopic.php?f=12&t=14535&start=30
Здесь все расписано по шагам:
http://sapboard.ru/forum/viewtopic.php?f=12&t=53930
Вам нужны только методы:
IF_EX_RSR_OLAP_BADI~DEFINE Static Method Public
IF_EX_RSR_OLAP_BADI~INITIALIZE Instance Method Public
IF_EX_RSR_OLAP_BADI~COMPUTE Instance Method Public
На метод IF_EX_RSR_OLAP_BADI~INITIALIZE обратите внимание, хотя в
7-ке он ведь создается автоматом для VKF в BW 3.5 в топиках представленных выше написано, что прописать.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Виртуальный показатель
СообщениеДобавлено: Вт, июл 27 2010, 15:10 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Так, я кажется начинаю понимать в чём дело. Без кода по ссылке работать не будет, но и код по ссылке, у меня не заработал. BW701, если что.

Вот когда я заменил в коде по ссылке пару мест на такие вот:
Code:
...
   <l_global> = cl_exm_im_rsr_olap_badi=>get_field_position_d(
                                      i_fieldnm = <l_s_sfc>-sidreturnnm
                                      i_s_data = i_s_data )
...
    <l_global> = cl_exm_im_rsr_olap_badi=>get_field_position_d(
                                          i_fieldnm = <l_s_sfk>-VALUE_RETURNNM
                                          i_s_data = i_s_data )
...

всё заработало

_________________
Ян Владимирович,
http://www.vladimirovich.net


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

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Раз уж Вы в 7-ке, то чтобы метод INITIALIZATION содержал стандартный код SAP, при создании BADi нужно сделать так:
GOTO => Sample Coding => Copy.
Создание BAdi в 7.x и BW 3.5 также отличается в части транзакции SE19.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Виртуальный показатель
СообщениеДобавлено: Вт, июл 27 2010, 19:04 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Так, Хьюстон, у нас новая проблема
Жырная.

Виртуальный показатель вызывается на те значения признаков, что уже есть в запросе. Поэтому, если по какой-то развёртке нет данных по другому показателю, то он и не будет вызываться.

Есть ли способ, чтобы он пробегал все возможные значения хотя бы раз?

_________________
Ян Владимирович,
http://www.vladimirovich.net


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

Зарегистрирован:
Вт, июл 03 2007, 10:26
Сообщения: 486
Откуда: Kazakhstan, Astana
Пол: Мужской
Affirmative!
Yanvladimirovich написал(а):
Так, Хьюстон, у нас новая проблема
Жырная.

Виртуальный показатель вызывается на те значения признаков, что уже есть в запросе. Поэтому, если по какой-то развёртке нет данных по другому показателю, то он и не будет вызываться.
Есть ли способ, чтобы он пробегал все возможные значения хотя бы раз?

Это как? Все возможные значения, это значения возвращенные запросом. Вы обрабатываете построчно, то что у Вас есть. Конечно имея возможность считывать из других IP и признаков.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Виртуальный показатель
СообщениеДобавлено: Ср, июл 28 2010, 11:14 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
В запросе все показатели - некумулятивные.

Вот я и разбираюсь, каким образом идут вызовы к BADI в таком случае.

_________________
Ян Владимирович,
http://www.vladimirovich.net


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

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


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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