Текущее время: Пт, июл 18 2025, 14:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 08:33 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
Всем доброго утра!
Сам не абаплю и абапера рядом нет :(

В коде определена внутр.таблица zlines и в ней поле tdline. Требуется собрать записи из этого поля и вывести в отчет.
Код: loop at zlines from 1.
Concatenate zlines-tdline ztext-zlines into ztext-zlines.
Endloop.
Ну, и потом содержимое ztext-zlines выводится в отчет.

Проблема в том, что записи поля tdline выводятся в отчет в обратном порядке, т.e. начиная с последней записи (это логично). Но нам нужно наоборот.

Подскажите, пожалуйста, как это сделать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 08:46 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
axion написал:
Проблема в том, что записи поля tdline выводятся в отчет в обратном порядке, т.e. начиная с последней записи (это логично). Но нам нужно наоборот.

Не вполне понятен вопрос и как у вас таблица tdline перевернутой получилась.
Попробуйте вместо
Code:
Concatenate zlines-tdline ztext-zlines into ztext-zlines.

сделать
Code:
Concatenate ztext-zlines zlines-tdline  into ztext-zlines.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 08:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
ФМ FOPC_CONVERT_TEXT_TO_STR


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 09:06 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
Можно ли сделать так, чтобы оператор loop отрабатывал записи с конца таблицы zlines?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот  Тема решена
СообщениеДобавлено: Чт, июн 21 2012, 09:16 
Специалист
Специалист

Зарегистрирован:
Ср, окт 28 2009, 11:37
Сообщения: 117
Попробуйте
Code:
DESCRIBE itab LINES lines_num
LOOP AT itab INTO wa FROM lines_num TO 1.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 09:19 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 09:07
Сообщения: 334
Откуда: Tbilisi, GE
Пол: Мужской
axion написал:
Можно ли сделать так, чтобы оператор loop отрабатывал записи с конца таблицы zlines?


Или пересортировать таблицу,
или использовать read table вместо loop - тогда можно пересчитать записи в таблице и декларировать какую считывать постепенно уменьшая порядковый номер.

Посмотреть help по использованию READ TABLE itab INDEX idx result.

Впрочем, по использованию порядка чтения в loop уже тоже ответил Alexgo


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 09:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
Alexgo написал(а):
Попробуйте
Code:
DESCRIBE itab LINES lines_num
LOOP AT itab INTO wa FROM lines_num TO 1.

Выводится ошибка: "TABLE" is expected not "ITAB".


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 09:28 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 12 2008, 09:07
Сообщения: 334
Откуда: Tbilisi, GE
Пол: Мужской
axion написал:
Выводится ошибка: "TABLE" is expected not "ITAB".


Вместо ITAB необходимо использовать ваше имя таблицы - zlines.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 09:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Так последуйте совету, напишите
Code:
DESCRIBE TABLE itab LINES ...

Для каждого оператора есть встроенная справка с указанием синтаксиса. Поставьте курсор на оператор DESCRIBE и нажмите F1.
Да, и каждое выражение должно заканчиваться точкой.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Чт, июн 21 2012, 21:15 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
Всем спасибо за помощь.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Пн, июн 25 2012, 14:11 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
zsap написал:
axion написал:
Не вполне понятен вопрос и как у вас таблица tdline перевернутой получилась.
Попробуйте
сделать
Code:
Concatenate ztext-zlines zlines-tdline  into ztext-zlines.

Попробовал так сделать. Текст для первого объекта в отчете выводится корректно. Но при обработке следующиего объектав в отчете выводится сначала старый текст(от первого объекта) и только потом выводится новый (всё в одном поле).
Я так понимаю, надо поставить где-то refresh или clear?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Пн, июн 25 2012, 14:21 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
перед loop поставьте
Code:
clear ztext-zlines


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Пн, июн 25 2012, 14:30 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, янв 30 2009, 16:19
Сообщения: 335
Пол: Мужской
Супер! zsap, огромное спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оператор Concatenate собирает записи наоборот
СообщениеДобавлено: Пт, авг 01 2014, 15:32 
Начинающий
Начинающий

Зарегистрирован:
Пт, авг 01 2014, 15:29
Сообщения: 1
Alexgo написал(а):
Попробуйте
Code:
DESCRIBE itab LINES lines_num
LOOP AT itab INTO wa FROM lines_num TO 1.


Actually I think it won't work.

LOOP AT itab - cond

Syntax
... [USING KEY keyname] [FROM idx1] [TO idx2]....
..................
If the value of idx2 is less than the value of idx1, no processing takes place. - This is from help


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

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


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

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


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

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