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

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


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

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


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

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