Sapforum.Biz

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

Название: Разделение символьной строки
Отправлено: themax от Январь 09, 2015, 12:58:54 pm
Добрый день уважаемые абаперы! Я как абапер не силён, но иногда приходится абапить, поэтому сильно не ругайте за возможно простецкий вопрос. Нужно разделить значение поля внутренней таблицы, передаваемой туда с физической таблицы. Знаю есть такой оператор как Split, и с ним всё вроде бы ясно, но в описании везде где не читал описывается разделение с использованием разделителей,
Код: You are not allowed to view links. Register or Login
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 pm
Ну если нет разделителей тогда у вас позиционное разделение должно быть, типа первое поле 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 am
Спасибо за совет уважаемый Uukrul. Так и сделаю.
Название: Re: Разделение символьной строки
Отправлено: Uukrul от Январь 12, 2015, 04:32:39 pm
You are not allowed to view links. Register or Login
Спасибо за совет уважаемый Uukrul. Так и сделаю.
Кстати, вместо чисел, могут быть переменные, что позволяет довольно гибко разложить сроку.