Текущее время: Вс, авг 03 2025, 08:58

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


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

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


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

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