Полезные FM, классы, программы и транзакции SAP

FI_PERIOD_CHECK - проверка периода FI
FIRST/LAST_DAY_IN_PERIOD_GET - первый/последний день периода
CL_RECA_DATE - Класс работы с датами
CL_ABAP_TSTMP - класс работы с таймштампами
HR_RU_MONTH_NAME_IN_GENITIVE - месяц в родительном падеже
WFCS_FCAL_WDAYS_GET_S - количество рабочих дней в периоде
CL_RS_TIME_SERVICE - класс работы с датами, в том числе определение рабочего дня

Перенос вариантов программы (селективного экрана)

Для переноса вариантов селективного экрана используйте отчет RSTRANSP.
Или же изнаачльно создавайте варианты селективного экрана с перфиксом 'CUS&'. Такие варианты будут автоматически перенесены вместе с программой

Remodeling of infocube или добавление недели в инфокуб

Если необходимо добавить в кубик инфообъект (или удалить, заменить и т.д.) можно воспользоваться функцией ремоделинга. В данном случае мы будет добавлять характеристику времени – Календарная неделя в случае, когда в кубе есть только календарный день.

How to Work with ABAP Shared Memory Objects (Совместно используемые объекты)

В ABAP есть возможно хранить инстанции объектов в памяти.

Например:

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

Совместно используемые объекты дают возможноcть устанавливливать блокировки на момент записи, а так же поддерживают версионность данных.

Просмотреть документацию

2.jpg

Шаблоны строк (Embedded Expressions)

Начиная с версии 7.0, EhP2 в язык ABAP вместе с большими изменениями в выражениях, внедрены так называемые строковые шаблоны. С помощью шаблонов можно сильно сократить объем кода программы, полностью избавившись от оператора WRITE TO и CONCATENATE.

Использование шаблонов возможно только в Unicode программах.
Далее будут рассмотрены некоторые особенности работы с шаблонами.

Шаблоны могут содержать в себе как простую текстовую последовательность, так и встроенные выражения, и управляющие символы (\n\r\t). Специальные символы экранируются символом "\"

Пример:

  1. s2 = |Linebreak:\n. Tab: \t. Reserved: \\, \{, \}.|.

Результат:
S2 = `Linebreak: . Tab: . Reserved: \, {, }.`

Соединение с SAP из Excel

Сначала создайте в Экселе соответствующие кнопки, потом скопируйте на Код листа:
http://sap.ittoolbox.com/groups/technical-functional/sap-dev/sap-rfc-vba...

Dim LogonControl
Dim conn
Dim funcControl
Dim TableFactoryCtrl
Dim RFC_READ_TABLE
Dim eQUERY_TAB
Dim TOPTIONS
Dim TDATA
Dim TFIELDS

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

горячие клавиши ABAP редактора

Добрый день. Ниже описаны сочетания клавиш которые могут быть полезны в ABAP редакторе, а некоторые и вообще в SAP GUI.
Сочетания клавиш:

Ctrl + D: Дублирует любую строку
Ctrl + /: Перемещает курсор в поле ввода транзакции
Ctrl + J: Конвертирует всю строку в нижний регистр кроме первых букв каждого слова
Ctrl + I или Ctrl + Shift + I: Инкрементный поиск
Ctrl + K: переключение регистра строки между верхним и нижним
Ctrl + O: Переход к определенной строке редактора
Ctrl + Shift + S: Сохранить программу на рабочий стол с расширение .abap
Ctrl+Alt+T: Поменять местами строки, текущую с предыдущей
Ctrl+Shift+L/X: Удаляет текущую строчку
Ctrl + "]" и Ctrl + "[": Переход к следующему и предыдущему параграфу соответственно
Ctrl + Shift + Num8 и Ctrl + Shift + Num2: Прокрутка текста в редакторе без перемещения курсора

Пишите хороший код, экономьте своё время, удачи.

Пример использования OPENFI: добавление столбца в FS10N

1. В транзакции FIBF ищем нужное событие
Среда -> Инфо-система P/S

В случае добавления столбца в детальном просмотре позиций в тр.FS10N нужное нам событие - 1650 "ПРОСМОТР ОТД.ПОЗИЦИЙ: Дополнение данных в строках"

2. Проверяем, используется ли уже это событие
Параметры настройки -> P/S модули -> Клиента / Партнера

Если для выбранного события в одном из подменю есть запись, копируем название функционального модуля, соответствующего этому событию.

Редактирование стандартной программы ABAP

Перед редактированием любого стандартного объекта заходим в SE80.
Выбираем объект "Группа функций" "SKEY".
Разворачиваем подпрограммы данной группы функций.
Находим программу JUMP_THE_WALL.
Ставим точку прерывания на строке
  CHECK SY-SUBRC NE 0.
Переходим на изменение модифицируемого стандартного объекта. И тут же попадаем на точку прерывания.
Меняем в отладчике SY-SUBRC на 0 (ноль).
Жмем F8.
Может потребоваться сделать это несколько раз.
Теперь можно менять данный стандартный объект.

Страницы