Текущее время: Чт, мар 28 2024, 15:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ABAP-программа и Native SQL
СообщениеДобавлено: Вт, июн 06 2017, 10:11 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 17 2015, 20:36
Сообщения: 59
Добрый день!

Если есть гуру, которые могут подсказать, как написать ABAP-программу с SQL-запросами в BD Oracle, которая собирает статистику, отзовитесь плз.

Для начала есть: файлы SQL (? - якобы примеры), опыт ABAP программирования и начальные знания Native SQL.

Надо получить статистику (размеры, объемы таблиц и пр.).

Для примера кусок из этого SQL файла:
...
Code:
select count(*)
    into   v_index_maxcount
    from   user_indexes a
    where  partitioned = 'NO'
    and    exists (
                     select *
                     from   user_tab_statistics
                     where  (stale_stats = 'YES'
                     or      stale_stats is null)
                     and    table_name   = a.table_name
                  )   
    ;

...
Подскажите, плз, как с этим работать? Что это за таблица user_tab_statistics?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 10:39 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
1. Если нужно выполнить из под SAP произвольный SQL запрос, для этого не надо писать программу, можно воспользоваться st04, там же есть информация по размерам таблиц и т.п.
2. По поводу SQL скриптов для сбора всяческой полезной статистики Oracle можно начать с изучения чужих велосипедов.
Например, с ноты 1438410 - "SQL script collection for Oracle"

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 11:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
это надо делать оракловой консолью и руками базиса.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 12:12 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 17 2015, 20:36
Сообщения: 59
Сложно для понимания оказалось. В ST04 SQL editor есть. Только не ругайте, но спрошу - вот этот запрос выдает ошибку "ORA-00936: missing expression". Что не так?
Code:
select count(*)
    into   v_table_maxcount 
    from   user_tab_statistics a
    where  (stale_stats = 'YES'
    or      stale_stats is null)
    ;

Предполагается, что те примеры SQL-запросов, которые мне выслали, надо запустить. Но таблицы user_tab_statistics в ABAP Dictionary нет. Я правильно мыслю?

Может, мне просто написать программу на ABAP без native SQL? В ST04, надеюсь, все данные есть, чтобы выдать статистику.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 13:09 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Попробовал из интереса в своей системе.
Вот так в ST04 работает:
Code:
select count(*)
from user_tab_statistics a
where (stale_stats = 'YES'
or stale_stats is null)


"into v_table_maxcount " - это уже ABAP-синтаксис, точки с запятыми - вообще какой-то C++

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 14:01 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1392
simka_3375 написал(а):
select count(*)
into v_table_maxcount
from user_tab_statistics a
where (stale_stats = 'YES'
or stale_stats is null)
;

Это синтаксис PL\SQL, вариант SQL для использования в программе. Для вызова из ST04 вместо этого нужно будет внести
Code:
select count(*) as count
    from   user_tab_statistics a
    where  (stale_stats = 'YES'
    or      stale_stats is null)

- убираем into
- убираем ;
- "count(*)" переобзвать простой строчкой.

Цитата:
Но таблицы user_tab_statistics в ABAP Dictionary нет. Я правильно мыслю?
Это штатная вьюшка Оракла, она доступна любому пользователю Оракла, коим является пользователь-владелец SAP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Вт, июн 06 2017, 16:30 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 17 2015, 20:36
Сообщения: 59
Спасибо большое за ответы. Работает через ST04 c некоторыми доработками. С инструментами разобрались.
Осталось понять суть происходящего... интересно, в какой теме могут дать совет как у начальства получать адекватные задания?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Чт, июн 15 2017, 14:45 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 15 2010, 16:15
Сообщения: 15
Для выполнения native sql запросов следует использовать ABAP-класс cl_sql_statement. Его следует вызывать с текстом запроса, который вы в ST04 запускаете.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ABAP программа и Native SQL.
СообщениеДобавлено: Пт, июн 16 2017, 02:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
simka_3375 написал(а):
интересно, в какой теме могут дать совет как у начальства получать адекватные задания?

В этой

_________________
С уважением,
Удав.


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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