Текущее время: Ср, май 14 2025, 23:04

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Поток документов - нужен первоисточник
СообщениеДобавлено: Пт, авг 12 2005, 10:55 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Добрый день.
Есть задача - по возвратному документу поставки выйти на первоначальный заказ. Проблема в том, что по таблице потока документов VBFA с ключом VBELV дикие тормоза, а если искать первоначальные документы в цикле, то вообще армагедон. Другой вариант - взять номер предыдущего документа VGBEL в возвратном документе, потом спозиционироваться на нем и взять номер его предыдущего документа, и так далее. Тоже достаточно сложно.
Может быть кто-нибудь знает другой способ, более быстрый и легкий? Может есть дополнительные свпомогательные таблицы на этот случай?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 12 2005, 13:35 
Гость
А что если при создании документа определять источник и писать напимер в поле VBAK-ZUONR. В транзакции VOFM определить условия переноса, копирования данных или user-exitами.


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

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Ну это как вариант, конечно, только это делать надо, и у предыдущих документов переопределять как-то. Думал, может есть какие-нибудь вспомогательные таблицы или методики :roll:


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

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Искать по VBFA - это норма.
Можно раскручивать поток например вот так

Code:
  tables: vbak.

  select-options: s_vbeln for vbak-vbeln obligatory.
  parameters: p_vbtyp type vbtyp obligatory default 'M'.

  data: lt_vbfa type table of vbfa with header line.

  select *
    from vbfa
    into table lt_vbfa
   where vbeln in s_vbeln
     and vbtyp_n = p_vbtyp
     .

  if not lt_vbfa[] is initial.
    select *
      from vbfa
      appending table lt_vbfa
       for all entries in lt_vbfa
     where vbeln = lt_vbfa-vbelv
       and posnn = lt_vbfa-posnv
       and vbtyp_n = lt_vbfa-vbtyp_n.
  endif.

  loop at lt_vbfa.
    write: / lt_vbfa-vbelv, lt_vbfa-posnv, lt_vbfa-vbtyp_v,
             lt_vbfa-vbeln, lt_vbfa-posnn, lt_vbfa-vbtyp_n.
  endloop.


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

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
Я понимаю, что искать по VBFA - это правильно.
Только даже при просмотре таблицы VBFA в транзакции SE38 при поиске всего по
vbeln = lt_vbfa-vbelv
posnn = lt_vbfa-posnv
строка ищется минуты три. В итоге дикие тормоза. Может в консерватории что-то не так?


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

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Да, с консервами не так, наверное.. :)
В нашей VBFA ~3000000 записей. Всё ищется в лёт. Причем нет ни одного индекса. Всё чисто на ключах.

Кстати, приведённый пример запускать не пробовал? Долго работает?


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

Зарегистрирован:
Вс, сен 05 2004, 12:11
Сообщения: 420
Откуда: SAP ERP 2005
Попробуй сделать отдельный индекс по VBELN POSNN VBTYP_N, моежт поможет. А вообще странно, это ж сколько у тебя там должно быть записей, чтобы были такие тормоза... У меня - больше двух милионов, все летает. Хотя это немного, наверное.

_________________
Чтоб у нас все было, и нам за это ничего не было ! :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 16 2005, 12:17 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Согласен с:
Code:

Я понимаю, что искать по VBFA - это правильно.
Только даже при просмотре таблицы VBFA в транзакции SE38 при поиске всего по
vbeln = lt_vbfa-vbelv
posnn = lt_vbfa-posnv
строка ищется минуты три. В итоге дикие тормоза. Может в консерватории что-то не так?



Насчет

Code:
В нашей VBFA ~3000000 записей. Всё ищется в лёт.


Маловато.
В нашей 12 миллионов.
И приведенный код
Code:
  tables: vbak.

  select-options: s_vbeln for vbak-vbeln obligatory.
  parameters: p_vbtyp type vbtyp obligatory default 'M'.

  data: lt_vbfa type table of vbfa with header line.

  select *
    from vbfa
    into table lt_vbfa
   where vbeln in s_vbeln
     and vbtyp_n = p_vbtyp
     .

  if not lt_vbfa[] is initial.
    select *
      from vbfa
      appending table lt_vbfa
       for all entries in lt_vbfa
     where vbeln = lt_vbfa-vbelv
       and posnn = lt_vbfa-posnv
       and vbtyp_n = lt_vbfa-vbtyp_n.
  endif.

  loop at lt_vbfa.
    write: / lt_vbfa-vbelv, lt_vbfa-posnv, lt_vbfa-vbtyp_v,
             lt_vbfa-vbeln, lt_vbfa-posnn, lt_vbfa-vbtyp_n.
  endloop.


долговат.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 16 2005, 12:21 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Мы используем именно так:

Code:
Другой вариант - взять номер предыдущего документа VGBEL в возвратном документе, потом спозиционироваться на нем и взять номер его предыдущего документа, и так далее.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


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

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Ну что ж, тогда и вправду VGBEL рулит :)


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

Зарегистрирован:
Чт, янв 27 2005, 07:57
Сообщения: 59
У нас за первые полгода полета 4.5 миллиона записей в VBFA накопилось, индексов у таблицы видимо нет, если б умел сделал :)
Так что пока решил на этом остановиться (поиск первоначального запроса/заказа для поставки):
[code]
DATA: BEGIN OF wa_vbak,
vbeln TYPE vbak-vbeln,
vgbel TYPE vbak-vgbel,
END OF wa_vbak.

SELECT SINGLE vgbel FROM lips INTO wa_vbak-vgbel
WHERE vbeln EQ lt_likp-vbeln.
DO.
SELECT SINGLE vbeln vgbel FROM vbak
INTO (wa_vbak-vbeln, wa_vbak-vgbel)
WHERE vbeln EQ wa_vbak-vgbel.
IF sy-subrc > 2. EXIT. ENDIF.
IF wa_vbak-vgbel IS INITIAL. EXIT. ENDIF.
ENDDO.
[/code]


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 08:33 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
hitcher написал(а):
индексов у таблицы видимо нет, если б умел сделал :)
SE11, кнопка "Индексы". Выскакивает окошко с существующими индексами и кнопками создания и удаления индексов 8)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 08:49 
Специалист
Специалист

Зарегистрирован:
Вт, ноя 02 2004, 10:06
Сообщения: 136
Не знаю о создании каких индексов идет речь, но у нас в системе VBFA - таблица кластера и индексы создавать не дает и реально ищет только по VBELV и POSNV.
Запросы типа
select *
from vbfa
into table lt_vbfa
where vbeln in s_vbeln
and vbtyp_n = p_vbtyp
это 100% фулскан и следовательно тормоза. Поэтому тоже пользуемся VGBEL


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

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
qq написал(а):
Не знаю о создании каких индексов идет речь, но у нас в системе VBFA - таблица кластера и индексы создавать не дает и реально ищет только по VBELV и POSNV.

Видимо с какой-то версии она становится прозрачной. В 4.6 - прозрачная.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 17 2005, 11:40 
Специалист
Специалист

Зарегистрирован:
Вт, ноя 02 2004, 10:06
Сообщения: 136
У нас 46С. :)
Правда кучу раз проапгрейченая (может чуть ли ни с 3-ей)


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

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


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

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


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

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