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

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


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

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


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

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