ALV редактирование\запрет редактирования отдельной ячейки

Если в ALV необходимо редактировать отдельные ячейки, а не весь столбец уже мало просто отметить возможность редактирования в каталоге полей.

Читать далее «ALV редактирование\запрет редактирования отдельной ячейки»

HR_MAINTAIN_MASTERDATA не сохраняет отдельные записи ИТ при проведении мероприятий

Была поставлена задача – проводить мероприятия в системе при помощи HR_MAINTAIN_MASTERDATA. Мероприятия работали корректно. После проведения все инфо-типы записывались. Однако, при проведении увольнения инфо-типы 0000 и 0001 не сохранялись. Ошибки при этом никакой не возникало, на первый взгляд все отрабатывало штатно. Пробовал менять параметр LUW_MODE, сбрасывал буфер перед вызовом ИТ, запускал в отдельном потоке и прочее. Результата это никакого не дало.
Нашел два выхода из этой проблемы:

Читать далее «HR_MAINTAIN_MASTERDATA не сохраняет отдельные записи ИТ при проведении мероприятий»

Перенос копии запроса SAP

Чтобы не плодить запросы и не запутаться при переносе, можно переносить копию запроса, при этом наш основной запрос останется в системе разработки.

Заходим в se10, выбираем наш основной запрос и деблокируем все задачи в нем. Сам запрос остается не деблокированным.

Читать далее «Перенос копии запроса SAP»

Создание инфо-типа PA

Наверное, все кто пишет про HR, всегда пишут заметку про создание ИТ. Напишу и я.
Для создания пользовательских инфо-типов выделен диапазон номеров 9XXX.
Инфо-тип администрирования персонала создается при помощи транзакции PM01.
Создадим инфо-тип PA с подтипами:

ПодробнеЕ

JOIN Трех таблиц. Небольшая особенность

Предположим, что нужно  выбрать данные из таблицы 1 и дополнить их данными из таблиц 2 и 3. Причем таблица 3 относиться к таблице 2.

Прикинув получаем вот такой запрос:

Получаем вот такую выборку:

Как видно из выборки, для строки 8 мы не нашли запись в таблице VEPO. Но так как у нас LEFT JOIN  она все равно попала в выборку.

Теперь, допустим, нам необходимо немного ограничить выборку из таблицы VEPO  и мы делаем INNER JOIN таблиц VEPO И VEKP. При этом, казалось бы строка 8 должна остаться в выборке т.к. соединение таблиц MSPR и VEPO  осталось без изменений и в данном случае, что там у нас случилось с  VEPO,  вообще не должно играть роли. Однако это не так. Как мы видим  в результате, запись с пустым  не найденным VEPO не выбралась.

 

 

Транзакция для кластера ракурсов или ракурса

В транзации SE93 можно создать Транзакцию для непосредственного запуска ведения или просмотра кластера ракурсов.

Открываем транзакцию SE93, вводим имя желаемой транзакции и жмем “Создать”

В “Значения по умолчанию” вводим имя нашего кластера

UPDATE – X означает автоматическое нажатие кнопки UPDATE.

При необходимости можно нажать просмотр SHOW = X  .

TRANSPORT = X – открыть окно для выбора транспортного запроса. Если ракурс сгенерирован со стандартной подпрограммой записи.

Можно запускать и другие транзакции подобным образом.

Создание кластера ракурсов

Для создания кластера ракурса необходимо создать ракурсы ведения для отдельных таблиц в SE11 и объединить их в SE54

Подробнее:

Читать далее «Создание кластера ракурсов»

Средство поиска для выбора варианта отображения ALV

 

LEFT JOIN and WHERE . ABAP SQL

В новом синтаксисе ABAP SQL  появилась возможность прописывать условия для таблиц LEFT JOIN  в WHERE.

Однако есть существенное отличие между условием прописанным после ON  и в условии WHERE.

Читать далее «LEFT JOIN and WHERE . ABAP SQL»

ЛБД PNPCE пропускает табельный

Бывает, что табельный номер не попадает в выборку  события GET pernr. Одна из причин – нехватка полномочий на один из инфо-типов или даже подтипов. Если у нас нет возможности добавить полномочий пользователю, можно использовать макрос  pnp_sw_skip_pernr = N. Табельный номер не будет пропущен, но данные выберутся только из подтипов на которые есть полномочия.