Текущее время: Пт, июн 07 2024, 14:44

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


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

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


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

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