Показаны сообщения с ярлыком SE80. Показать все сообщения
Показаны сообщения с ярлыком SE80. Показать все сообщения

1 декабря 2016 г.

Ошибка в настройке внешнего вида ABAP Development Workbench

На днях столкнулись с коллегами с такой проблемой. В инструменте ABAP Development Workbench, транзакция SE80, левая панель, в которой отображается дерево связанных объектов, схлопнулась до минимальной ширины и не расширялась (рис. 1).

Рис. 1. Ошибка с отображением левой панели в SE80.

Та же проблема наблюдалась при попытке в ABAP редакторе, транзакция SE38, открыть панель со списком объектов, нажав соответствующую кнопку (рис. 2 и 3).

Рис. 2. ABAP редактор.

Рис. 3. Ошибка с отображением левой панели в SE38.

Причем, SAP GUI не давала возможность расширить панель с помощью мыши (рис. 3).

Локализация проблемы показала:
  • проблема привязана к пользователю, так как на разных компьютерах из под одного пользователя проблема остается.
  • проблема не привязана к компьютеру, так как разные пользователи на одном компьютере, имеют разный вид ширины левой панели в указанных инструментах.

Переустановка SAP GUI, сброс локальных кэшей и перезагрузка компьютера не помогала. Локализация проблемы в рамках одного пользователя, а не компьютера, не давала ответ почему невозможно воспроизвести проблему на другом компьютере с другим пользователем. Так как при уменьшении ширины панели до минимума всегда оставалась возможность расширить панель обратно с помощью мыши.

В итоге, решение нашлось в таблице RSEUMOD. Данная таблица хранит записи для всех пользователей, кто хоть раз входил в систему. После работы с инструментами SE80/SE38 (не исключаю и SE11/SE16) в поле таблицы WIDTH сохраняется ширина левой панели. По-умолчанию ширина составляет 300 пикселей (рис. 4).

Рис. 4. Пример записи в таблице RSEUMOD.

В случае сбоя отображения левой панели в поле сохраняется очень маленькое значение, от 1 до 30, что вызывает сбой SAP GUI и делает неактивным место, где можно мышью расширить панель (рис. 3). 

Что послужило причиной сбоя выяснить не удалось. Это либо сбой в сохранении значения в таблице RSEUMOD, которое сохраняется при выходе из инструментов разработки (SE38/SE80), либо сбой в SAP GUI, когда приложение позволило сдвинуть панель больше, чем это возможно.

Решение: выйти из инструментов разработки и для конкретного пользователя выставить в поле WIDTH таблицы RSEUMOD значение 300 (по умолчанию). 
   
SAP нот по описанию этой таблицы я не нашел.

Если полномочий на изменение записи таблицы нет, то можно использовать клавишу "Tab" на клавиатуре. Последовательно нажимая на неё, пройти по кнопкам панели и дойти до символа изменения ширины панелей (рис. 4), после этого, используя стрелки на клавиатуре (право-лево), увеличить ширину левой панели.

P.S. На следующей неделе я буду в учебном центре SAP в Москве, слушать курс ADM800 - Администрирование AS Java 7.3. Курс достался в качестве подарка от портала SAP Land.

17 октября 2016 г.

Запись каталога объекта: изменение системы оригинала

Как я уже упоминал, в SAP системе существует свой словарь данных (ABAP Dictionary), который не стоит путать со словарем базы данных. Все объекты ABAP словаря имеют свою запись, которая называется запись каталога объекта. Эти записи в SAP системе хранятся в таблице TADIR (рис. 1). Даже сама таблица TADIR имеет запись о самой себе (рис. 2).

Рис. 1. Запись каталога объекта программы Z_DELETE_FROM_DEVACCESS.

Рис. 2. Запись каталога объекта таблицы TADIR.

Объект в SAP системе имеет ряд основных атрибутов:
  • пакет разработки,
  • ответственный,
  • система оригинала.

Пакет разработок или, как его называли раньше, класс разработок, это каталог, в котором объединены программы/экраны/таблицы и т.д. одного функционального назначения. Пакеты могут быть вложенными и представлять собой большое дерево разработок, объединенных одним функциональным модулем, например, HR. Ведение пакетов осуществляется в транзакции SE80 (рис. 3).

Рис. 3. Пример пакета разработок.

У каждого пакета разработок есть уровень переносов, который используется в транспортной системе. Таким образом, при деблокировании запроса, SAP система по принадлежности объекта к пакету понимает в какую целевую систему направить запрос на импорт.

Система оригинала объекта является важным защитным механизмом, позволяющим идентифицировать в какой системе был создан объект. В классическом трёх-системном ландшафте системой оригинала всех созданных объектов будет система разработки (DEV).

Попытка изменить объект в системе отличной от системы оригинала приведет к выдаче соответствующего сообщения и ограничению на внесение изменений (рис. 4). Включить такой объект в типичный запрос на перенос инструментальных средств не в системе оригинала тоже не получится.

Рис. 4. Попытка внести изменения в программу с другой системой оригинала.

Как вы помните, любой объект в SAP системе может находится в двух областях:
  • область имен SAP (или так называемые, стандартные объекты),
  • область имен клиента (объекты чьи имена начинаются на Z* или Y*).

У объектов из области имен SAP в качестве ответственного и системы оригинала всегда значится "SAP" (рис. 5).

Рис. 5. Пример записи каталога объекта из области имен SAP.

Итак, защитные механизмы это хорошо, но иногда они мешают работать. Запись каталога объекта можно изменить, воспользовавшись транзакцией SE03. На начальном экране необходимо выбрать пункт "Изменение записей каталога объектов" и нажать "Выполнить" (или F8) (рис. 6).

Рис. 6. Начальный экран транзакции SE03.

На следующем экране необходимо выбрать реквизиты нужного объекта и снова нажать "Выполнить" (или F8) (рис. 7). Напоминаю еще раз, что реквизиты объектов можно найти в таблице TADIR (рис. 1).

Рис. 7. Ввод реквизитов объекта.

На следующем экране система покажет найденные объекты и, для вызова диалога изменения записи каталога объекта необходимо выделить строку с объектом и нажать кнопку "Каталог объектов" на верхней панели (рис. 8).

Рис. 8. Изменение записи каталога объекта в транзакции SE03.

В диалоговом окне можно поменять все основные атрибуты объекта - пакет, ответственного или систему оригинала (рис. 9).

Рис. 9. Изменение атрибутов записи каталога объекта.

Изменить систему оригинала бывает необходимо, если объект был импортирован из другой системы, но при этом планируется его последующее изменение в текущей системе. Или при восстановлении утерянного объекта из другой системы трёх-системного ландшафта (из QAS в DEV, например).

Стоит еще добавить, что просмотреть запись каталога объекта можно в транзакциях разработчика, например, SE38/SE11, выбрав пункт меню "Перейти к -> Запись каталога объекта" (рис. 10). Но изменить все атрибуты в них нельзя.

Рис. 10. Просмотр записи каталога объекта в транзакциях SE38/SE11.


Автор: Шиболов Вячеслав Анатольевич