SPLIT

SPLIT — оператор, разбивающий текстовую строку на две или более меньшие строки.

Синтаксис
SPLIT c AT del INTO c1 ... cn Оператор SPLIT ищет в строке c разделитель del. Части строки c до и после разделителя помещаются в целевые поля c1…cn. Чтобы полностью разбить текстовую строку, необходимо определить достаточное количество целевых полей. В противном случае последнее целевое поле будет заполнено остатком поля c.

Если целевые поля имеют достаточную длину, код возврата sy-subrc принимает значение 0. В противном случае — 4.

Пример
DATA: string(60) TYPE c,      p1(20) TYPE c VALUE '++++++++++++++++++++', p2(20) TYPE c VALUE '++++++++++++++++++++', p3(20) TYPE c VALUE '++++++++++++++++++++', p4(20) TYPE c VALUE '++++++++++++++++++++', del(3) TYPE c VALUE '***'. string = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. WRITE string. SPLIT string AT del INTO p1 p2 p3 p4. WRITE / p1. WRITE / p2. WRITE / p3. WRITE / p4. Результат: Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5 Part 1 Part 2 Part 3 Part 4 *** Part 5 Обратите внимание, что содержимое операндов p1…p4 полностью перезаписано частями текстовой строки string и заполнено замыкающими пробелами.

Синтаксис
SPLIT c AT del INTO TABLE itab. Оператор SPLIT ищет в строке c разделитель del. Части строки c до и после разделителя помещаются во внутреннюю таблицу itab.