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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Списание материалов на МВЗ
СообщениеДобавлено: Сб, сен 20 2008, 14:07 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
Коллеги,

подскажите как можно получить материалы, которые были списаны на МВЗ или заказы с привязкой к первичным документам.

я делаю вот так

Code:
concatenate gjahr '01' '01' into datat.
concatenate gjahr '01' '31' into datbi.
  select *
  into corresponding fields of table xmseg
  from mkpf
    inner join mseg
       on  mkpf~mblnr = mseg~mblnr
  where mkpf~budat between datat and datbi
    and mseg~kostl = kostl.


но работает просто убийственно долго, по 1 мвз порядка 2 секунд за 1 месяц. В стандартном отчете S_ALR_87013611 - МВЗ: факт/план/отклонение при получении отдельных позиций по факту все работает на ура, не успеваю глазом моргнуть.
Подскажите как можно оптимизировать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание материалов на МВЗ
СообщениеДобавлено: Сб, сен 20 2008, 14:27 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
eremkin написал(а):
Коллеги,

подскажите как можно получить материалы, которые были списаны на МВЗ или заказы с привязкой к первичным документам.

я делаю вот так

Code:
concatenate gjahr '01' '01' into datat.
concatenate gjahr '01' '31' into datbi.
  select *
  into corresponding fields of table xmseg
  from mkpf
    inner join mseg
       on  mkpf~mblnr = mseg~mblnr
  where mkpf~budat between datat and datbi
    and mseg~kostl = kostl.


но работает просто убийственно долго, по 1 мвз порядка 2 секунд за 1 месяц. В стандартном отчете S_ALR_87013611 - МВЗ: факт/план/отклонение при получении отдельных позиций по факту все работает на ура, не успеваю глазом моргнуть.
Подскажите как можно оптимизировать?

Вот так можно попробовать
Code:
concatenate gjahr '01' '01' into datat.
concatenate gjahr '01' '31' into datbi.
  select *
  into corresponding fields of table xmseg
  from mkpf
    inner join mseg
       on  mkpf~mblnr = mseg~mblnr
  where mkpf~budat between datat and datbi.
    "and mseg~kostl = kostl.
DELETE xmseg WHERE kostl NE kostl.

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, сен 20 2008, 15:36 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Попробуйте без corresponding fields of table, без *, укажите только те поля которые нужны, и еще может двумя простыми селектами и потом loop и read table binary search использовать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, сен 20 2008, 15:52 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
время пока только увеличилось


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, сен 20 2008, 15:54 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
eremkin написал(а):
время пока только увеличилось
Посмотрите в SE30 статистику.

_________________
"I have a dream"(c)Martin Luther King, Jr.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, сен 20 2008, 16:02 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, янв 11 2008, 06:48
Сообщения: 94
Цитата:
Попробуйте без corresponding fields of table, без *, укажите только те поля которые нужны, и еще может двумя простыми селектами и потом loop и read table binary search использовать?

В таблице mseg порядка 7 млн записей mkpf порядка 3 млн, если выгружать по отдельности с условием того, что есть критерии выбора получится по одному месяцу из mkpf порядка 67 тыс. в таблице mseg нет временного поля и это значит со временем количество записей будет только расти. Т.о. не думаю, что это хороший вариант. Обидно, то что результатом должно быть всего порядка 100 для одного МВЗ :-(.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание материалов на МВЗ
СообщениеДобавлено: Пн, сен 22 2008, 01:00 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Mjahr забыли, хотя это вродебы сильно на производительность влиять не должно было, а вот правильность результата пострадала
Code:
    inner join mseg
       on  mkpf~mblnr = mseg~mblnr
>>    and  mkpf~mjahr = mseg~mjahr


Вобще план исполнения запроса смотреть надо ST05...Explain
Возможно статистика по таблицам БД не собрана


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание материалов на МВЗ
СообщениеДобавлено: Пн, сен 22 2008, 07:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
eremkin написал(а):
В стандартном отчете S_ALR_87013611 - МВЗ: факт/план/отклонение при получении отдельных позиций по факту все работает на ура, не успеваю глазом моргнуть.
Подскажите как можно оптимизировать?


Тык там же используется ракурс контроллингового документа COVP:

В программе SAPLKAEP
В инклюде LKAEPFSL
В строке 186
Можете увидеть вот такой
Code:
     SELECT (VT_FIELDS) INTO CORRESPONDING FIELDS OF GS_COVP_EXT
                         FROM (V_DB_TABLE)
                         WHERE LEDNR = '00'
                         AND   OBJNR IN LR_OBJNR
                         AND   GJAHR IN GR_GJAHR
                         AND   VERSN IN GR_VERSN
                         AND   WRTTP IN GR_WRTTP
                         AND   KSTAR IN LR_KSTAR
                         AND   PERIO IN GR_PERIO
                         AND   BUDAT IN GR_BUDAT
                         AND   PAROB IN GR_PAROB
                         AND   (VT_VAR_COND).



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 22 2008, 09:32 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, июл 09 2007, 18:09
Сообщения: 63
Откуда: Москва
Если не ошибаюсь есть таблица итогов, по ней будет легче искать и быстрее


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

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


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

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


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

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