Текущее время: Вс, июл 20 2025, 12:38

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Сумирование по внутреней таблице HELP
СообщениеДобавлено: Пн, ноя 26 2007, 09:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Пишу вот так:
Code:
  sort itab_ost_low_h by lgort matnr bwtar.
  loop at itab_ost_low_h into itab_ost_low_wa_h.
    at end of lgort.
      sum.
      clear itab_ost_low_wa.
      move-corresponding itab_ost_low_wa_h to itab_ost_low_wa.
      itab_ost_low_wa-begremn = itab_ost_low_wa-menge.
      collect itab_ost_low_wa into itab_ost_low.
    endat.
  endloop.

Когда в разрезе одного склада всё ОК
Как только несколько складов то за место склада появляется ****
Что не так?

_________________
Не ломайте то что уже есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сумирование по внутреней таблице HELP
СообщениеДобавлено: Пн, ноя 26 2007, 09:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
IVA_GRES написал:
Пишу вот так:
Code:
  sort itab_ost_low_h by lgort matnr bwtar.
  loop at itab_ost_low_h into itab_ost_low_wa_h.
    at end of lgort.
      sum.
      clear itab_ost_low_wa.
      move-corresponding itab_ost_low_wa_h to itab_ost_low_wa.
      itab_ost_low_wa-begremn = itab_ost_low_wa-menge.
      collect itab_ost_low_wa into itab_ost_low.
    endat.
  endloop.

Когда в разрезе одного склада всё ОК
Как только несколько складов то за место склада появляется ****
Что не так?

ТИПА ТАКОГО:
Code:
data: FL_lgort.
sort itab_ost_low_h by lgort matnr bwtar.
  loop at itab_ost_low_h into itab_ost_low_wa_h.
   CLEAR FL_LGORT. 
    at end of lgort.
    FL_LGORT = 'x'.
    endat.
IF FL_LGORT = 'x'.
      clear itab_ost_low_wa.
      move-corresponding itab_ost_low_wa_h to itab_ost_low_wa.
      itab_ost_low_wa-begremn = itab_ost_low_wa-menge.
      collect itab_ost_low_wa into itab_ost_low.
ENDIF.
  endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 26 2007, 09:29 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Цитата:
ROKO

А как на счёт SUM. ?

_________________
Не ломайте то что уже есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сумирование по внутреней таблице HELP
СообщениеДобавлено: Пн, ноя 26 2007, 09:31 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
IVA_GRES написал:
Пишу вот так:
Когда в разрезе одного склада всё ОК
Как только несколько складов то за место склада появляется ****
Что не так?

Цитата:
All components with a character-type, flat data type to the right of the current control key are set to character "*" in every position.

All the other components to the right of the current control key are set to their initial value.

Попробуйте использовать
loop at itab_ost_low_h ASSIGNING <itab_ost_low_wa_h>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 26 2007, 09:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
IVA_GRES написал:
Цитата:
ROKO

А как на счёт SUM. ?

Processing Table Entries in Loops:

Если говорить коротко - то в блоке at отстаётся только содержимое ключевых для данного блока полей (те, которые слева) и все остальные числовые поля. Содержимое остальных полей (которые справа) - считается неизвестным и заменяется звёздочками.

SAP написал(а):
f you are working with a work area <wa>, it does not contain the current line in the AT... ENDAT statement block. All character fields to the right of the current group key are filled with asterisks (*). All other fields to the right of the current group key contain their initial value.

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


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

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
И как же тогда просуммировать в разрезе склада и вида оценки?

_________________
Не ломайте то что уже есть.


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

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

_________________
С уважением, VGA
Мой блог


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
Если говорить коротко - то в блоке at отстаётся только содержимое ключевых для данного блока полей (те, которые слева) и все остальные числовые поля. Содержимое остальных полей (которые справа) - считается неизвестным и заменяется звёздочками.

Но в данном случае lgort является ключевым. Я думаю, что IVA_GRES смотрит на содержимое lgort не в том месте, т.е. не внутри at end of lgort.

В принципе всё правильно написано, если нужно в разрезе только склада (а не вида оценки).

Думаю, что ошибка в порядке определения полей в структурах.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, ноя 26 2007, 09:54 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
IVA_GRES написал:
И как же тогда просуммировать в разрезе склада и вида оценки?
"Вручную". at ... end at вообще считается устаревшей и нерекомендуемой к использованию технологией.

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


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Сохраняйте все что заменяется звездочками в своих переменных
Ну это если уж очень большой объём данных (так что нельзя копировать данные из одной структуры в другую) и если нельзя поправить стурктуру внутренней таблицы — источнка данных.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
at ... end at вообще считается устаревшей и нерекомендуемой к использованию технологией.

В какой версии? В keyword документации erp2005 AT и SUM не помечены как устаревшие.


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

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Мне нужно из внутренней таблички просуммировать по виду оценки и складу. Может кто подскажет как это сделать правильно?

_________________
Не ломайте то что уже есть.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
IVA_GRES написал:
И как же тогда просуммировать в разрезе склада и вида оценки?

Поля, по которым делается разрез должны быть в начале структуры, числа — в конце.
Т.е. структура должна быть такой:
WERKS - по желанию,
LGORT,
BWTAR,
MATNR,
MENGE и другие характеристики.

Code:
SORT itab_ost_low_h BY werks lgort bwtar matnr.
LOOP AT itab_ost_low_h
   AT END OF BWTAR.
      SUM.


Т.е. у вас рассогласован порядок сортировки: если использовать AT END OF LGORT, то и сортировать нужно сначала по BWTAR, а потом по LGORT. Ну и структура внутренних таблиц должна обязательно соответствовать.


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
vga написал(а):
Сохраняйте все что заменяется звездочками в своих переменных
Ну это если уж очень большой объём данных (так что нельзя копировать данные из одной структуры в другую) и если нельзя поправить стурктуру внутренней таблицы — источнка данных.


Ну да, если программу не я разрабатывал, стараюсь структуру не изменять...как бы чего не зацепить, а сохраняю заменяемые звездочкой поля в своих переменных.

_________________
С уважением, VGA
Мой блог


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

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
sy-uname написал(а):
IVA_GRES написал:
И как же тогда просуммировать в разрезе склада и вида оценки?
"Вручную". at ... end at вообще считается устаревшей и нерекомендуемой к использованию технологией.

+1
Сэкономите сейчас, завтра огребете геморрой по отладке. Собственно, вы уже с этим столкнулись :)
Причина поломки может стать любая - кто-нибудь поменял тип поля и в отчете "вдруг" поменяются все цифры.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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


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

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


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

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