Текущее время: Чт, апр 18 2024, 15:09

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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