Можно... ... если у вас есть желание это "что-то" делать. ... если у вас есть полномочия на тарнзакции SE38, SE37, SE80, SE19, SE11 (или SE12, SE16), на отладку программ (debugger), возможно на какие-то ещё транзакции и операции. ... если немного знакомы с программированием или языком АБАП.
Если на все три "если" ответили "Да", тогда по порядку: Для начала проаналзируйте через SE38 программу ZXMBCU02, ищите по слову MESSAGE. После него согласно синтаксису идет тип ошибки, номер ошибки и класс ошибки. Например MESSAGE e092(zmsg) WITH... и далее передаются какие-либо переменные в текст сообщения. Сам текст сообщения можно посмотреть провалившись, щелкнув мышкой на его номер. Текст сообщения может передаваться непосредственно из кода программы после WITH. В общем ищите ошибки близкие по вашему смыслу. Далее продолжаем поиск в SE19 (хотя вы не уточнили какая у вас версия, если меньше, чем 4.7, то поиск по BADI можно пропустить). Выбираем классический BADI, нажимаем F4. Если открылось окно "Справка по вводу: личный список значений", то жмем "Информационная система", далее внизу окна кнопку с плюсом "Все критерии выбора" и в поле "Имя опред.BADI" вводим MB_CHECK_LINE_BADI и жмем ENTER. В списке, если он не пуст, будем последовательно открывать те, которые начинаются на Z. Итак открываем на просмотр и переходим на закладку "Интерфейс", проваливаемя в метод CHECK_LINE и анализируем код аналогично вышеописанному. Аналогично ищем все реализации для MB_DOCUMENT_BADI (метод MB_DOCUMENT_BEFORE_UPDATE), также можно проверить и в MB_MIGO_BADI. Если нашли сообщение, то смотрим условие перед его вызовом. Скорее всего оно не выполняется. Можно поставить точку останова и выполнить операцию возврата. Программа остановится в этом месте, смотрим знаяения перенеменных в условии и почему оно не выполняется. Если ничего не найдено переходим к анализу недавно внесенных изменений. Для этого в просмотре ранее приведенных программ выбираем через меню Утилиты -> Версии -> Управление версиями. Откроется список всех запросов с изменениями данной программы. Выделям активную и предыдущую версию и нажимаем Сравнить или F8 и анализируем измененные куски кода (ищем наше сообщение). Если ничего не нашли, возвращаемя назад, снимаем галочку с активной версии и ставим на более раннюю, т.е. всегда должны выделятся две соседние. Таким образом просматриваем изменения в программе. Если вдруг вы нашли ваше сообщение и оно было удалено, то вызываете того, кто эти изменения делал (автор задачи в запросе) и спрашивате с него.
Для начала, думаю, вам хватит и этого.
|
|