Текущее время: Вт, апр 23 2024, 22:26

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


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

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


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

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