Может быть громко звучит для начала, но, возможно информация тут накопится.
Использование регулярных выражений (RegExp) для анализа строк
В старом добром АБАПе разбор строк – достаточно муторная операция.
Вот предположим, что у нас есть строка вида:
:86:Операция:Платеж,БИК:12345678,Счет:987654
321,Контрагент:ТОО ТЕСТ,РНН:120100000001,Вып
лата за XYZ /KNP/1719311 /BCLASS/
И требуется выкусить из неё нужные значения: Контрагент, РНН и Описание операции.
Возиться с регэкспами на классах меня особенно не тянет.
Пара трюков со включением в запрос на перенос
Есть пара вещей, которые просто так в запрос не положишь, например: переводы к элементам данных и IBAN к собственным банкам.
Использование иконок в интерфейсе
Товарищ недавно подходил, спрашивал не знаю ли я, как сделать светофор при выводе данных в TABLE CONTROL. Почесал я голову, и сказал два волшебных слова – SE16 и ICON. А теперь по-подробнее…
История ввода для полей на экране — трюк
Я и раньше подмечал, что у истории ввода есть некоторое запрограммированное поведение – для коротких оно работает, а вот для длинных – не хочет.
История ввода включается автоматически, однако при разработке интерфейса для элементов на экране можно задать опцию “No input history” – в этом случае история ввода никогда не будет сохраняться для этого поля. Но нет опций жёсткого включения истории при разработке экранов.
Ковырнул, и вот что узнал:
Дополнительная таблица в сплиттинге
Запишу себе, чтоб не забыть: В настройках сплиттинга есть настроечная таблица T8G10, не включенная в настройки.
В ней можно присвоить транзакции настройкам по сплиттингу (Операции и варианту).
В некоторых особых случаях при проводке можно получить сообщение об ошибке вида GLT2 051 “Чему-то там не присвоена ни одна хозяйственная операция” – и данная настроечка может помочь решить эту проблемку.
Диапазоны номеров
В отличие от многих других диапазонов в SNRO для бухгалтерских документов есть годовая зависимость – их нужно продлевать каждый год. Кроме всего прочего есть и зависимость от БЕ.
Основная транзакция ведения – FBN1. Но вот она очень неудобна для массовых действий – окошечко маленькое, ограничения задать невозможно, копирование практически отсутствует.
Поэтому есть две помогательные транзакции:
OBH1 – копирование из БЕ в БЕ
OBH2 – копирование из года в год
ЗЫ. Один из вариантов – создать условный “эталоный” диапазон в году с номером 9999 – и копировать именно его.
ЗЗЫ. И не забывайте, что есть проблема скидывания счётчиков при переносе диапазонов в запросе. Если вы перенесёте запрос в мандант с имеющимися документами, то создание документов будет спотыкаться – в ручном режиме потребуется смотреть последний номер фактического документа и нагонять эту цифру в диапазоне.
Разминка для программистов — говнокод
Читаю периодически Хабр, там многое бывает полезно даже не в области SAP/ABAP, а имеет смысл и само по себе.
В частности, в одном из недавних постов была приведена задачка:
Напечатать на экране следующее:
1
2-1
1-2-3
4-3-2-1
1-2-3-4-5
6-5-4-3-2-1
(Естественно, вместо 6 может быть любое число).
Добавление колонок в таблицу
Наблюдал у товарища при определённом стечении обстоятельств совершенно неожиданное поведение простого ракурса — несколько колонок из одной таблицы и условие поле “Скрыть” не равно крестику.
Чудило вплоть до эффектов “в таблице 200 записей, три записи помечены крестиком, но ракурс показывает три записи без крестика”, а тестовое условие было “равно крестику”.
Я аж собственным глазам не поверил.
Странности при копировании данных
Открываю средство поиска. Найдено 23 записи. Жму Контрол+Игрек. Копирую. Иду в Эксель. Вставляю. Проверяю количество записей. 19. Очуметь. Где остальные записи???
Ну вот такой пример:
Вставляется в таком виде: