Запрет изменения полей с помощью BADI_LE_SHIPMENT~AT_SAVE

Автор NastyLiin, Грудень 15, 2017, 08:51:57 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

NastyLiin

Добрый день. Есть следующая задача: закрыть для редактирования в транспортировке пункт отгрузки, вид отгрузки и вид тс. То есть смысл в том, что после создания транспортировки пользователь может ее редактировать, но некоторые из изменений считаются критичными и пользователь не должен их менять. Речь идет о транзакции VT02N.
Посоветовали использовать расширение V56BMOD (EXIT_SAPLV56B_001) или делать проверку при сохранении с помощью BADI_LE_SHIPMENT~AT_SAVE, но я не знаю, как это делается. Прошу о помощи, спасибо большое!

Uukrul

Цитата: NastyLiin від Грудень 15, 2017, 08:51:57 ДП
Добрый день. Есть следующая задача: закрыть для редактирования в транспортировке пункт отгрузки, вид отгрузки и вид тс. То есть смысл в том, что после создания транспортировки пользователь может ее редактировать, но некоторые из изменений считаются критичными и пользователь не должен их менять. Речь идет о транзакции VT02N.
Мне кажется больше подходит userexit в модуле MV56AFZZ так есть точка расширения которая прямо вроде как ваш случай, т.е. можно управлять модификацией полей на экране транзакций.

*&---------------------------------------------------------------------*
*&      Form  USEREXIT_FIELD_MODIFICATION
*&---------------------------------------------------------------------*
*       This routine can be used to modify the attributes              *
*       of screen fields.                                              *
*       It is performed for each screen field.                         *
*                                                                      *
*       If an attribute is changed,                                    *
*       the field FMOD-CONTROL must be set to FMOD-ON.                 *
*                                                                      *
*       This routine is called by the routine FELD_AUSWAHL.            *
*----------------------------------------------------------------------*
FORM userexit_field_modification.

ENDFORM.                               " USEREXIT_FIELD_MODIFICATION

Что касается помочь, вы барышня как ABAP знаете? Если нет, тогда помочь вам не получиться, начиная с того, что необходимо иметь в вашей системе ключ разработчика, чтобы можно было что-то писать. Так что рекомендую обратиться к абаперу, дать ему этот экзит и он скорее всего справится лучше.

PS: Да, рекомендации использовать AT_SAVE, как-то не кошерно выглядит.

NastyLiin

Спасибо большое за ответ! Я пока новичок, начинаю потихоньку разбираться в этом и поступило такое вот задание. Если располагаете временем, не могли бы дать более подробное описание того, как работать с userexit? А почему рекомендация использовать at_save "выглядит не кошерно"?

Uukrul

Цитата: NastyLiin від Грудень 16, 2017, 11:21:20 ПП
Спасибо большое за ответ! Я пока новичок, начинаю потихоньку разбираться в этом и поступило такое вот задание. Если располагаете временем, не могли бы дать более подробное описание того, как работать с userexit? А почему рекомендация использовать at_save "выглядит не кошерно"?
Ну давайте тогда начнем сначала. Вы программировать умеете? На каких языках? Знаете ли основы разработки на ABAP в системе SAP ECC?

NastyLiin

Азы программирования знаю, так сказать. Phyton, C#. По поводу ABAP только-только начинаю изучать, по работе приходится

Uukrul

Цитата: NastyLiin від Лютий 26, 2018, 10:49:50 ДП
ABAP только-только начинаю изучать, по работе приходится
Ну тогда тут лучше чтобы абаперы вам помогли написать правильно расширение.