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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Как оптимизировать выборку из таблицы BSEG
СообщениеДобавлено: Чт, янв 14 2021, 05:49 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 14 2021, 05:38
Сообщения: 31
Здравствуйте! Столкнулся с проблемой: нужно получить данные из таблицы BSEG. Передаю в неё значение поля EBELN, нужно получить значение поля BELNR с условием по полю VORGN. Но так как BSEG - это кластерная таблица, то такая выборка может продолжаться очень долго. Может, кто-то знает альтернативные пути решения?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Чт, янв 14 2021, 12:28 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Добрый день! Использовать другую таблицу, где ebeln ключевое поле: таблица ekbe


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Чт, янв 14 2021, 13:13 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 14 2021, 05:38
Сообщения: 31
Было бы хорошо так сделать, вот только в ekbe не совпадают данные по ebeln в bseg :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Чт, янв 14 2021, 13:32 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Не гость написал(а):
Было бы хорошо так сделать, вот только в ekbe не совпадают данные по ebeln в bseg :(

В ekbe можно найти номер belnr. И далее в bseg по ключу belnr уже дофильтровать данные.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Чт, янв 14 2021, 14:07 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 14 2021, 05:38
Сообщения: 31
В ekbe можно найти belnr это да, но ekbe это история документа закупки. Текущий belnr здесь не находится


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Чт, янв 14 2021, 20:20 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
В EKBE хранятся номера документов, которые созданы со ссылкой на заказ, например, документы материала и счета-фактуры.

А уже со ссылкой на документы материала и счета фактуры проводятся FI-документы, которые в BKPF-AWKEY + BKPF-AWTYPE содержат ссылку на документы, из которых они были проведены.

Разберитесь немного в бизнес-смысле вашей задачи. Какие вам конкретно финансовые проводки к номеру заказа нужны?

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как обойти таблицу BSEG
СообщениеДобавлено: Пт, янв 15 2021, 07:50 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 14 2021, 05:38
Сообщения: 31
LKU написал:
Разберитесь немного в бизнес-смысле вашей задачи. Какие вам конкретно финансовые проводки к номеру заказа нужны?


Тут вы правы. Я в этой сфере всего пару месяцев и работал с модулем PP, с финансами не особо знаком. А тот, кто должен разбираться в бизнес-процессе, говорит: "тыж программист")) Вот поэтому приходится на ходу разбираться.

Сама задача выглядит так: вставив № заказа в поле EBELN таблицы BSEG, найти номер документа с/ф (значение поля BELNR. У такой строки в поле VORGN указано значение RMRP). Вставить это значение в поле BELNR таблицы BKPF. Обязательно обратить внимание на год фактуры. Отобразить значение поля XBLNR.

Таблица BSEG очень тормозит, поэтому и хочу идти в обход, но не знаю как) Поэтому обращаюсь за помощью к знающим людям


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как оптимизировать выборку из таблицы BSEG
СообщениеДобавлено: Пт, янв 15 2021, 13:55 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1578
Откуда: Москва, Минск
Пол: Мужской
Примерно так:
1) Выбираете уникальные номера логистических счетов фактур(BELNR, GJAHR) из EKBE по EBELN + ограничения по VGABE + ограничения по BEWTP
2) При необходимости отсекаете сторнированные документы счетов фактур и документы сторно ( rbkp-stblg - не пусто), выборка из RBKP BELNR = ekbe-belnr, gjahr = ekbe-gjahr
3) Для каждого ekbe-belnr, ekbe-gjahr выбираете значение XBLNR из таблицы BKPF по AWTYP = 'RMRP', AWKEY = ekbe-belnr + ekbe-gjahr

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как оптимизировать выборку из таблицы BSEG
СообщениеДобавлено: Пн, янв 18 2021, 05:55 
Ассистент
Ассистент

Зарегистрирован:
Чт, янв 14 2021, 05:38
Сообщения: 31
DED_MOROZ написал:
Примерно так:
1) Выбираете уникальные номера логистических счетов фактур(BELNR, GJAHR) из EKBE по EBELN + ограничения по VGABE + ограничения по BEWTP
2) При необходимости отсекаете сторнированные документы счетов фактур и документы сторно ( rbkp-stblg - не пусто), выборка из RBKP BELNR = ekbe-belnr, gjahr = ekbe-gjahr
3) Для каждого ekbe-belnr, ekbe-gjahr выбираете значение XBLNR из таблицы BKPF по AWTYP = 'RMRP', AWKEY = ekbe-belnr + ekbe-gjahr


Спасибо, Дед Мороз, за подробный алгоритм. Это работает гораздо веселее, чем из таблицы BSEG. И за подсказку по исключению сторнированных документов). До этого я делал через костыль, не знал как в нормальном виде выглядит это дело. И все остальные тоже верный путь подсказали, но не совсем понятна логика была


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как оптимизировать выборку из таблицы BSEG
СообщениеДобавлено: Сб, янв 23 2021, 10:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Вообще-то постановкой задачи должны заниматься функциональные консультанты. :(

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


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

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


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

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


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

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