Текущее время: Сб, июл 19 2025, 22:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Оператор Write
СообщениеДобавлено: Вт, ноя 21 2006, 14:59 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Вообще тупняк. Ничего не понимаю.
data: begin of t1,
sum like bseg-dmbtr,
belnr like bseg-belnr, " последнее в таблице поле
end of t1.
data it like t1 occurs 0 with header line.

Loop at it.

at end of belnr.
write:/ 'Конец'.
endat.

write:/ t1-belnr, t1-summa.

endloop.

Вопрос собсно в том, почему не отрабатывает AT END OF?
Таблица отсортирована по BELNR.


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Переставьте поле belnr вперед:
Code:
data: begin of t1,
belnr like bseg-belnr,
sum like bseg-dmbtr,
end of t1.

Если нужен последний шаг цикла, то надо использовать AT LAST.
А вообще, почитайте еще про AT в циклах. Там не только сортировка имеет значение, но и расположение поля в структуре.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 21 2006, 15:09 
Гость
может переставить местами?

у меня работает такой код:

Code:
DATA: T_T001 LIKE T001 OCCURS 0 WITH HEADER LINE.

SELECT * FROM T001 APPENDING TABLE T_T001.
SELECT * FROM T001 APPENDING TABLE T_T001.
SELECT * FROM T001 APPENDING TABLE T_T001.

SORT T_T001 BY BUKRS.

LOOP AT T_T001.
  WRITE:/ T_T001-BUKRS, T_T001-BUTXT.
  AT END OF BUKRS.
    WRITE:/ 'Конец'.
  ENDAT.
ENDLOOP.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 21 2006, 15:16 
Специалист
Специалист

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
belnr должно стоять первым


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 21 2006, 16:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
KOVAL написал(а):
belnr должно стоять первым

А почему? А мне надо чтобы в конце стояло! Какая ему разница вот я не понимаю где стоит поле. Он должен изменение его содержимого отслеживать а не его местоположение. :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 21 2006, 17:09 
Специалист
Специалист

Зарегистрирован:
Вт, окт 25 2005, 11:10
Сообщения: 114
Откуда: Киев
отсортируй, поставь первым, а выводи, так как тебе угодно


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Preatos написал:
А почему? А мне надо чтобы в конце стояло! Какая ему разница вот я не понимаю где стоит поле. Он должен изменение его содержимого отслеживать а не его местоположение. :?

Цитата:
...дай мне терпение смириться с тем, что я изменить не в силах...

Что тут скажешь, ну так они придумали...

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 21 2006, 17:40 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Почему в начале? Ну потому что они анализируют бинарную цепочку аккурат от начала строки таблицы до того места где кончается отслеживаемое поле. Изменился хотя бы 1 бит - срабатывает условие. Быстрее так, понимаешь?


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

Зарегистрирован:
Пн, авг 22 2005, 14:50
Сообщения: 1285
Откуда: с работы
Пол: Женский
можно еще одну таблицу сделать с этим полем в начале или реализовать свой механизм, симулирующий события AT LAST, etc..


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

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Preatos написал:
А почему? А мне надо чтобы в конце стояло! Какая ему разница вот я не понимаю где стоит поле. Он должен изменение его содержимого отслеживать а не его местоположение. :?

Тут есть своя логика. Отслеживается не изменение одного поля, а изменение ключа из нескольких полей. Например, если бы это были поля GJAHR (год) и BELNR (номер), то при изменении GJAHR, но совпадающем BELNR, событие End of BELNR должно отработать, т.к. это явно другой документ.

К сожалению, под ключом они понимают все предшествующие поля структуры вместе с этим, а не явно описанный WITH KEY.
Ну, такова SAPa! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 23 2006, 10:28 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Есть ищчё такой оператор
ON CHANGE OF f.
....
ENDON.


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

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


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

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


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

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