Текущее время: Вс, июл 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 часа


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

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


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

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