Posted: Tue Aug 26, 2008 7:35 am Post subject: дамп при выполнении select
Добрый день.
Проблема в следующем. нужно выполнить следующий Select
SELECT SINGLE * FROM FEBCL
WHERE KUKEY = TAB-KUKEY
and ( ( AGKON IN AGKON AND KOART EQ 'S' )
or ( AGKON IN AGKON_X AND KOART EQ 'K' ) )
AND SELVON IN SELV.
Проблема в том, что AGKON_X и AGKON содержат по 8000 записей. из-за этого запрос падает в дамп. как оптимизировать процесс?
Age: 165 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Aug 26, 2008 9:17 am Post subject:
Причина падения понятна, строка с sql запросом к базе превышает допустимую для данной базы длину.
Общие рекомендации:
1) Использовать FOR ALL ENTRIES
2) Разбить на несколько запросов, чтобы количество записей в range не превышало, например 1000. Это более производительный способ, чем вариант 1.
Code:
CONSTANTS:
c_max_size TYPE i VALUE 1000.
DATA: l_max_line TYPE i,
l_mod TYPE i,
l_tabix TYPE sy-tabix.
RANGES:
lr_vbeln FOR likp-vbeln.
SELECT vbeln
INTO CORRESPONDING FIELDS OF TABLE lt_tab
FROM likp
WHERE kunnr IN s_kunnr.
Максимальный объем SQL-запроса ограничен, обычно 32 или 64 кб, это ограничение сервера БД. Поэтому только разбивать AGKON и AGKON_X на порции по тысяче-две записей и последовательно выполнять выборки
Posted: Fri Aug 29, 2008 3:45 pm Post subject: Re: дамп при выполнении select
MarkovSoft wrote:
Добрый день.
Проблема в следующем. нужно выполнить следующий Select
SELECT SINGLE * FROM FEBCL
WHERE KUKEY = TAB-KUKEY
and ( ( AGKON IN AGKON AND KOART EQ 'S' )
or ( AGKON IN AGKON_X AND KOART EQ 'K' ) )
AND SELVON IN SELV.
Проблема в том, что AGKON_X и AGKON содержат по 8000 записей. из-за этого запрос падает в дамп. как оптимизировать процесс?
не надо ничего разбивать
замени AGKON IN AGKON на
SELECT SINGLE * FROM FEBCL a
...
where EXISTS (select null from agkon b where b.agkon = a.agkon)
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.