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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Зацикливание при ошибочно введеном значении в поле экрана, созданного ScreenPainter-ом
СообщениеДобавлено: Чт, ноя 24 2011, 10:16 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2011, 11:48
Сообщения: 12
Откуда: Украина
Пол: Мужской
Ситуация такова:
Есть экран, который разработан ScreenPainter-ом. На нем поля. Поля на экране берутся из переменной типа структура. Эта структура объявлена в программе.
Проверка корректности введенных пользователем данных происходит с помощью конструкций chain - в PBO.

На некоторых копьютерах, если было неправильное значение поля(на уровне введенных символов, например в числовом поле - точка как разделитель добной части вместо запятой), то выдается сообщение "Неправильное числовое значение", Даже если потом значение было исправлено, происходит как бы зацикливание: покинуть поле уже невозможно- только по кнопке "Назад" на стандарной САПовской панели инструментов.

Из нескольких провернных компьютеров только один такой был обнаружен. Причем на нем же пытались войти в систему САП под другим логином - не помогло.
На других машинах все нормально - к примеру для числовых полей выдается сообщение " Ввод должен соответствовать форме ___.___~,___" и после исправления значения все благополучно работает дальше.

Т.е. даже разный текст сообщения при ошибке в одном и том же поле.

Пытались решить проблему такими методами:
1. Анализ настроек пользователя в САП и Windows - не помогло.

2. Ипользовали в качестве полей для экрана поля из структуры, объявленной в Соваре данных - помогло, но эти поля не проверялись в chain. Сделали предположение, что проблема именно в этих блоках. Отключили соответствующие блоки chain - помогло даже для тех полей, что были описаны в программе, а не СД. Сделали Вывод- что проблема не в том, где описана структура для полей, а именно в блоках Chain.
Но проверку все же нужно делать. Понятно, что можно ее реализовать посредством подпрограммы, но все же хотелось бы оставить стандартное поведение при ошибках.

Code:
PROCESS AFTER INPUT.
   MODULE Exit_0200  AT EXIT-COMMAND.
    ...

   chain.
      field: RecoveryDoc-Oil_qnt , RecoveryDoc-Oil_massa.
      module Check_oil. on chain-input.
   endchain .

   MODULE USER_COMMAND_0200.

    ....

MODULE Check_Oil INPUT.
  perform Check_2DependFields
      using RecoveryDoc-Oil_Qnt  RecoveryDoc-Oil_Massa
              'Поля "Доливка масла-кількість"  та "Вага" заповнюютья тільки разом!'.
ENDMODULE.     

form Check_2DependFields  using fieldValue1 fieldValue2 MessageText.
  if   ( fieldValue1  is initial and
         fieldValue2  is initial )
    or ( fieldValue1  is not initial and
         fieldValue2  is not initial ) .
    return.
  endif.
  message MessageText type 'E' display like 'A'.
endForm.

_________________
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код,
понятный людям


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зацикливание при ошибочно введеном значении в поле экрана, созданного ScreenPainter-ом
СообщениеДобавлено: Чт, ноя 24 2011, 10:23 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
SAPGUI на проблемном компьютере обновлять пробовали? Какая сейчас версия и patch-уровень стоит?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зацикливание при ошибочно введеном значении в поле экрана, созданного ScreenPainter-ом
СообщениеДобавлено: Чт, ноя 24 2011, 11:25 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2011, 11:48
Сообщения: 12
Откуда: Украина
Пол: Мужской
SAPGUI 0НЕ обновляли . Про patch-уровень отвечу позже- сейчас пока нет доступа к тому компьютеру.

_________________
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код,
понятный людям


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зацикливание при ошибочно введеном значении в поле экрана, созданного ScreenPainter-ом
СообщениеДобавлено: Чт, ноя 24 2011, 11:30 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Code:
message MessageText type 'E' display like 'A'.
можно попробовать сделать без display like 'A':
Code:
message MessageText type 'E'.


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

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


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

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


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

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