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

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


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

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


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

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