Текущее время: Вс, июн 22 2025, 22:16

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




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: BPS: история изменений транзакционного куба.
СообщениеДобавлено: Вт, авг 12 2008, 14:31 
Специалист
Специалист

Зарегистрирован:
Пн, авг 06 2007, 14:59
Сообщения: 102
Такой банальный (может быть) вопрос: Есть ли в стандарте какие-то способы отслеживать историю изменений данных в транзакционном кубе при вводе данных вручную (кто, что и когда ввел)? В обычном кубе ведь все легко отслеживается по запросам, тут это не менее важно. Кто как реализует (и реализует ли) подобный функционал?

Неужто приходится "вручную" записывать данные о времени ввода и пользователе в куб?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BPS: история изменений транзакционного куба.
СообщениеДобавлено: Вт, авг 12 2008, 14:35 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 17:17
Сообщения: 133
RiTm написал(а):
Неужто приходится "вручную" записывать данные о времени ввода и пользователе в куб?

Так и делаем. Не вручную, конечно, а деривацией.


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

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
Когда в транзакционный куб вносятся данные, то в него ложится только дельта. Так что ответить на вопрос что вы можете, а вот кто и когда - это более сложный вопрос. Обычно считается, что каждый участник планирования отвечает за свою область данных, и только он может менять там данные. Но поскольку BPS сплошь и рядом применяют с извращениями, то и появляются такие вопросы - поэтому ABAP вам в помощь.

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BPS: история изменений транзакционного куба.
СообщениеДобавлено: Вт, авг 12 2008, 14:49 
Специалист
Специалист

Зарегистрирован:
Пн, авг 06 2007, 14:59
Сообщения: 102
Ярослав написал(а):
RiTm написал(а):
Неужто приходится "вручную" записывать данные о времени ввода и пользователе в куб?

Так и делаем. Не вручную, конечно, а деривацией.

Ярослав, спасибо за ответ. То есть заводите свои признаки в кубе, вроде "дата ввода" и "имя пользователя" и заполняете деривацией при вводе данных? В принципе, я это и имел ввиду под "вручную".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 15:34 
Специалист
Специалист

Зарегистрирован:
Пн, авг 06 2007, 14:59
Сообщения: 102
Soulsurfer написал(а):
Когда в транзакционный куб вносятся данные, то в него ложится только дельта. Так что ответить на вопрос что вы можете, а вот кто и когда - это более сложный вопрос. Обычно считается, что каждый участник планирования отвечает за свою область данных, и только он может менять там данные. Но поскольку BPS сплошь и рядом применяют с извращениями, то и появляются такие вопросы - поэтому ABAP вам в помощь.


Soulsurfer, дельта - само собой. И разделение доступа - это правильно. Но на это нельзя полагаться для отслеживания изменений, как мне кажется. У меня всегда должна быть возможность узнать, как и когда конкретные данные попали в систему. Пользователи, как показывает практика поддержки, врут. А вот скрин из rsmo не опровергнешь.

Не считаю, что это извращение, скорее нормальная практика в любой системе.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BPS: история изменений транзакционного куба.
СообщениеДобавлено: Вт, авг 12 2008, 15:39 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 17:17
Сообщения: 133
RiTm написал(а):
То есть заводите свои признаки в кубе, вроде "дата ввода" и "имя пользователя" и заполняете деривацией при вводе данных?
Да, так.


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

Зарегистрирован:
Вт, янв 30 2007, 17:10
Сообщения: 488
RiTm написал(а):
Soulsurfer написал(а):
Когда в транзакционный куб вносятся данные, то в него ложится только дельта. Так что ответить на вопрос что вы можете, а вот кто и когда - это более сложный вопрос. Обычно считается, что каждый участник планирования отвечает за свою область данных, и только он может менять там данные. Но поскольку BPS сплошь и рядом применяют с извращениями, то и появляются такие вопросы - поэтому ABAP вам в помощь.


Soulsurfer, дельта - само собой. И разделение доступа - это правильно. Но на это нельзя полагаться для отслеживания изменений, как мне кажется. У меня всегда должна быть возможность узнать, как и когда конкретные данные попали в систему. Пользователи, как показывает практика поддержки, врут. А вот скрин из rsmo не опровергнешь.

Не считаю, что это извращение, скорее нормальная практика в любой системе.


/OFFTOPE MODE ON В нашем форуме не существует

_________________
Карма - это суперпозиция граблей, на которые мы уже успели наступить, но которые еще не долетели...


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

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
Дружно читаем How to Line Items in BW-BPS / Line Items in Business Intelligence (BI) Integrated Planning (PDF 200 KB) и, если вдруг интересно How to Line Items in BW-BPS (PDF 191KB).


2 Soulsurfer (к офтопику).
Все советские привычки немцы давно переняли :lol:, а мы как обычно, опомнились, и давай все взад возвращать :).

И, для того, чтобы написать 3 строчки на абапе, абапер не нужен, тем более, что все разжевано.

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 18:45 
Специалист
Специалист

Зарегистрирован:
Пн, авг 06 2007, 14:59
Сообщения: 102
2 G: отлично, сенкс! Теперь ясно, что стандарта нет, раз сами хаутушку написали. Зато все разжевано уже. )

Только не совсем понял, нафига генерить GUID каждый раз? Можно же по идее просто сохранять время и username.


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

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
RiTm написал(а):
2 G: отлично, сенкс! Теперь ясно, что стандарта нет, раз сами хаутушку написали. Зато все разжевано уже. )

Только не совсем понял, нафига генерить GUID каждый раз? Можно же по идее просто сохранять время и username.


Да, мы так и делаем, сохраняем только время и пользователя.
GUID же может быть полезен для чистки данных в кубе, тем более, что:
Цитата:
A characteristic of the type Char with length 32 without a check table or text table (for example, 0BBP_OBGUID) is suitable for this, which can be filled with a GUID (globally unique identifier) during characteristic derivation. Alternatively, this unique identification can also be achieved by pulling a number from a number range or similar techniques.

Т.е. в него можно писать все, что угодно. А по производительности, как я понял, для этого признака S-таблица не создается, правда в D-таблицу данные все равно попадут, и основная проблема при ведении логов остается -- рост измерения, по сути 1:1 получается размер таблицы фактов и таблицы измерения.

_________________
Глаза боятся, а руки крюки


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

Зарегистрирован:
Ср, авг 18 2004, 10:59
Сообщения: 754
Откуда: Moscow
RiTm написал(а):
2 G: отлично, сенкс! Теперь ясно, что стандарта нет, раз сами хаутушку написали. Зато все разжевано уже. )

Только не совсем понял, нафига генерить GUID каждый раз? Можно же по идее просто сохранять время и username.


Code:
FUNCTION Z_BPS_DERIVE_USERDATETIME.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(I_AREA) TYPE  UPC_Y_AREA
*"     REFERENCE(ITO_CHA) TYPE  UPC_YTO_CHA
*"     REFERENCE(ITO_SOURCE) TYPE  UPC_YTO_CHA
*"     REFERENCE(ITO_TARGET) TYPE  UPC_YTO_CHA
*"  CHANGING
*"     REFERENCE(XS_CHAS) TYPE  ANY
*"  EXCEPTIONS
*"      FAILED
*"----------------------------------------------------------------------

DATA: l_uname(12)   TYPE c,
      l_datum       TYPE D,
      l_uzeit       TYPE T,
      l_timestm(14) TYPE C.

FIELD-SYMBOLS: <uname>,  <datum>, <uzeit>, <timestmp>.

ASSIGN COMPONENT 'ZUSER' OF STRUCTURE xs_chas TO <uname>.
IF sy-subrc <> 0. RAISE FAILED. ENDIF.

ASSIGN COMPONENT 'ZCHDATE' OF STRUCTURE xs_chas TO <datum>.
IF sy-subrc <> 0. RAISE FAILED. ENDIF.

ASSIGN COMPONENT 'ZCHTIME' OF STRUCTURE xs_chas TO <uzeit>.
IF sy-subrc <> 0. RAISE FAILED. ENDIF.

ASSIGN COMPONENT 'ZTIMESTM' OF STRUCTURE xs_chas TO <timestmp>.
IF sy-subrc <> 0. RAISE FAILED. ENDIF.

* derivation
l_uname = sy-uname.
<uname> = l_uname.
l_datum = sy-datum.
<datum> = l_datum.
l_uzeit = sy-uzeit.
<uzeit> = l_uzeit.
concatenate l_datum l_uzeit into l_timestm.
<timestmp> = l_timestm.

ENDFUNCTION.


Вот вам ФМ деривации. Никаких гуидов не нужно.
Всё уже украдено до вас :lol:

_________________
Фарш невозможно провернуть назад,
И мясо из котлет не восстановишь


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

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


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

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


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

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