Тестировать операторы OpenSQL в SAP GUI или Eclipse ADT?

Я пишу запрос OpenSQL, включая соединения и частичные выборки, и я не уверен, работает ли он. Чтобы выяснить это, я хотел бы запустить его где-нибудь, посмотреть на результаты, а затем изменить его, итеративным способом.

Традиционные инструменты, такие как транзакции SE16 или SQVI, не помогают, потому что у них слишком мало функциональных возможностей (только одна таблица, только соединения, но без подвыборок и т. Д.). Остались другие темы с похожими вопросами, подобные этой без ответа.

Конечно, я мог бы написать отчет или модульный тест, вставить туда свой код и запустить его, но это делает итерационный цикл настолько медленным, потому что мне нужно постоянно менять форматы входных и выходных данных. Оптимальным решением будет что-то вроде консоли SQL в SAP HANA Studio, но для OpenSQL вместо собственного SQL.


person guettli    schedule 20.11.2018    source источник
comment
Согласен с guettli. Это может звучать как необъективный вопрос «какие есть инструменты ...», но на самом деле это объективный технологический вопрос.   -  person Florian    schedule 20.11.2018
comment
Не могли бы вы уточнить, что вы подразумеваете под «тестом»? Протестируйте как «как я могу написать для этого модульные тесты»? Или протестируйте, как в «Не уверен, компилируется ли он, и мне нужно пробовать и ошибать свой код»?   -  person Florian    schedule 20.11.2018
comment
@Florian Я обновил вопрос и объяснил, что я имею в виду под словом test.   -  person guettli    schedule 20.11.2018
comment
sta-technologies.com/opensql-editor-for-sap Есть 30-дневный пробный период, так что это может быть только краткосрочное решение (если ваша компания его не купит)   -  person József Szikszai    schedule 20.11.2018
comment
Посмотрим, изменит ли моя перезапись на удержание?   -  person Florian    schedule 20.11.2018
comment
Зачем вам нужно постоянно менять форматы входных и выходных данных? INTO TABLE @DATA и общий дисплей salv должны работать постоянно   -  person peterulb    schedule 20.11.2018
comment
@JozsefSzikszai очень интересный, и он также обрабатывает ДЛЯ ВСЕХ ЗАПИСЕЙ. Вы не возражаете добавить свой ответ в мой (вики сообщества), если это разрешено в режиме ожидания?   -  person Sandra Rossi    schedule 21.11.2018
comment
@SandraRossi: да, конечно, вообще не надо спрашивать :)   -  person József Szikszai    schedule 21.11.2018
comment
Этот вопрос обсуждается на мета.   -  person Script47    schedule 26.11.2018


Ответы (2)


  1. (от имени @Florian) Используйте SQL консоль в Eclipse. он позволяет Open SQL SELECT, кроме FOR ALL ENTRIES и переменных.

  2. (от имени @JozsefSzikszai) программное обеспечение «OpenSQL Editor for SAP» от STA Consulting Kft. Существует 30-дневный пробный период, поэтому это может быть только краткосрочное решение (если ваша компания его не купит)

  3. Используйте инструмент ZTOAD, созданный Себастьяном Германом: http://quelquepart.biz/article7/ztoad-requeteur-open-sql.

  4. Вы можете косвенно протестировать операторы Open SQL, создав тестовые классы (модуль ABAP), в которых вы используете класс CL_OSQL_TEST_ENVIRONMENT (ABAP> = 7.52), который используется для имитации базы данных, поэтому вы можете предоставить ложные данные, введите ожидаемый результат, выполните открытый SQL в тестовом режиме и убедитесь, что фактический результат = ожидаемый результат. Он поддерживает все функции Open SQL.

  5. Все вышеперечисленные решения позволяют напрямую тестировать Open SQL. Другое решение - использовать собственные редакторы SQL и писать операторы Open SQL в строгом режиме (ABAP> = 7.40), чтобы они были ближе к синтаксису собственного SQL (особенно для разделения имен столбцов следует использовать запятую; но разделитель псевдонимов необходимо вручную изменить с ~ на .). Существует два встроенных редактора SQL: один - инструмент в ST04 or ST04N, другой - стандартная программа RSDU_EXEC_SQL. Оба отображают результат операторов SELECT в сетке ALV.

person Community    schedule 20.11.2018
comment
Я думаю, что есть 4-й способ использования средств разработки ABAP: нажмите F8 на источнике данных (например, прозрачной таблице), чтобы «протестировать» его. Это открывает предварительный просмотр данных. Есть вторая вкладка, прикрепленная к запросу OpenSQL, который произвел предварительный просмотр. Если я правильно помню, это принимает полноценные операторы OpenSQL. Может проверить и добавить к своему ответу? - person Florian; 20.11.2018
comment
@ Флориан, верно, консоль SQL в Eclipse. Это только собственный SQL, поэтому ответ для RSDU_EXEC_SQL применим и к консоли SQL. Я пытаюсь преобразовать свой ответ в вики сообщества, чтобы вы могли внести свой вклад. - person Sandra Rossi; 20.11.2018
comment
Решение1: RSDU_EXEC_SQL использует собственный SQL. Мне нужен открытый sql. Решение 2: выглядит хорошо. Требуется установка, но это возможно (еще не пробовал). Решение 3. Моя версия sap ниже 7,52. Спасибо за ссылку на ZTOAD! - person guettli; 20.11.2018
comment
@Sandra, я не имею в виду консоль SQL в SAP HANA Studio - это собственный SQL прямо в базе данных, правда. Но я думаю, что есть другой вариант в перспективе ABAP Eclipse, который принимает OpenSQL. По крайней мере, он использует синтаксис ABAP. Но не уверен, на что он способен. К сожалению, сейчас у меня нет машины, чтобы проверить это ... - person Florian; 20.11.2018
comment
@Florian, насколько я могу судить, F8 выполняет предварительный просмотр SELECT *, и есть кнопка для запуска консоли SQL для редактирования оператора SQL и его повторного запуска. Фактически, я вижу, что принятый SQL представляет собой смесь Open SQL и Native SQL. Тильда должна использоваться для псевдонимов, и INTO ... можно оставить, хотя он игнорируется (так что это Open SQL), и все функции Open SQL разрешены, но некоторые функции не принимаются (например, FOR ALL ENTRIES), и вы должны заменять переменные константами. Итак, вы правы, консоль SQL - это больше редактор Open SQL, спасибо за исправление. - person Sandra Rossi; 20.11.2018
comment
Что делать, если я получаю сообщение «Вы не авторизованы для использования этого инструмента», когда я пытаюсь запустить RSDU_EXEC_SQL. У меня есть SAP_ALL и SAP_NEW, т.е. все авторизации. Как это исправить? - person Suncatcher; 16.09.2019

Доброе утро, вы можете взглянуть на запросы (SQ01 / SQ02) вместо QuickViews в SQVI. В запросах у вас есть возможность улучшить свои объединения с помощью кодирования, и вы все еще можете тестировать свой «код». Для постепенных изменений это может быть самый простой способ.

С Уважением

person mxstml    schedule 27.11.2018