Текущее время: Пн, июл 28 2025, 02:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: вопрос по SAPSCRIPT
СообщениеДобавлено: Ср, июл 11 2007, 11:44 
Специалист
Специалист

Зарегистрирован:
Пн, дек 04 2006, 10:51
Сообщения: 173
Добрый день!!
У меня есть поле, которое необходимо вывести, длиной в 40 символов(например, наименование материальной ценности).
Как мне вывести это поле в 2 строки по 20 символов?? Но, если само наименование меньше 20 символов, то вторую строчку не выводить


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Примерно так:
Code:
field(20)
IF field+20(1) <> space
field+20(20)
ENDIF


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

Зарегистрирован:
Пн, дек 04 2006, 10:51
Сообщения: 173
Спасибо!! Конечно, есть вероятность, что за 21 символом(пробелом) будет идти еще какой-то текст


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Ну так я же и написал - примерно ;)
Смысл в том, что вторую половину можно засунуть в IF.
Если он не выполниться - строка добавлена не будет.
Также можно <я не знать русский языка> просто разбить строку на две части и для второй поставить опцию вывода suppress initial output. Однако я не помню будет или нет пустая строка в таком случае.


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

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Пономарев Артем написал:
Примерно так:
[code]
IF field+20(1) <> space
...

Или так:
[code]
IF not field+20 is initial.
...[/quote]

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


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Выводите вторую строку, если strlen( str ) больше 20.


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
К сожалению в сапскрипте такую конструкцию не выполнишь, насколько я помню.
Т.е. либо какой-то флаг в принт-программе ставить (если она кастом),
либо perform в скрипте...
Или я не прав?


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Похоже да, strlen только через Perform


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

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


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

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


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

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