Текущее время: Чт, мар 28 2024, 16:47

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Суммирование по Полю
СообщениеДобавлено: Ср, апр 04 2018, 16:07 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Здравствуйте.
Создана внутр табл из двух таблиц.
Code:
* Собираем данные из первой таблицы БД
SELECT lfgja labst matnr AS matnr lgort INTO CORRESPONDING FIELDS OF TABLE gt_result_tab FROM mard
WHERE lgort IN lgort_d.
* Добавляем данные из второй таблицы БД
SELECT gamng matnr AS matnr APPENDING CORRESPONDING FIELDS OF TABLE gt_result_tab FROM zppmrp5
  WHERE matnr IN matnr.

Code:
SORT gt_result_tab BY matnr gamng.

LOOP AT gt_result_tab INTO gs_result_tab.
  IF gs_result_tab-gamng EQ '0'.
    gs_result_tab-uncreserve = '0'.
  ELSEIF gs_result_tab-uncreserve = '1'.
  ENDIF.
  IF gs_result_tab-labst NE '0'.
    COLLECT gs_result_tab INTO gt_result_tab_alv.
  ENDIF.
ENDLOOP.

CLEAR: gt_result_tab[].

PERFORM get_fieldcatalog.
CALL SCREEN 102.

получается, что материал есть в одинаковый по названию, но лежит в разных цехах, заводах и т.д.
по факту, нормативная потребность (поле GAMNG) выводится = 0.
1) Почему она нуль? А не идет суммирование ?
2) Как произвести суммирование по этому полю? Чтобы материалы с одинаковым названием суммировались?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Ср, апр 04 2018, 23:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
А что вы хотели?
1. В одной таблице gamng заполняется, в другой - нет. :roll:
2. В одной таблице lgort заполняется, в другой - нет.
3. В одной таблице выборка по lgort, в другой - по matnr.
4. Для одной таблицы uncreserve заполняется, для другой - нет.
5. Ну и COLLECT проходит только для записей, где gamng всегда пустой :shumlol:

Вы ежа с ужом скрестить хотите? :shock:

В 1-й выборке выбирайте labst и matnr
Выравняйте условия выборок
В таблице gt_result_tab должно быть 3 поля - matnr, gamng и labst

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Чт, апр 05 2018, 13:16 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
в первой таблице у нас есть matnr lfgja labst lgort
в другой matnr gamng
я из первой взял всю информацию и добавил из второй по matnr?
совсем ерунду написал ? :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Чт, апр 05 2018, 14:03 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
я не совсем понимаю, что не так ? поясните пожалуйста подробнее.. вроде (по моей логике) все правильно :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Пн, апр 09 2018, 08:07 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
sonics написал(а):
я не совсем понимаю, что не так ? поясните пожалуйста подробнее.. вроде (по моей логике) все правильно :(

У этого оператора есть строгие правила по которым он находит подходящие для суммирования строки. Если быть точнее, то все поля которые не подлежат суммированию(не цифровые) - будут использоваться как ключ для поиска подходящей для суммирования строки.
В вашем случае как вы и сами говорите, ваш материал лежит в разных орг. единицах. Как система должна понять что вы хотите суммировать? Если вам нужна подсуммировка gamng в разрезе по материалу(что странно, т.к. в первой выборке вы это поле не выбирается) то и заполнены у вас должны быть эти 2 поля.
По коду:
1) Этот код точно верный? Зачем второе условие? У вас там нет ничего... А если хотели оставить его на будущее - то прочитайте по принцип YAGNI.
Code:
IF gs_result_tab-gamng EQ '0'.
    gs_result_tab-uncreserve = '0'.
  ELSEIF gs_result_tab-uncreserve = '1'.
  ENDIF.

2) Коллект у вас происходит только если есть запас. При этом во второй выборке у вас это поле не заполняется. Значит ни для одной записи из 2-й выборки даже не будет попытке произвести подсуммировку! Что вы вообще хотите от системы?
Code:
  IF gs_result_tab-labst NE '0'.
    COLLECT gs_result_tab INTO gt_result_tab_alv.
  ENDIF.


Может вы что-то подобное имели ввиду?
Code:
data: lt_zppmrp5 type TABLE OF zppmrp5,
      lt_mard type TABLE OF mard.

data: lr_matnr type RANGE OF matnr,
      ls_matnr like LINE OF lr_matnr.

SELECT matnr as low
INTO CORRESPONDING FIELDS OF TABLE lr_matnr
FROM mard
WHERE matnr IN matnr AND
       lgort IN lgort_d AND
       labst > 0.

ls_matnr-sign = 'I'.
ls_matnr-option = 'EQ'.
MODIFY lr_matnr FROM ls_matnr TRANSPORTING sign option WHERE sign is INITIAL.

SELECT gamng matnr
  into CORRESPONDING FIELDS OF TABLE lt_zppmrp5
  FROM zppmrp5
  WHERE matnr IN lr_matnr.

LOOP AT lt_zppmrp5 ASSIGNING <zppmrp5>.
  COLLECT <zppmrp5> INTO gt_result_tab_alv.
ENDLOOP.

Это если запас вам нужен только как критерий отбора. Если нет, то придется немного переписать, можно даже на FOR ALL ENTRIES, чтобы не заморачиваться(если данных не много).
Для чего вам поле uncreserve - не знаю.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Пн, апр 09 2018, 11:10 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Неужели на такого рода вопросы проще получить ответ тут, чем прочитать какой нибудь "хелп" (даже на русском) / посмотреть примеры (наверное даже видео есть) или воспользоваться поиском... :)
При таком подходе будет сложно "выбраться" из этого круга.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Чт, апр 19 2018, 08:35 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 14:11
Сообщения: 375
Besa написал:
Неужели на такого рода вопросы проще получить ответ тут, чем прочитать какой нибудь "хелп" (даже на русском) / посмотреть примеры (наверное даже видео есть) или воспользоваться поиском... :)
При таком подходе будет сложно "выбраться" из этого круга.

выбрались выбрались (:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Суммирование по Полю
СообщениеДобавлено: Чт, апр 19 2018, 09:40 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
sonics написал(а):
Besa написал:
Неужели на такого рода вопросы проще получить ответ тут, чем прочитать какой нибудь "хелп" (даже на русском) / посмотреть примеры (наверное даже видео есть) или воспользоваться поиском... :)
При таком подходе будет сложно "выбраться" из этого круга.

выбрались выбрались (:

:pivo:


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

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


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

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


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

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