Текущее время: Сб, июн 21 2025, 01:19

Часовой пояс: 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 часа


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

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


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

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