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

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


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

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


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

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