Использование регулярных выражений (RegExp) для анализа строк

В старом добром АБАПе разбор строк – достаточно муторная операция.

Вот предположим, что у нас есть строка вида:

:86:Операция:Платеж,БИК:12345678,Счет:987654
321,Контрагент:ТОО ТЕСТ,РНН:120100000001,Вып
лата за XYZ   /KNP/1719311 /BCLASS/

И требуется выкусить из неё нужные значения: Контрагент, РНН и Описание операции.

Возиться с регэкспами на классах меня особенно не тянет.

(далее…)

История ввода для полей на экране — трюк

Я и раньше подмечал, что у истории ввода есть некоторое запрограммированное поведение – для коротких оно работает, а вот для длинных – не хочет.

История ввода включается автоматически, однако при разработке интерфейса для элементов на экране можно задать опцию “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 может быть любое число).

(далее…)