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

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


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

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


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

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