Текущее время: Пт, мар 29 2024, 09:26

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Программное обновление атрибута
СообщениеДобавлено: Пн, июн 15 2009, 15:00 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 17:11
Сообщения: 48
Здравствуйте!

Как программно обновить атрибуты бизнес объекта?

Т.е. у пользователя висит задача. Из задачи он вызывает определенные ФМы, которые изменяют записи в таблице. Атрибут является полем данной таблице. После изменения записи в таблице значение атрибута остается неизменным. Можно ли как-то его обновить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Пн, июн 15 2009, 16:25 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Macro Instructions for Accessing Objects, Attributes and Methods

Думаю, что помогут макросы SWC_REFRESH_OBJECT либо SWC_SET_PROPERTIES. И не забудьте потом из контейнера задачи в контейнер потока инстанцию передать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Вт, июн 16 2009, 10:45 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 17:11
Сообщения: 48
Спасибо за ответ.

John Doe написал:
Macro Instructions for Accessing Objects, Attributes and Methods

Думаю, что помогут макросы SWC_REFRESH_OBJECT либо SWC_SET_PROPERTIES. И не забудьте потом из контейнера задачи в контейнер потока инстанцию передать.


Пробовал SWC_REFRESH_OBJECT. Не помогло.


Цитата:
И не забудьте потом из контейнера задачи в контейнер потока инстанцию передать.


А можно подробнее как это сделать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Вт, июн 16 2009, 12:46 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
На шаге нажать "Поток данных(существует)" и проверить, что _WI_Object_ID из задачи возвращается обратно в инстанцию БО в потоке


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Ср, июн 17 2009, 12:41 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 02 2005, 15:49
Сообщения: 91
Откуда: Белгород
Пол: Мужской
nuke написал(а):
Здравствуйте!

Как программно обновить атрибуты бизнес объекта?

Т.е. у пользователя висит задача. Из задачи он вызывает определенные ФМы, которые изменяют записи в таблице. Атрибут является полем данной таблице. После изменения записи в таблице значение атрибута остается неизменным. Можно ли как-то его обновить.

Мне кажется, для начала необходимо проверить виртуальный атрибут или нет.
Virtual attributes are used, for example, to provide object references,
language-dependent texts, time-dependent values, currency amounts or
net/gross values.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Ср, июн 17 2009, 12:49 
Ассистент
Ассистент

Зарегистрирован:
Пт, ноя 30 2007, 17:11
Сообщения: 48
Атрибут типа "Поле базы данных" (не виртуальный).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное обновление атрибута
СообщениеДобавлено: Вт, сен 29 2009, 06:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, янв 21 2005, 12:40
Сообщения: 371
Пол: Мужской
Ну почему бы не подправить стандартногенеримую процедуру по заполнению данного атрибута.
Стандартно проверяется - заполнен ли он. Если нет то происходит считываение из базы.
Напр: BUS1001006
Code:
GET_TABLE_PROPERTY MARA.                                             
DATA SUBRC LIKE SY-SUBRC.                                             
* Fill TABLES MARA to enable Object Manager Access to Table Properties
  PERFORM SELECT_TABLE_MARA USING SUBRC.                             
  IF SY-SUBRC NE 0.                                                   
    EXIT_OBJECT_NOT_FOUND.                                           
  ENDIF.                                                             
END_PROPERTY.                                                         


Code:
FORM SELECT_TABLE_MARA USING SUBRC LIKE SY-SUBRC.     
* Select single * from MARA, if OBJECT-_MARA is initial
  IF OBJECT-_MARA-MANDT IS INITIAL                     
  AND OBJECT-_MARA-MATNR IS INITIAL.                   
    SELECT SINGLE * FROM MARA CLIENT SPECIFIED         
        WHERE MANDT = SY-MANDT                         
        AND MATNR = OBJECT-KEY-MATERIAL.               
    SUBRC = SY-SUBRC.                                 
    IF SUBRC NE 0. EXIT. ENDIF.                       
    OBJECT-_MARA = MARA.                               
  ELSE.                                               
    SUBRC = 0.                                         
    MARA = OBJECT-_MARA.                               
  ENDIF.                                               
ENDFORM.                                               


Вам же нужно данную проверку убрать.

Или же следующие пути:
- Создать виртуальный атрибут
- Создать метод, возвращающий значение данного атрибута так, как нужно


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

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


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

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


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

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