Posted: Tue Dec 04, 2007 1:23 pm Post subject: как делать User Exit?
Не пинайте сильно - я в ABAP и SAP только начинаю, до этого долго на C++ программировал. Может поэтому мне сама система програмирования в SAP пока не совсем ясна.
У меня такое задание. Заранее извиняюсь, если буду сумбурно изъясняться - у меня в голове сейчас такой же сумбур...
Есть программа SAPMV45A, в ней есть INCLUDE MV45AFZZ. Это то, что мне показали... От меня хотят, чтобы я сделал программу-дополнение, которая бы при вводе новых заказов (transaction VA01) проверяла есть ли такой заказ в таблице MVKE.
Что мне непонятно? С чего начинать, какой порядок действий? Как вообще сделать этот User Exit? Я почитал всякие форумы, полистал книжки, но так и не нашел как это пошагово делать на практике.
Вам нужно открыть на редактирование include MV45AFZZ
найти подходящую FORM, в ней прочитать данные из MVKE и выдать предупредающее сообщение, если условия не выполняются.
Вообще я открываю этот MV45AFZZ, пытаюсь добавить в него свою FORM, а он не дает. И цвет на экране какой-то странный - не белый как обычно когда я пишу обычную программу, а сероватый.
А может я вообще не то что-то делаю?
А мне еще тут сказали, что надо сделать свой INCLUDE.
Блин, как в C++ все понятно. Есть файлы с классами, функциями и т.д. Открыл - и делай что хочешь.
для добавления своего кода Вам нужно перейти в режим редактирования (нужен ключ модификации объекта), а затем нажать на кнопку "Вставить" в нужном месте
Age: 165 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Dec 04, 2007 5:50 pm Post subject:
Цвет текста в редакторе может быть блеклым, если включен Ассистент модификаций. Когда он включен, для исправления текста нужно использовать кнопки : Insert, Delete, Replace, Undo в меню редактора.
Теоретически ассистент можно отключить через меню Edit - Modification Operations - Switch Off Assistent, но не советую. При апгрейде системы он пригодится.
У меня по-немецки пишет:
Anweisung ist nicht erreichbar.
В вольном переводе означает: выражение не достижимо.
Самое прикольное, что то же самое происходит при проверке на ошибки и других INCLUDE из SAPMV45A, написанных уж не знаю кем до меня.
Может у меня в системе какие-то настройки сбились? У нас тут позавчера администраторы делали бэкап системы. Правда все мои обычные REPORT нормально "компилятся".
Еще интересно, что все активируется по Ctr+F3, ошибки не вылезают.
А по Ctr+F2 такая вот ерунда
Age: 165 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Wed Dec 05, 2007 4:48 pm Post subject:
Бывает, не обращайте внимание.
Главное, что активируется нормально.
Может поможет переиндексация,
попробуйте сделать "Утилиты" -> "Актуализировать индекс навигации" (Utilities -> Update Navigation Index).
Возник еще такой вопрос.
Я хочу сделать новый заказ или дополнить уже существующий. Вписываю в таблицу несколько материалов. Могу ли я до того как заказ будет сохранен, как-то выяснить какие материалы в данный момент стоят в таблице?
Только почему-то я получаю в тесте не совсем актуальное состояние таблицы, а с запаздыванием.
Вариант 1. Я редактирую уже имеющийся заказ
Напр., у меня стоит 2 мат-ла: 100 и 200.
Я добавляю еще номера 300 и 400. А тест показывает, что есть 100, 200, 300, а про 400 - молчок. Потом я удаляю строку 400. В этот раз тест выводит сообщение, что у меня есть 100, 200, 300, 400
Вариант 2. Я создаю новый заказ
Пишу 2 материала, а тест выводит мне штук 50
Code:
FORM zz_material_testing.
DATA: test_matnr TYPE vbap-matnr.
DATA: da_xvbap LIKE vbapvb OCCURS 0 WITH HEADER LINE.
refresh da_xvbap[].
da_xvbap[] = xvbap[].
LOOP AT da_xvbap.
test_matnr = da_xvbap-matnr.
PERFORM msg_material USING test_matnr.
ENDLOOP.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.