Текущее время: Пт, июн 20 2025, 21:21

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 23:57 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пн, фев 21 2005, 00:50
Сообщения: 10284
Откуда: г.Мышуйск
Пол: Женский
Tomcat написал(а):
LadyWind написала:
Цитата:
2.Датаслайс (при необходимости изменения данных функцией, отключать/включать его абапом)
Вот где тот абаперский модуль, что его отключает? :lol: Как зовется-то? :lol:

См. ФМ RSPLSDS_PLDS*
Мучались. Много. Съели не один мозг. Прошерстили множество ресурсов. Но так и не осилили включение/отключение срезов ака dataslice в BW 7.0 через ФМ для IP, ибо
- классы, а не ФМ (меняет галочку в табличке, но не более)
- состояние датаслайса буферизуется и не меняется, пока не разлогиниваешься из IP.

люди, ну неужели косяк? неужели в 7.0 это почти бесполезная игрушка? :evil:

Нужно: открываешь рабочую книжку с планируемым запросом - датаслайс включен, нажимает на кнопку с последовательностью - датаслайс отключается, выполняется некая функция, датаслайс включается.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 08:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Всю тему уже не помню (а перечитывать лень)... так что может не в кассу, но...

Если я правильно понял нужно заблокировать значение признака от ручного ввода, но функция должна иметь доступ к полю.
Вот как мы это делаем:
1. Добавляем в куб специальный признак, например, ZCALC, всего с 2-мя значениями: # и 1 ("расчетный").
2. Делаем срез на кубе типа ZARTICLE=1, ZCALC=#.
3. В уровень агрегации для планирования не включаем признак ZCALC, теперь срез не дает планировать в статью(ZARTICLE)=1.
4. В уровень агрегации для расчета включаем признак ZCALC и когда нужно писать в статью 1, пишем так: ZARTICLE=1, ZCALC=1 - срез не срабатывает.
5. Так как признака ZCALC нет в ур.агрегации для планирования, то по нему идет агрегация и показываются все значения и, в частности, расчетные.

Надеюсь поможет :)


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

Зарегистрирован:
Пн, фев 21 2005, 00:50
Сообщения: 10284
Откуда: г.Мышуйск
Пол: Женский
А откуда будут считываться переменные фильтра? :? Два уровня агрегации, два фильтра... :?
Тем более, одна из переменных находится в структуре показателей, и в трех вариантах, "переменная", "переменная+1", "переменная+2"

_________________
Пушномолочная свинья-несушка (тест)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 09:59 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 17:17
Сообщения: 133
LadyWind написала:
люди, ну неужели косяк? неужели в 7.0 это почти бесполезная игрушка? :evil:

Почему, вполне полезная. Видимо, просто не делалось для онлайн-изменений.


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

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
LadyWind написала:
А откуда будут считываться переменные фильтра? :? Два уровня агрегации, два фильтра... :?
Тем более, одна из переменных находится в структуре показателей, и в трех вариантах, "переменная", "переменная+1", "переменная+2"


Мне кажется, проще сделать 2 уровня агрегации и 2 фильтра, чем бороться со срезами, тем более, что пока не получилось :roll:


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

Зарегистрирован:
Пн, фев 21 2005, 00:50
Сообщения: 10284
Откуда: г.Мышуйск
Пол: Женский
Lear написал:
Мне кажется, проще сделать 2 уровня агрегации и 2 фильтра, чем бороться со срезами, тем более, что пока не получилось :roll:
Не вопрос, что проще. Вопрос - будет ли корректно считываться?

_________________
Пушномолочная свинья-несушка (тест)


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

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
LadyWind написала:
Lear написал:
Мне кажется, проще сделать 2 уровня агрегации и 2 фильтра, чем бороться со срезами, тем более, что пока не получилось :roll:
Не вопрос, что проще. Вопрос - будет ли корректно считываться?

дыхк проверьте:))) Делов-то сделать книжку уровни и функцию:)

_________________
а подпись...а подписи не будет :)


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

Зарегистрирован:
Пн, фев 21 2005, 00:50
Сообщения: 10284
Откуда: г.Мышуйск
Пол: Женский
Чтобы проверить - надо кучу данных, а не две-три строчки, на которых "вроде не косячит" :lol:

_________________
Пушномолочная свинья-несушка (тест)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 18:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Решил проверить получится ли программно переключить статус среза данных. Потратил несколько часов, но результат есть :)

Сделал следующий ФМ:
Code:
FUNCTION ZCHANGE_DS_STATE.
*"----------------------------------------------------------------------
*"*"Ëîêàëüíûé èíòåðôåéñ:
*"  IMPORTING
*"     VALUE(INFOPROV) TYPE  RSINFOPROV
*"     REFERENCE(DS_NMBR) TYPE  RSPLS_DSNR
*"     VALUE(ACTIVE) TYPE  RS_BOOL
*"  EXPORTING
*"     VALUE(E_RETURN) TYPE  RSPLFB_RFC_RET_VAL
*"----------------------------------------------------------------------


  DATA:
        slices TYPE RSPLS_S_DS_ALL_DT,
        slicesc TYPE RSPLS_S_DS_ALL,
        sl_data TYPE RSPLS_T_DS_DT,
        fl1 TYPE LINE OF RSPLS_S_DS_ALL_DT-T_DS,
        tl1 TYPE LINE OF RSPLS_S_DS_ALL-T_DS,
        fl2 TYPE LINE OF RSPLS_S_DS_ALL_DT-T_DS_FIELD,
        tl2 TYPE LINE OF RSPLS_S_DS_ALL-T_DS_FIELD,
        fl3 TYPE LINE OF RSPLS_S_DS_ALL_DT-T_DS_RANGE,
        tl3 TYPE LINE OF RSPLS_S_DS_ALL-T_DS_RANGE.

  FIELD-SYMBOLS:
        <slice> LIKE LINE OF sl_data.

  CALL FUNCTION 'RSPLSDS_PLDS_LOAD'
    EXPORTING
      I_INFOPROV = infoprov
      I_READONLY = ''
    IMPORTING
      E_S_DS_DT  = slices.

  LOOP AT slices-T_DS ASSIGNING <slice> WHERE DSNR = DS_NMBR.
    <slice>-USED = ACTIVE.
  ENDLOOP.

  MOVE-CORRESPONDING slices-S_DS_HEAD TO slicesc-S_DS_HEAD.
  LOOP AT slices-T_DS INTO fl1.
    MOVE-CORRESPONDING fl1 TO tl1.
    APPEND tl1 TO slicesc-T_DS.
  ENDLOOP.
  LOOP AT slices-T_DS_FIELD INTO fl2.
    MOVE-CORRESPONDING fl2 TO tl2.
    APPEND tl2 TO slicesc-T_DS_FIELD.
  ENDLOOP.
  LOOP AT slices-T_DS_RANGE INTO fl3.
    MOVE-CORRESPONDING fl3 TO tl3.
    APPEND tl3 TO slicesc-T_DS_RANGE.
  ENDLOOP.

  CALL FUNCTION 'RSPLSDS_PLDS_SAVE'
    EXPORTING
      I_INFOPROV         = infoprov
      I_DO_DEQUEUE       = ''
      I_USE_DS_ALL       = 'X'
      I_S_DS_ALL         = slicesc
   IMPORTING
     E_RETURN           = E_RETURN.

ENDFUNCTION.


Деблокировал ФМ для функций планирования.
И сделал 2 фоксовские функции для активации и деактивации среза путем вызова этого ФМ.

В начале последовательности планирования вызываю функцию деактиваци, в конце - функцию активации.

Важно: вызов функции активации/деактивации должен быть в отдельно от других функций планирования, иначе не подхватывает изменение среза!!

Удачи!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 18:24 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, сен 15 2006, 13:08
Сообщения: 55
LadyWind написала:
Tomcat написал(а):
LadyWind написала:
Цитата:
2.Датаслайс (при необходимости изменения данных функцией, отключать/включать его абапом)
Вот где тот абаперский модуль, что его отключает? :lol: Как зовется-то? :lol:

См. ФМ RSPLSDS_PLDS*
Мучались. Много. Съели не один мозг. Прошерстили множество ресурсов. Но так и не осилили включение/отключение срезов ака dataslice в BW 7.0 через ФМ для IP, ибо
- классы, а не ФМ (меняет галочку в табличке, но не более)
- состояние датаслайса буферизуется и не меняется, пока не разлогиниваешься из IP.

люди, ну неужели косяк? неужели в 7.0 это почти бесполезная игрушка? :evil:

Нужно: открываешь рабочую книжку с планируемым запросом - датаслайс включен, нажимает на кнопку с последовательностью - датаслайс отключается, выполняется некая функция, датаслайс включается.

Странно, у нас на одном из проектов вроде нормально работает. По началу тоже срабатывал только после выхода/входа, но потом нашли как сделать что-то вроде commit после переключения датаслайса.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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