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

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


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

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


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

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