Текущее время: Сб, авг 02 2025, 20:54

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: concatenate
СообщениеДобавлено: Вт, июл 17 2007, 13:06 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Как вставлять пробеллы в нужных мне местах в строке.

Если написать SEPARATED BY space то спейсы ставятся после каждого
слова, а мне нужно в нужных мне местах

например

Code:
  concatenate RPRINT-DESCRIPTION 'Изделие: ' DEC ' mm/' into
  RPRINT-DESCRIPTION.

*Результат     Изделие:10mm/
* а мне нужно Изделие: 10 mm/

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 13:16 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 06:12
Сообщения: 32
Ну как вариант:
Code:

CONCATENATE lv_string1 space lv_string2 lv_string3
              INTO lv_all_str.

Т.е. использовать space.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 13:20 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
dmk написал(а):
Ну как вариант:
Code:

CONCATENATE lv_string1 space lv_string2 lv_string3
              INTO lv_all_str.

Т.е. использовать space.


проверил, не работает. :cry:

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 13:31 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 06:12
Сообщения: 32
Странно....ну тогда сначала конкатенируй то, что без пробелов, а потом с separated by space.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 13:55 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
dmk написал(а):
Странно....ну тогда сначала конкатенируй то, что без пробелов, а потом с separated by space.


ну так и делаю.. думал мож без изврата ка-то можно?

какого он спейсы убирает? его(ABAP) кто то просил?

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 14:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Hermitap написал(а):
какого он спейсы убирает? его(ABAP) кто то просил?

Работает, как описано. Терпите.
Цитата:
Note that trailing blanks in source fields of type C are ignored (since the system cannot distinguish between them and padding characters). Conversely, these blanks are taken into account in C strings. In summary, all fields are considered to have the length STRLEN( fi).

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 15:10 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Hermitap написал(а):

ну так и делаю.. думал мож без изврата ка-то можно?

какого он спейсы убирает? его(ABAP) кто то просил?

Дело в том что в ABAP текстовые строки имеют фиксированную длину (сколько заявлено при объявлении типа - столько и занимает). Поэтому концевые пробелы и не учитываются.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 15:24 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Думаю, вам нужно перестать грустить по C#, а начать изучать специфику ABAP. Не нужно хранить языкозависимые тексты в коде программы. Для этого существуют Текстовые элементы.

Сохраните в text-001 строку 'Изделие: &1 mm''.

RPRINT-DESCRIPTION = text-001.
REPLACE '&1' IN RPRINT-DESCRIPTION WITH DEC.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 15:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
попробуйте текстовые данные обрамлять не в '' как обычно, а в ``


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 15:57 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
flipper написал(а):
попробуйте текстовые данные обрамлять не в '' как обычно, а в ``


оригинально... работает...

спасибо.. без Вас фиг бы догадался что тильду юзать можно...

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 17:10 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
flipper написал(а):
попробуйте текстовые данные обрамлять не в '' как обычно, а в ``


вопрос из чистого любопытства.. чем отличаются '' от ``
не могу найти описание в чем отличие..

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 17 2007, 17:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
'' - литерал типа char
`` - литерал типа string


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 23 2007, 11:21 
Начинающий
Начинающий

Зарегистрирован:
Пт, апр 06 2007, 11:54
Сообщения: 17
CONCATENATE … INTO … RESPECTING BLANKS.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 23 2007, 13:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
vet написал(а):
CONCATENATE … INTO … RESPECTING BLANKS.

хм, а начиная с какой версии ?

в ECC 5.0(640) такого не наблюдается...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 23 2007, 13:46 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
flipper написал(а):
vet написал(а):
CONCATENATE … INTO … RESPECTING BLANKS.

хм, а начиная с какой версии ?

ECC 6.0(700)

_________________
"После" - не значит "вследствие"


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

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


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

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


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

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