Текущее время: Пн, апр 29 2024, 17:52

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Ср, июл 31 2019, 16:04 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 91
Добрый день, добавила в MIGO поле, добавила его в MSEG
прописала ему логику выполнения, далее,
когда в методе IF_EX_MB_MIGO_BADI~LINE_MODIFY пытаюсь записать его с экрана в поле структуры go_item выходит сообщение MIGO050 поле GOITEM не готово для ввода

Если я делаю это в методе IF_EX_MB_MIGO_BADI~PAI_DETAIL, то значение просто теряется, поле на экране затирается.

Подскажите, пожалуйста, как считать, а главное записать введенное в MSEG, заранее спасибо


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 13:49 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Попробуй так:

assign ('(SAPLMIGO)lcl_migo_screenmodification=>c_input') to <c_input>.
assign ('(SAPLMIGO)lcl_migo_screenmodification=>t_fieldselection') to <fieldselection>.

" Выбираем шаблон по i_line_id
loop at <fieldselection> assigning <fs>.

assign component 'GLC' of structure <fs> to <id>.
if <id> = i_line_id.

" Так как field-symbol не типизирован, для поиска строки по значению name извращаемся через цикл
assign component 'TABLE' of structure <fs> to <table>.
loop at <table> assigning <line>.

assign component 'NAME' of structure <line> to <name>.

if <name> = '<ИМЯ_ПОЛЯ>'.
" Наконец-то добрались до нужного поля. Делаем его доступным для ввода.
assign component 'WORK' of structure <line> to <work>.
<work> = <c_input>.
exit.
endif.

endloop.
exit.
endif.

endloop.

" Меняем значение в cs_goitem
cs_goitem-<ИМЯ_ПОЛЯ> = <ЗНАЧЕНИЕ>.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 15:01 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 91
DED_MOROZ написал:
Попробуй так:

assign ('(SAPLMIGO)lcl_migo_screenmodification=>c_input') to <c_input>.
assign ('(SAPLMIGO)lcl_migo_screenmodification=>t_fieldselection') to <fieldselection>.

" Выбираем шаблон по i_line_id
loop at <fieldselection> assigning <fs>.

assign component 'GLC' of structure <fs> to <id>.
if <id> = i_line_id.

" Так как field-symbol не типизирован, для поиска строки по значению name извращаемся через цикл
assign component 'TABLE' of structure <fs> to <table>.
loop at <table> assigning <line>.

assign component 'NAME' of structure <line> to <name>.

if <name> = '<ИМЯ_ПОЛЯ>'.
" Наконец-то добрались до нужного поля. Делаем его доступным для ввода.
assign component 'WORK' of structure <line> to <work>.
<work> = <c_input>.
exit.
endif.

endloop.
exit.
endif.

endloop.

" Меняем значение в cs_goitem
cs_goitem-<ИМЯ_ПОЛЯ> = <ЗНАЧЕНИЕ>.


Спасибо за ответ, использовала, но система выпадает в дамп, так как я присваиваю значение параметру, который имеет статус "не изменяемо"


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 15:10 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Так код, который я выслал изначально и изменяет статус поля, чтобы потом сделать его изменение.
Ты также делала?

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 15:29 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 91
DED_MOROZ написал:
Так код, который я выслал изначально и изменяет статус поля, чтобы потом сделать его изменение.
Ты также делала?


Именно так, сама таблица имеет статус READ ONLY
t_fieldselection TYPE ty_t_fst READ-ONLY,


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 16:08 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Видимо там уже пропатченная версия, закрыли эту дырку с assign'ами.
Обсуждалось несколько лет назад на другом форуме.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 16:47 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Когда-то давно работало :)
Видимо, тогда надо смотреть где добавляются записи в эту таблицу и уже там делать махинации со статусами для твоего поля с помощью неявных энхансментов :)
Вот ту например:
FIELDSELECTION_SFAC_READ (LCL_MIGO_SCREENMODIFICATION)

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Чт, авг 01 2019, 22:39 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
У тебя дампит на этом операторе?
<work> = <c_input>.

Если да - попробуй так:
ASSIGN <c_input> TO <work>.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Пт, авг 02 2019, 07:30 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, дек 15 2017, 10:50
Сообщения: 91
DED_MOROZ написал:
У тебя дампит на этом операторе?
<work> = <c_input>.

Если да - попробуй так:
ASSIGN <c_input> TO <work>.


Пробовала - дампа нет, но и результата тоже. Дырка прикрыта эта, так уже не прокатывает после обновлений системы


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Пт, авг 02 2019, 09:16 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Я в отладчике пробовал изменять, получалось.

Еще как вариант - записывать изменения по позициям в атрибут класса, или в ABAP-память.
Потом использовать эти данные в MB_DOCUMENT_BADI и с помощью Z ФМ в update task обновлять нужные поля MSEG.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Пт, авг 02 2019, 09:39 
Специалист
Специалист

Зарегистрирован:
Чт, дек 02 2010, 08:37
Сообщения: 156
Может быть эти ссылки
https://sapboard.ru/forum/viewtopic.php?f=13&t=54796
http://www.learntips.net/how-to-create-a-custom-tab-for-migo-item-details/
помогут?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Добавлениев MIGO пользовательского поля
СообщениеДобавлено: Ср, авг 07 2019, 09:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Может я давно не расширял МИГО, не помню я таких проблем.

Попробуйте глянуть стандартный пример CL_EXM_IM_MB_MIGO_BADI и повторить его для своего случая.


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

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


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

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


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

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