Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема розпочата: themax від Січень 09, 2015, 12:58:54 ПП

Назва: Разделение символьной строки
Відправлено: themax від Січень 09, 2015, 12:58:54 ПП
Добрый день уважаемые абаперы! Я как абапер не силён, но иногда приходится абапить, поэтому сильно не ругайте за возможно простецкий вопрос. Нужно разделить значение поля внутренней таблицы, передаваемой туда с физической таблицы. Знаю есть такой оператор как Split, и с ним всё вроде бы ясно, но в описании везде где не читал описывается разделение с использованием разделителей,
data; list(40),
name_1(25) , name_2(25) , name_3(25) .
list = 'Edison,Smith,Young'.
split   list at ' , ' into name_l  name_2  name_3.

т.е. необходим разделитель, как в данном случае , а если такового нет в поле внутренней таблицы, тогда как разделять? может кто делал похожее? Буду весьма признателен за помощь.
Назва: Re: Разделение символьной строки
Відправлено: Uukrul від Січень 09, 2015, 02:00:05 ПП
Ну если нет разделителей тогда у вас позиционное разделение должно быть, типа первое поле 20 символов, потом второе с 21 по 30 например 10 символов и т.д. Правильно? Ну тогда вообще без проблем, пишете так:

L_name1 = l_str(20).
L_name2 = l_str+20(10).
L_name3 = l_str+30(20).

ну как-то так... т.е. указываете с какой позиции и сколько взять символов.
Назва: Re: Разделение символьной строки
Відправлено: themax від Січень 12, 2015, 05:19:53 ДП
Спасибо за совет уважаемый Uukrul. Так и сделаю.
Назва: Re: Разделение символьной строки
Відправлено: Uukrul від Січень 12, 2015, 04:32:39 ПП
Цитата: themax від Січень 12, 2015, 05:19:53 ДП
Спасибо за совет уважаемый Uukrul. Так и сделаю.
Кстати, вместо чисел, могут быть переменные, что позволяет довольно гибко разложить сроку.