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

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


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

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


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

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