Текущее время: Пт, июл 11 2025, 12:15

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Вс, авг 31 2014, 02:36 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Добрый день!
Возникла трудность с заполнением значениями по-умолчанию полей таблицы GLOFAAASSETDATA при создании карточки.
Например, проставить автоматом значение ОКОФ в зависимости от класса.
В user-exit-ах нет, через assign вроде бы связывается, но поля как-то очищаются.
Пробовал вызывать метод GETDATA типа if_glo_master_data_mngr, оно выдает ДАМП связанный с тем что изначально там NUL значение.
Думаю, как-то внести корректировки в логику обработки экранов программы SAPLGLO_FIAA_SCREENS.
Пробовал через механизм расширения в SAPLGLO_FIAA_SCREENS осуществить, но не получается, так как, предполагаю, специальных мест расширения там не предусмотрено.
Подскажите, пожалуйста, сталкивались ли вы с подобной задачей? Если да, то как ее решали?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Ср, сен 03 2014, 15:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Up!
Неужели не предусмотрен стандартный механизм обработки логики специфичных для страны экранов?
Не хотелось бы решить проблему с помощью изменения непосредственно самих программ/экранов.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Пт, сен 05 2014, 11:13 
Специалист
Специалист

Зарегистрирован:
Ср, дек 09 2009, 12:37
Сообщения: 142
Мне кажется, что вы в правильно направлении пошли. Надо в user-exit-е провести ассигнование ASSIGN ('(SAPLGLO_FIAA_SCREENS)GO_ASSET_MANAGER') TO некоторой переменной с ссылочным типом if_glo_master_data_mngr, и дальше пользоваться этим менеджером, чтобы получить текущее значение поля или чтобы установить новое значение.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Пт, сен 05 2014, 14:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Так пробовали. Определили:
<go_asset_manager> TYPE REF TO if_glo_master_data_mngr,
ls_asset_data TYPE glo_s_asset_data

Далее, в инклуде ZXAISU04 ставим такой код:


ASSIGN ('(SAPLGLO_FIAA_SCREENS)GO_ASSET_MANAGER') TO <go_asset_manager>.
IF <go_asset_manager> IS ASSIGNED AND
NOT ( <go_asset_manager> IS INITIAL ).
CALL METHOD <go_asset_manager>->get_data "считываются данные
RECEIVING
rs_data = ls_asset_data.

*-- тут изменяем ls_asset_data.
ls_asset_data-GLO_RUS_OKOF = '111111111'.

TRY.
CALL METHOD <go_asset_manager>->set_data "запись данных
EXPORTING
is_data = ls_asset_data.
CATCH cx_faa_asset .
ENDTRY.
ENDIF.

Но все равно, поле экрана очищает проставленное таким образом значение.
Предполагаю, согласно логике экрана программы SAPLGLO_FIAA_SCREENS,
эти поля очищаются в момент отображения.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Пт, сен 05 2014, 15:48 
Специалист
Специалист

Зарегистрирован:
Ср, дек 09 2009, 12:37
Сообщения: 142
Может нужно еще какой-то метод или свойство менеджера использовать, чтобы запихнуть устанавливаемое значение в базу данных.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA
СообщениеДобавлено: Пт, сен 05 2014, 16:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
Вроде нашли места для имплицитной опции расширения.
в форме init_asset_manager инклуда LGLO_FIAA_SCREENSF03.
там присваиваем значение по-умолчанию, в результате при первом отображении экрана эти значения проставляются, но после нажатия Ентер очищаются и исчезают. Присвоение значения осуществляем напрямую в GLOFAAASSETDATA, а также с помощью метода set_data, все равно очищаются. Продолжаем искать полностью рабочий способ. Кажется, уже недалеко до решения)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: На счет значений по-умолчанию для полей из GLOFAAASSETDATA  Тема решена
СообщениеДобавлено: Пт, сен 12 2014, 08:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 15 2007, 10:40
Сообщения: 172
В общем, решили задачу.
С помощью формы get_asset_data. В конце этой формы есть возможность расширения. Там поставили код типа:

IF SY-TCODE = 'AS01' or
SY-TCODE = 'AS11'.

IF cs_data-GLO_RUS_OKOF IS INITIAL.
cs_data-GLO_RUS_OKOF = '111111111'.
ENDIF.

ENDIF.

А также, дополнительные проверки можно поставить в точке расширения в начале формы set_asset_data.


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

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


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

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


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

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