Разбить строку на подстроки (SUBSTRING) ABAP

Разбить строку ABAP SUBSTRING можно множеством вариантов. Разбиения строки на части в зависимости от поставленной задачи.
Есть задачи в которых есть необходимость выделить подстроку из строки по определённым критериям. Для решения данной задачи отлично подходит функция substring с множеством своих вариантов. Рассмотрим подробнее каждый из них:

Разбиение строки ABAP с примерами

 

https://youtu.be/7gqYJEMsJ20
SUBSTRING ABAP Разделение строки на подстроки

SUBSTRING – Обрезать строку SAP

Функция SUBSTRING возвращает подстроку длины равной len при этом берёт данную строку с отступом равным off.

В нашем случае результатом выполнения функции будет: CD

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

Результатом выделения подстроки будет строка: 2020. Как для первого так и для второго выражения.

Важным ограничением этого способа является то, что если при обращении к строке происходит выход за её границы произойдёт ошибка. Пример ошибочного обращения:

SUBSTRING_FROM – выделить подстроку ABAP начиная с символа

Возвращает подстроку начиная с первого вхождения символов sub включая эти символы и до конца строки. По результату получим: EFGH

 

SUBSTRING_BEFORE – обрезать строку ABAP

Возвращает подстроку начиная с первого символа строки до первого вхождения символов sub НЕ включая эти символы.
По результату получим: AB

SUBSTRING_TO – обрезать строку ABAP

Возвращает подстроку начиная с первого символа строки до первого вхождения символов sub включая эти символы.
По результату получим: ABCD

SPLIT – разбить строку ABAP на несколько

Так же бывают задачи разбиения одной строки на несколько подстрок.
Разбиение строки оператором SPLIT по заданному разделителю

По итогу выполнения программы переменным будут присвоены следующие значения:

Шаблоны как азбить строку ABAP SUBSTRING на подстроки определённой длины.

Рассмотрим пример использования в задаче. Часто бывает, что стандартный метод или ФМ принимает на вход не строку, а таблицу с последовательностями символов определённой длины. Пример использования конструкции для решения задачи в статье: Вывод текста в окне, а так это подробно разобрано в видео к этой статье.

 

Шаблон как разбить строку ABAP SUBSTRING:

Короткий шаблон получения подстрок ABAP определённой длины:

Шаблон с использованием ФМ HR_RU_SLPIT_STRING0:

Использование этого ФМ показано на примере заполнения полей имени при создании кредитора.

Добавить комментарий