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

Часовой пояс: 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
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Попробуй так:

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
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Так код, который я выслал изначально и изменяет статус поля, чтобы потом сделать его изменение.
Ты также делала?

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить 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
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Когда-то давно работало :)
Видимо, тогда надо смотреть где добавляются записи в эту таблицу и уже там делать махинации со статусами для твоего поля с помощью неявных энхансментов :)
Вот ту например:
FIELDSELECTION_SFAC_READ (LCL_MIGO_SCREENMODIFICATION)

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


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

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
У тебя дампит на этом операторе?
<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
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Я в отладчике пробовал изменять, получалось.

Еще как вариант - записывать изменения по позициям в атрибут класса, или в 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 часа


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

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


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

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