Текущее время: Пн, июн 23 2025, 02:21

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Чт, апр 22 2010, 19:17 
Начинающий
Начинающий

Зарегистрирован:
Чт, апр 22 2010, 18:41
Сообщения: 5
Пол: Мужской
Здравствуйте

Столкнулся с такой проблемой. Затребовали расширить ME51N пользовательскими полями. Расширил таблицу, добавил закладку, через user-exit все обрабатывается. Но беда в том, что одно из пользовательских полей должно быть обязательным для ввода. Обработку этого я делаю, сообщение об ошибке выдаю. Но...
Пользователь хочет, чтобы кроме сообщения об ошибке осуществлялся еще и переход на пользовательскую закладку и курсор устанавливался в незаполненное поле. Так, как это происходит со стандартными закладками. И вот тут - полный затык. Подскажите, если знаете, куда копать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Пт, апр 23 2010, 07:05 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
drow написал:
Здравствуйте

Столкнулся с такой проблемой. Затребовали расширить ME51N пользовательскими полями. Расширил таблицу, добавил закладку, через user-exit все обрабатывается. Но беда в том, что одно из пользовательских полей должно быть обязательным для ввода. Обработку этого я делаю, сообщение об ошибке выдаю. Но...
Пользователь хочет, чтобы кроме сообщения об ошибке осуществлялся еще и переход на пользовательскую закладку и курсор устанавливался в незаполненное поле. Так, как это происходит со стандартными закладками. И вот тут - полный затык. Подскажите, если знаете, куда копать?

Как и где Вы делаете обработку обязательности поля? Выставляете признак обязательности в свойствах поля? Обрабатываете обязательность в PAI? Закидываете в общий лог заявки?
"Полный затык" в чем именно, Вы смотрели как реализовано в стандарте то что Вам надо?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Пт, апр 23 2010, 09:44 
Начинающий
Начинающий

Зарегистрирован:
Чт, апр 22 2010, 18:41
Сообщения: 5
Пол: Мужской
Besa написал:
Как и где Вы делаете обработку обязательности поля? Выставляете признак обязательности в свойствах поля? Обрабатываете обязательность в PAI? Закидываете в общий лог заявки?
"Полный затык" в чем именно, Вы смотрели как реализовано в стандарте то что Вам надо?


Обработку обязательности делаю внутри юзер-экзита EXIT_SAPLMEREQ_005. Сообщение об ошибка закидываю в общий лог заявки (табличка EX_MESSAGES) в вызове этого экзита. Сообщение на экран выводится.
Затык в том, что мне надо в дополнение к выводу сообщения еще и перейти на соотв. поле в закладке пользовательских полей заявки. Вместо этого приложение оказывается на закладке Контировка (там, где указывается номер счета).
В стандарт смотреть пробовал. Но там все это зарыто настолько глубоко во фрэймворке, что полностью разобраться не получается. Нахожу пока только какие-то разрозненные куски, общего понимания нету. Потому и обратился за советом.

_________________
Мы пришли причинять добро и наносить пользу.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Пт, апр 23 2010, 17:07 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 10 2005, 10:21
Сообщения: 198
Пол: Мужской
Если добавляли свою вкладку, значит рисовали экран. А если на экране у поля сделать свойство input = required, то так как надо, не получится?

Хотя, млин, могут до вкладки и не дойти... тогда смотреть, долго и упорно, как у САПа...

_________________
Если программа заработала с первого раза, значит она написана принципиально неверно!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки  Тема решена
СообщениеДобавлено: Вс, апр 25 2010, 10:25 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Есть нота Note 310154 - ME21N/ME51N: Customer-specific check, generating error log.
Разобрал ее. Получилось сделать обработку ошибок как Вы хотите, но только для стандартных полей, что в заказе, что в заявке(хотя судя по пулу типов mmmfd, вроде бы можно для Z полей сделать, у меня не получилось).
То есть, щелкаете кнопку "проверить", показывается лог, выбираете в логе сообщение(я), жмете обработать, программа фокусируется на поле которое нужно (если выбрали несколько сообщений, то фокусирует по полям поочередно, по нажатию на энтер), в каком бы месте оно не находилось(экран, подэкран, алв ячейка).

В Вашем случаем могу предложить не совсем красивый вариант, но вроде работает.
Выставьте обязательность в свойствах Z поля. В ZXM02U05 напишите
Code:
if ...
INCLUDE mm_messages_mac.
mmpur_message 'E' 'ZPMI' '000' '' '' '' ''.
endif.

В этом случае, при проверке, по нажатию enter, программа перекинет на вкладку Доп данные(если конечно пользователь сам до нее не дошел), там уже будет работать стандартная навигация по полям, и уже не даст пользователю выйти с подэкрана, пока он не заполнит все поля обязательного ввода.
Не исключаю что есть более красивые решения.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Вт, апр 27 2010, 12:09 
Начинающий
Начинающий

Зарегистрирован:
Чт, апр 22 2010, 18:41
Сообщения: 5
Пол: Мужской
Besa написал:
Есть нота Note 310154 - ME21N/ME51N: Customer-specific check, generating error log.
Разобрал ее. Получилось сделать обработку ошибок как Вы хотите, но только для стандартных полей, что в заказе, что в заявке(хотя судя по пулу типов mmmfd, вроде бы можно для Z полей сделать, у меня не получилось).
То есть, щелкаете кнопку "проверить", показывается лог, выбираете в логе сообщение(я), жмете обработать, программа фокусируется на поле которое нужно (если выбрали несколько сообщений, то фокусирует по полям поочередно, по нажатию на энтер), в каком бы месте оно не находилось(экран, подэкран, алв ячейка).

В Вашем случаем могу предложить не совсем красивый вариант, но вроде работает.
Выставьте обязательность в свойствах Z поля. В ZXM02U05 напишите
Code:
if ...
INCLUDE mm_messages_mac.
mmpur_message 'E' 'ZPMI' '000' '' '' '' ''.
endif.

В этом случае, при проверке, по нажатию enter, программа перекинет на вкладку Доп данные(если конечно пользователь сам до нее не дошел), там уже будет работать стандартная навигация по полям, и уже не даст пользователю выйти с подэкрана, пока он не заполнит все поля обязательного ввода.
Не исключаю что есть более красивые решения.


Спасибо огромное. Буду разбирать ноту. Надеюсь, получится.

_________________
Мы пришли причинять добро и наносить пользу.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Вт, апр 27 2010, 14:59 
Начинающий
Начинающий

Зарегистрирован:
Чт, апр 22 2010, 18:41
Сообщения: 5
Пол: Мужской
Всем спасибо. Решилось через указанную выше ноту.

_________________
Мы пришли причинять добро и наносить пользу.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ME51N Переход на закладку пользовательских полей в случае ошибки
СообщениеДобавлено: Вт, апр 27 2010, 15:35 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
drow написал:
Всем спасибо. Решилось через указанную выше ноту.

Для Z полей сделали мапинг?


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

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


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

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


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

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