Текущее время: Ср, июл 23 2025, 23:02

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Редактируемый ALV проверка значений
СообщениеДобавлено: Ср, фев 15 2012, 11:49 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 10 2007, 20:37
Сообщения: 72
Добрый день.

Для проверки значений использую событие data_changed
Если значение неверно, то добавляю сообщение в лог:
Code:
FORM alv0100_data_changed  USING io_data_changed TYPE REF TO cl_alv_changed_data_protocol.
  DATA:
    ls_good_cells                 TYPE lvc_s_modi,
    lv_error                      TYPE c,
    ls_msg                        TYPE symsg.

  FIELD-SYMBOLS:
    <ls_alv0100>                  LIKE LINE OF gt_alv0100.

  LOOP AT io_data_changed->mt_good_cells INTO ls_good_cells.
    CLEAR: lv_error, ls_msg.
    IF ls_good_cells-fieldname = 'VBELN_USL'.
      IF NOT ls_good_cells-value IS INITIAL.
        PERFORM check_serv_order USING ls_good_cells-value CHANGING lv_error
                                                                    ls_msg.
        IF lv_error = abap_true.
          CALL METHOD io_data_changed->add_protocol_entry
            EXPORTING
              i_msgid     = ls_msg-msgid
              i_msgty     = ls_msg-msgty
              i_msgno     = ls_msg-msgno
              i_msgv1     = ls_msg-msgv1
              i_msgv2     = ls_msg-msgv2
              i_msgv3     = ls_msg-msgv3
              i_msgv4     = ls_msg-msgv4
              i_fieldname = ls_good_cells-fieldname
              i_row_id    = ls_good_cells-row_id.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDLOOP.

ENDFORM. 

В PAI стоит вызов
Code:
CALL METHOD go_alv0100->check_changed_data
    IMPORTING
      e_valid = lv_error.
.

Если после ввода, пользователь жмет на кнопку, то проверка отрабатывает, но существование ошибок не отлавливается. Как "правильно" отловить ошибки, чтобы остановить выполнение PAI? Глобальные переменные использовать не хочется.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Редактируемый ALV проверка значений
СообщениеДобавлено: Ср, фев 15 2012, 12:46 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Rednada написал(а):
Добрый день.

В PAI стоит вызов
Code:
CALL METHOD go_alv0100->check_changed_data
    IMPORTING
      e_valid = lv_error.
.

Если после ввода, пользователь жмет на кнопку, то проверка отрабатывает, но существование ошибок не отлавливается. Как "правильно" отловить ошибки, чтобы остановить выполнение PAI? Глобальные переменные использовать не хочется.


Что значит, "ошибка не отлавливается"?
Code:
      e_valid = lv_error.

e_valid вернет X, если ошибок нет, и пусто, если есть ошибки. По названию переменной предположу, что вы проверяете наоборот.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Редактируемый ALV проверка значений
СообщениеДобавлено: Ср, фев 15 2012, 14:36 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 10 2007, 20:37
Сообщения: 72
Спасибо!


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

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


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

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


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

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