Текущее время: Сб, апр 27 2024, 13:25

Часовой пояс: 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
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
Примерно так:
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 часа


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

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


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

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