Текущее время: Пн, июл 21 2025, 02:27

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Подскажите как справится с ошибкой: TIME OUT
СообщениеДобавлено: Ср, авг 27 2008, 07:56 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, июл 30 2008, 09:41
Сообщения: 32
Откуда: Almaty
Пол: Мужской
Проблема в следующем: я использую команду SELECT ... ENDSELECT,
делаю выборку из ОЧЕНЬ большой таблицы, по нескольким условиям и записываю в свою внутреннею таблицу, а эта "зараза" все время вылетает по TIME OUT.
Вот мой код:

select * from BSIS WHERE BUKRS = BUKRS-LOW AND HKONT = '6280-001' AND BLART ne 'ST'.
MOVE-CORRESPONDING BSIS TO tb_rezult1.
APPEND tb_rezult1.
ENDSELECT.

Подскажите кто знает как с этим справится, чтобы не было динамической ошибки TIME OUT.
Заранее СПАСИБО!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:02 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Увеличить значение параметра:
rdisp/max_wprun_time
в профиле инстанции.
Обратитесь к базиснику.
Но злоупотреблять не следует.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:06 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Между select ... endeselect воткните вызов ФМ SAPGUI_PROGRESS_INDICATOR каждые две-три минуты. Падать не должно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:06 
Директор
Директор

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Да, поработайте на оптимизацией выборки, например:
select ... INTO TABLE ... from
loop at ....

endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Подскажите как справится с ошибкой: TIME OUT
СообщениеДобавлено: Ср, авг 27 2008, 08:14 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, июл 30 2008, 09:41
Сообщения: 32
Откуда: Almaty
Пол: Мужской
[color=black]Aval
Да, поработайте на оптимизацией выборки, например:
select ... INTO TABLE ... from
loop at ....

endloop.[/color
]

Я пробовал оптимизировать по разному, все равно велетает по TIME OUT


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:18 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="John Doe"]Между select ... endeselect воткните вызов ФМ SAPGUI_PROGRESS_INDICATOR каждые две-три минуты. Падать не должно.[/quote]
А как сделать каждые 2-3 минуты?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:18 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, июл 30 2008, 09:41
Сообщения: 32
Откуда: Almaty
Пол: Мужской
John Doe
Между select ... endeselect воткните вызов ФМ SAPGUI_PROGRESS_INDICATOR каждые две-три минуты. Падать не должно.


А почему не будет падать???
Получается , что во время селекта идет переключение на другую операцию и время для TIME OUT обновляется, я так понимаю!!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:23 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="mihey_x3m"][color=darkred]John Doe
Между select ... endeselect воткните вызов ФМ SAPGUI_PROGRESS_INDICATOR каждые две-три минуты. Падать не должно.[/color]

А почему не будет падать???
Получается , что во время селекта идет переключение на другую операцию и время для TIME OUT обновляется, я так понимаю!![/quote]
Я думаю что так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:23 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Да, поработайте на оптимизацией выборки
Select * ...
BSIS довольно широкая таблица - лучше перечислите те поля которые вам нужны.

Запускайте в фоновом режиме.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:25 
Специалист
Специалист

Зарегистрирован:
Пт, июл 22 2005, 08:56
Сообщения: 158
mihey_x3m написал:
John Doe
Между select ... endeselect воткните вызов ФМ SAPGUI_PROGRESS_INDICATOR каждые две-три минуты. Падать не должно.


А почему не будет падать???
Получается , что во время селекта идет переключение на другую операцию и время для TIME OUT обновляется, я так понимаю!!

потому что данный ФМ генерирует диалог. сообщение внизу, который сбивает таймаут...

И на самом деле - селект можно и нужно оптимизировать... :!:

_________________
C SAP
Изображение


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

Зарегистрирован:
Ср, июл 30 2008, 09:41
Сообщения: 32
Откуда: Almaty
Пол: Мужской
часть
потому что данный ФМ генерирует диалог. сообщение внизу, который сбивает таймаут...

И на самом деле - селект можно и нужно оптимизировать...


Если даже через se11 по BSIS задать два условия, то тоже вылетает по тайм ауту.... Я не знаю как в таком влучае можно оптимизировать селект!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:33 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
to Besa
Можешь переменную ввести для времени, GET TIMEом обновлять данные системной переменой и сравнивать их.
Code:
DATA: XTIME TYPE SYST-TIMLO.

XTIME = SY-TIMLO + 120000.
SELECT ...
  GET TIME.
  IF XTIME = SY-TIMLO.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'.
  ENDIF.
ENDSELECT.


Но лучше сперва сделать пробный селект для получения количества записей по-условию. Потом раздробить на 10 частей, к примеру, и вызывать ФМ в момент исполнения части селекта.

Но вообще самый лучший выход уже написали выше - "убить" селект-эндселект и выбирать данные во внутреннюю таблицу, можно тоже кусками.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:40 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[b]to John Doe[/b]
Спасибо, тоже придерживаюсь мнения, что решение в оптимизации выборки, просто меня заинтересовал Ваш вариант, даже не думал что так можно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:42 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, июл 30 2008, 09:41
Сообщения: 32
Откуда: Almaty
Пол: Мужской
John Doe
Но вообще самый лучший выход уже написали выше - "убить" селект-эндселект и выбирать данные во внутреннюю таблицу, можно тоже кусками.


Я уже пробовал "убить" селект-эндселект разными способами, не полутилось... и я что-то не совсем понял, как данные во внутреннюю таблицу выбирать кусками?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 08:46 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="mihey_x3m"][color=darkred]John Doe
Но вообще самый лучший выход уже написали выше - "убить" селект-эндселект и выбирать данные во внутреннюю таблицу, можно тоже кусками.[/color]

Я уже пробовал "убить" селект-эндселект разными способами, не полутилось... и я что-то не совсем понял, как данные во внутреннюю таблицу выбирать кусками?[/quote]
SE30->Кнопка «Советы», SQL Interface. Может это поможет.


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

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


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

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


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

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