Текущее время: Пн, июл 21 2025, 06:18

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


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

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


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

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