Текущее время: Чт, апр 18 2024, 10:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: RSQL error 13 when accessing table
СообщениеДобавлено: Пт, авг 10 2007, 10:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Помогите разобраться с вот этим
Цитата:
ABAP-äèíàìè÷. îøèáêà DBIF_RSQL_INVALID_RSQL
Âîçíèêëà: 10.08.2007 â 11:36:50


RSQL error 13 when accessing table "ZMM110STORVS ".


×òî ïðîèçîøëî?


The current ABAP/4 program "ZMM_117_REPORT_OST_VS " had to be terminated
because
one of the statements could not be executed.

This is probably due to an error in the ABAP/4 program.

Выскакивает тогда когда выбирает
Code:
  select * from  zmm110storvs
  into corresponding fields of table izmm110storvs
                      where
                          werks   = werks
                                and
                          cod_ogk in ogk_cod
                                and
                          lgort   in lgort
                                and
                          cod_ogk in iogk_cod.

iogk_cod это внутрення таблица с исключениями. когда там записей около 2000 то всё ок но как только там более 2000 то хана. Помогите разобраться. Заранее благодарю.

_________________
Не ломайте то что уже есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:02 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
В ogk_cod - интервалы, а в iogk_cod - исключения к ним ?
Так может обработать iogk_cod после селекта, просто взять и удалить ненужное из izmm110storvs.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:06 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Цитата:
В ogk_cod - интервалы, а в iogk_cod - исключения к ним ?

ogk_cod пустой (это только заложенный функционал).
izmm110storvs даже не собирается. вылитает на SALECT.
Отрабатывает кусок программы по сбору данных а потом происходит следующее:
Code:
  refresh izmm110storvs.
  clear: zmm110storvs_wa.
  delete adjacent duplicates
         from iogk_cod comparing low.
  select * from  zmm110storvs
  into corresponding fields of table izmm110storvs
                      where
                          werks   = werks
                                and
                          cod_ogk in ogk_cod
                                and
                          lgort   in lgort
                                and
                          cod_ogk in iogk_cod.

Тоесть в iogk_cod уже есь данные которые нужно исключить из вспомогательной таблицы.

_________________
Не ломайте то что уже есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:10 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
интерфейс БД из OpenSQL интерпретирует SQL-запрос из ABAP-программы в строку и отправляет в СУБД. Предположим, есть RANGE или SELECT-OPTIONS, выражение
Code:
field IN so
интерпретируется типа так:
Code:
str = '
field beetwen val1 and val2 OR
field = val3 OR
field LIKE val4 OR ... '

итд.
И существует определенное ограничение на длину этой строки. Когда записей в SO слишком много, то и длина строки получается слишком большой, и происходит динамическая ошибка.
Выход отлько один: не запихивать слишком много значений в SO или RANGE, разбивая на несколько SELECT-ов[/code]


Последний раз редактировалось Art386 Пт, авг 10 2007, 11:17, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:13 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июн 02 2006, 14:22
Сообщения: 138
Откуда: г.Новомичуринск
Пол: Мужской
Спасибо. Буду знать на будующее.

_________________
Не ломайте то что уже есть.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: RSQL error 13 when accessing table
СообщениеДобавлено: Пт, авг 10 2007, 11:14 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
IVA_GRES написал:
iogk_cod это внутрення таблица с исключениями. когда там записей около 2000 то всё ок но как только там более 2000 то хана. Помогите разобраться. Заранее благодарю.

Есть ограничение на количество записей. Сходу не помню сколько, надо поискать. Как только количество превышается - дамп.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:16 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
кстати, то же самое относится и к динамическим предикатам в запросах, когда в условия подсовывается внутренняя таблица
Code:
WHERE (it_where).
Будьте аккуратны при ее заполнении :)
Цитата:
Есть ограничение на количество записей. Сходу не помню сколько, надо поискать. Как только количество превышается - дамп.

нет, не на количество записей, а именно на их суммарную длину.
например, если SO1 будет определен для поля num(5), а SO2 - для num(10), то число записей для дампа в первый SO можно напихать больше, чем во второй


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RSQL error 13 when accessing table
СообщениеДобавлено: Пт, авг 10 2007, 11:21 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Dzed Maroz написал:
Есть ограничение на количество записей. Сходу не помню сколько, надо поискать. Как только количество превышается - дамп.

ИМХО не на количество записей, а на размер запроса SQL (ну или на длину строки, как пишет Art386)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 10 2007, 11:34 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
IVA_GRES написал:
Цитата:
В ogk_cod - интервалы, а в iogk_cod - исключения к ним ?

ogk_cod пустой (это только заложенный функционал).
izmm110storvs даже не собирается. вылитает на SALECT.
Отрабатывает кусок программы по сбору данных а потом происходит следующее:
Code:
  refresh izmm110storvs.
  clear: zmm110storvs_wa.
  delete adjacent duplicates
         from iogk_cod comparing low.
  select * from  zmm110storvs
  into corresponding fields of table izmm110storvs
                      where
                          werks   = werks
                                and
                          cod_ogk in ogk_cod
                                and
                          lgort   in lgort
                                and
                          cod_ogk in iogk_cod.

Тоесть в iogk_cod уже есь данные которые нужно исключить из вспомогательной таблицы.


Проблему IN обходят обычно через FOR ALL ENTRIES, но это хорошо только в случае заполнения ogk_cod и , конечно, для включаемых ограничений. Иначе полный перебор. То есть, Вам это врядли подойдет. Несколько селектов при условии ограничения - это не вариант. Мне, кажется, после селекта проще удалить записи из вн. таблицы.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Последний раз редактировалось Lars Пт, авг 10 2007, 11:36, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: RSQL error 13 when accessing table
СообщениеДобавлено: Пт, авг 10 2007, 11:35 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
ArmAnn, Art386, согласен с вами. Именно на размер запроса. Просто не так выразился. :oops:
Обычно на работе привык выражаться просто, не вдаваясь в технические подробности :wink:


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

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


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

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


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

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