Текущее время: Пт, июл 18 2025, 08:45

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Обработка message в screen processing
СообщениеДобавлено: Ср, май 03 2006, 11:01 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 16 2005, 08:03
Сообщения: 14
Пол: Мужской
Привет, всем!

У меня такая проблема:

Я хочу запретить удаление сбытового заказа при определенных условиях.
Все необходимые проверки я делаю в USEREXIT_SAVE_DOCUMENT_PREPARE (SAPMV45A).
При вызове message eXXX(YYY) внутри этого user-exit'а при удалении сбытового заказа (Меню->Торговый документ->Удалить)
Программа вываливается в дамп
"Screen: Illegal message"

Т.е. системе не нравиться, что я вызываю message типа "E" в обработке "EXIT_COMMAND" эрана програмы.

В данном случае проходят типы "A", "S" и "X". "A" и "X" мне не подходят так они прерывают программу, а мне надо вернуть результат операции. "S" в принипе подходит, но это сообщение ничего не запрещает, и мне нужна дополнительная обработка запрета удаления заказа.

Кто-нибудь знает, как можно запретить дальнейшую обработку удаления сбытового заказа в указанном user-exit'e?

Может есть ещё какие-нибудь способы вызовов message, которые позволяли бы отработывать и данной ситуации?

Помогите пожалуйста советом.
Вопрос срочный и важный...


Заранее большое спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 12:20 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
А после сообщения LEAVE TO SCREEN <нач.экран заказа> не поможет? B VA02 вроде либо 102, либо 4001 если на этом же заказе.
Сам подобного не делал, предположение.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 13:46 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 16 2005, 08:03
Сообщения: 14
Пол: Мужской
Aval написал:
А после сообщения LEAVE TO SCREEN <нач.экран заказа> не поможет? B VA02 вроде либо 102, либо 4001 если на этом же заказе.
Сам подобного не делал, предположение.


Поможет, но только для VA02.
Теперь мне надо ещё удалять через BAPI_SALESORDER_CHANGE
(sd_head_x_ls-updateflag = 'D'.)
Там уже это не проходит... -(

В программах условий копирования и переноса данных (VOFM) есть такой управляющих элемент как BP_SUBRC. Устанавливаешь значение например '4' для него и все. Перенос данных уже не отработает и вернет все сообщения, которые были там вызваны.
Здесь, я такого аналога не нашел... -(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 14:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
а если попробовать поставить проверки в USEREXIT_CHECK_XVBAP_FOR_DELET(MV45AFZB), если не ошибаюсь и для всех позиции заказа там определить US_EXIT = 'X', то заказ не будет удален...
или в USEREXIT_DELETE_DOCUMENT(MV45AFZZ)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 14:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 01 2004, 07:44
Сообщения: 174
ну например

Code:
CALL FUNCTION 'POPUP_DISPLAY_TEXT_WITH_PARAMS'
  EXPORTING
      popup_title          = '...'
      text_object          = '...'
  IMPORTING
      cancelled            = lf_answer
  TABLES
      parameters           = lt_params.
IF lf_answer EQ space.
* возврат к редактированию документа
  SET SCREEN sy-dynnr.      "4001
  CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
    EXPORTING 
          functioncode = '=ENT1'.
  LEAVE SCREEN.
ENDIF.

_________________
Жизнь прекрасна! Если правильно подобрать антидепрессанты...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, май 03 2006, 14:18 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, ноя 16 2005, 08:03
Сообщения: 14
Пол: Мужской
flipper написал(а):
а если попробовать поставить проверки в USEREXIT_CHECK_XVBAP_FOR_DELET(MV45AFZB), если не ошибаюсь и для всех позиции заказа там определить US_EXIT = 'X', то заказ не будет удален...
или в USEREXIT_DELETE_DOCUMENT(MV45AFZZ)



Работает! Спасибо!!
Оказывается не там искал совсем...


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

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


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

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


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

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