Текущее время: Ср, авг 21 2019, 07:39

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Вт, авг 13 2019, 17:18 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 10:51
Сообщения: 349
Пол: Женский
Очень медленно выбирается информация из таблицы BSEG или BKPF.
В программе ставлю оператор , например

data: zbseg type table of bseg with header line initial size 0.
data: zbkpf type table of bkpf with header line initial size 0.
.....
select * from bseg into table zbseg where
gjahr = gjahr1 and bukrs = '010L' and ( HKONT in zrah ) .

или

select * from bkpf into table zbkpf where
gjahr = gjahr1 and monat >= period1 and monat <= period2
and bukrs = '010L' and blart <> 'AZ'.

Подскажите , возможно есть правила , как верно писать SELECT * для того что б выборка происходила быстрее !!!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Вт, авг 13 2019, 18:26 
Ассистент
Ассистент

Зарегистрирован:
Вт, май 11 2010, 15:34
Сообщения: 42
Для чтения BSEG по таким условиям приходится переберать все записи таблицы. Посмотрите таблицы BSIK BSAK BSID BSAD


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Вт, авг 13 2019, 18:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 1154
Откуда: Москва
Пол: Мужской
Выборка из BSEG всегда будет жестяная, даже если по ключевым полям.
Что уж говорить про выборку по HKONT.
И уж молчу про то, что в BSEG лежит много хлама, которое Вам не нужно при таком обращении (например, памятные позиции, модели, контировки, долгосрочные проводки).
Все это не влияет на сальдо и бухгалтерскими проводками не является.
Отсекать такое нужно по BSTAT, которого нет в BSEG, оно есть только во вторичных индексах и в BKPF. Джонить в этих целях BSEG также не выйдет (кластер).

ilya написал(а):
Для чтения BSEG по таким условиям приходится переберать все записи таблицы. Посмотрите таблицы BSIK BSAK BSID BSAD

Судя по выборке, описанной автором топика, уж тогда говорить надо про BSIS, BSAS. Там по HKONT выборка пронесется молниеносно.
И BSIS, BSAS есть много полей из BKPF. То есть очень часто это уже готовые для работы массивы данных.
Есть лишь одна проблема: некоторые поля в BSIS с BSEG не совпадают (и не обязаны).
Например, тот же ZUONR, потому что в BSEG для реконсилляции ZUONR идет из ключа сортировки контрагента, а в BSIS - из ключа сортировки счета ГК.
Но при некотором комплексе подготовительных мероприятий (обеспечить синхронное заполнение BSIS и BSEG в части подобных полей) почти всегда для решения задачи можно ограничиться выборкой из BSIS, BSAS.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Ср, авг 14 2019, 10:19 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 270
Откуда: Yugorsk.RU
Пол: Мужской
а почему автор стандартные ЛБД не использует для выборки?
Или тоже медленно?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Ср, авг 14 2019, 11:20 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, фев 04 2009, 10:51
Сообщения: 349
Пол: Женский
Спасибо .Выборка с таблицы BSIS идет намного быстрее чем с BSEG . Но почему в таблице BSIS поле SGTXT не заполнено для позиции документа хотя в в таблице BSEG-SGTXT поле заполнено для этого документа и в документе текст к позиции заполнен ?Мне нужно значение этого поля !


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF  Тема решена
СообщениеДобавлено: Ср, авг 14 2019, 11:58 
Директор
Директор

Зарегистрирован:
Пн, мар 25 2013, 13:19
Сообщения: 1019
Цитата:
Но почему в таблице BSIS поле SGTXT не заполнено для позиции документа хотя в в таблице BSEG-SGTXT поле заполнено для этого документа и в документе текст к позиции заполнен ?Мне нужно значение этого поля !


вы точно проверили, по конкретному документу-году-балансовой?
Возможно ноты какой то не хватает, сложно сказать, так как поле стандртаное. В любом случае, если у вас есть номер документа из BSIS, то можете обратно в BSEG обратиться (по конкретным документам BSEG работает быстро)

А вообще с такими вопросами обращайтесь к консультанту, так как он должен дать Вам ТЗ где будет расписано какие данные из каких таблиц тянуть. Возможно есть альтарнативы


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Чт, авг 15 2019, 02:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 1154
Откуда: Москва
Пол: Мужской
oko_5 написала:
Спасибо .Выборка с таблицы BSIS идет намного быстрее чем с BSEG . Но почему в таблице BSIS поле SGTXT не заполнено для позиции документа хотя в в таблице BSEG-SGTXT поле заполнено для этого документа и в документе текст к позиции заполнен ?Мне нужно значение этого поля !

SGTXT в BSIS и BSEG разъезжаться не должны.
Есть перечень полей, которые могут отличаться "на коробочном" решении, пример я привел выше.
Но SGTXT 100% отличаться не может.
Как уже отмечено выше, проверьте ключ.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Чт, авг 15 2019, 02:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 1154
Откуда: Москва
Пол: Мужской
thebestsaper написал(а):
вы точно проверили, по конкретному документу-году-балансовой?
Возможно ноты какой то не хватает, сложно сказать, так как поле стандртаное. В любом случае, если у вас есть номер документа из BSIS, то можете обратно в BSEG обратиться (по конкретным документам BSEG работает быстро)
А вообще с такими вопросами обращайтесь к консультанту, так как он должен дать Вам ТЗ где будет расписано какие данные из каких таблиц тянуть. Возможно есть альтарнативы

После выборки в 200 тыс. позиций обращаться к BSEG по конкретным документам? Это убийственно будет.
Даже если набрать массив активных ключей и выбрать из BSEG в несколько выборок пачками, а потом делать read table, это все равно какая-то непозволительная роскошь.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Чт, авг 15 2019, 10:36 
Менеджер
Менеджер

Зарегистрирован:
Вт, ноя 09 2010, 20:59
Сообщения: 737
Откуда: Novosibirsk
Пол: Мужской
oko_5 написала:
Очень медленно выбирается информация из таблицы BSEG или BKPF.
Подскажите , возможно есть правила , как верно писать SELECT * для того что б выборка происходила быстрее !!!

правило только одно - произвести декластеризацию подобных таблиц
SAP Strategy for Cluster and Pool Tables
Цитата:
Cluster and pool tables have been introduced by SAP in early releases to efficiently store information from several application tables in one database table.
Cluster tables combine information from several tables logically belonging together. They allow efficient access to a whole application object without incurring joins on database level.
Pool tables combine a large number of individual small tables into one database table, which adressed problems with large numbers of individual database objects.

чтобы побороть эти тормоза нужно привести эти таблицы к обычным траспаретным таблицам
How to: Declustering and depooling with NW 7.4 SP03 and higher on databases other than SAP HANA
после этих манипуляций даже индексы дополнительные не придется создавать без особой необходимости


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Чтение таблиц BSEG и BKPF
СообщениеДобавлено: Чт, авг 15 2019, 12:05 
Директор
Директор

Зарегистрирован:
Пн, мар 25 2013, 13:19
Сообщения: 1019
Цитата:
После выборки в 200 тыс. позиций обращаться к BSEG по конкретным документам? Это убийственно будет.


ну тут зависит от того, что нужно и в каком объеме. Если из 200 тыс в BSID мы выбрали-отфильтровали по каким то признакам 10 конкретных документов, которые нам надо, почему не пойти в BSEG и не вытянуть инфу, которая нужна?


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

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


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

Сейчас этот форум просматривают: pberezin


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

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