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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Обновление показателей в цели данных по условию
СообщениеДобавлено: Вт, фев 03 2009, 13:53 
Начинающий
Начинающий

Зарегистрирован:
Чт, дек 06 2007, 19:15
Сообщения: 13
Добрый день!
BW 3.5
Есть следующая проблема.
Признак объявлен как цель данных, в него через гибкое обновление загружаются данные.
Часть показателей/признаков в цели данных должна обновляться только по условию, т.е. если условие не срабатывает, то в признаке должно остаться прежнее значение. Т.о. метод SKIP_RECORDS (и его ABAP-аналоги) не применим.

Пытался сделать следующее. Режим обновления - перезапись, для каждого условно-обновляемого показателя обновление по подпрограмме типа:

Code:
PROGRAM UPDATE_ROUTINE.
*$*$ begin of global - insert your declaration only below this line  *-*
* TABLES: ...
* DATA:   ...

*$*$ end of global - insert your declaration only before this line   *-*
*
………………

*$*$ begin of routine - insert your code only below this line        *-*
* fill the internal table "MONITOR", to make monitor entries
    if FLAG = 0.
       RETURNCODE = 1.
       exit.
    else.
       RESULT = COMM_STRUCTURE-/BIC/ZDUMMY.
       RETURNCODE = 0.
    endif.
* if the returncode is not equal zero, the result will not be updated
*  RETURNCODE = 0.
* if abort is not equal zero, the update process will be canceled
  ABORT = 0.

*$*$ end of routine - insert your code only before this line         *-*
*


При запуске загрузки вылетает с сообщением:

Code:
В подпрогр. обновления в перезаписанном реж. КОД ВОЗВРАТА<> 0 недопуст.
№ сообщения RSAU492

Diagnosis
The return code was set to <> 0 in routine 'XXXXXXXXXX', but the corresponding data field is updated with MOVE. You therefore can not prevent the update of a single data field for certain key values.


Вобщем, по отдельности поля обновлять не хочет :(

Подскажите, можно ли реализовать желаемое каким-либо еще способом.

Остались еще экстремальные варианты (типа перед обновлением считать текущее значение в ЦД), но хотелось бы обойтись без них...


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

Зарегистрирован:
Вт, дек 23 2008, 17:09
Сообщения: 315
Рискну предположить, что помочь может Account model:
http://help.sap.com/saphelp_nw04/helpdata/en/0f/903d41d4cc4c0de10000000a1550b0/content.htm


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Обновление показателей в цели данных по условию
СообщениеДобавлено: Вт, фев 03 2009, 17:33 
Специалист
Специалист

Зарегистрирован:
Чт, фев 24 2005, 17:48
Сообщения: 160
Откуда: Красногорск
Т.к. пишеться вся строка и то как Вы настроите UR так оно и будет, то собственно от этого и пляшите...

либо:
- читаете текущие значения из ЦД и пишети их (ИМХО, ODS в качестве ЦД будет наиболее оптимально, а так по ситуации)
- account model
- модификация модели (вариант мальчики налево\ девочки право) - т.е. перед вашей ЦД поставить 2-3 ЦД которые заполняются по условиям и отдают данные в нужные показатели конечной ЦД (тут конечно могут быть свои траблы, в зависимости как данные могут меняться, но как вариант может сработать)
- создание собственных инфо-источников << по сути, предыдущий вариант, вид в профиль... (но почему то, у меня ощущение, что у Вас там всё на дельтах, и эту задачку Вам прийдеться решать самостоятельно...)


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

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


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

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


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

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