Текущее время: Пт, мар 29 2024, 05:24

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Пн, дек 05 2016, 18:11 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Приветствую, коллеги.

Есть такой кейс:

Есть IT_TEXT - таблица текстов формата CHAR20. К примеру, на 2 строки:

Code:
1-> Мама мыла раму [UNO]
2-> Папа ей помогал


Делаем
Code:
REPLACE ALL OCCURRENCES OF '[UNO]' IN TABLE IT_TEXT WITH 'Шла Саша по шоссе'.


Результат будет следующий:

Code:
1-> Мама мыла раму Шла С
2-> Папа ей помогал


То есть, излишки текста пропадают, выходя за лимит длины.

Можно ли стандартными средствами языка (или есть какие стандартные классы/ФМ) заменить в таком случае текст целиком, с переходом на новую строку?

Чтобы получилось:

Code:
1-> Мама мыла раму Шла
2-> Саша по шоссе
3-> Папа ей помогал


Или надо будет "изобретать велосипед"?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Пн, дек 05 2016, 20:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
может, конечно, велосипед, но я бы все склеил в одну строку сначала, потом сделал ее split по [UNO] в таблицу, потом склеил таблицу separated by 'Шла Саша по шоссе'.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Вт, дек 06 2016, 08:14 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
Такой ФМ не подойдет ? CONVERT_STRING_TO_TABLE


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Вт, дек 06 2016, 08:55 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
holocron написал(а):
может, конечно, велосипед, но я бы все склеил в одну строку сначала, потом сделал ее split по [UNO] в таблицу, потом склеил таблицу separated by 'Шла Саша по шоссе'.

Решение - не очень.
Текстовка берётся из SO10. Консы там уже своё форматирование сделали. И, вытягивание в строку - не лучшее решение.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Вт, дек 06 2016, 09:11 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Bimit написал(а):
Такой ФМ не подойдет ? CONVERT_STRING_TO_TABLE

Не подойдёт. Если слово в строке попадает на перенос - оно режется без всяких правил переносов.
То есть - кидаем в ФМ-ник текст 'Мама мыла раму Шла Саша по шоссе'. Ставим I_TABLINE_LENGTH = 16.
На выходе:
Мама мыла раму Ш
ла Саша по шоссе


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Вт, дек 06 2016, 09:53 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Похоже, нашел. Но, потребует ещё некоторой доработки. Есть ФМ-ники:
C14W_STRING_TO_TLINE
ISH_N2_STRING_TO_TLINE
ISH_N2HM_STRING_TO_TLINE
ISH_STRING_TO_TLINE
Нет параметра, для задания длины строки, по которой будет пилиться текст. Вшита константа. Текст пилится по 70 символов в строке.
Тем не менее, если кто ещё что найдёт - буду признателен за информацию.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE  Тема решена
СообщениеДобавлено: Вт, дек 06 2016, 10:02 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
пробуй этот SOTR_SERV_STRING_TO_TABLE


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы с длиной заменяемого текста при REPLACE
СообщениеДобавлено: Вт, дек 06 2016, 12:58 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, окт 15 2010, 14:06
Сообщения: 292
Bimit написал(а):
пробуй этот SOTR_SERV_STRING_TO_TABLE

Отлично. Подошло. Спасибо


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB