Станьте участником SAPLAND и получите доступ к самым интересным публикациям SAPPRO
Зарегистрироваться
Добрый день Олег, по большому счету вы правы, RFC не самый лучший способ исполнения, но он работает, и бог с ним.
Сейчас я практикую конект с SAP по rest(oData) с SAP, он более эффективен
Но суть не в том, чтобы скрестить Дорогой болид формулы 1 (python) и ржавую ладу калину (SAP), если сравнивать технологии, то именно так правильнее.
Суть — это брать данные из SAP и передавать их в современные системы обработки данных и библиотек, tenser Flow, pandas и прочее.
Сказки о том, что у SAP есть эффективные инструменты обработки данных с помощью нейросетей и предиктивной аналитики не выдерживают никакой критики.
Пока SAP скупит все компании, которые этим занимаются на приемлемом уровне, появятся еще 100500 технологий.
А по вашему вопросу(почему не написать все это на ABAP) все просто, Среда SAP NetWiever не позволяет быть гибкой, современной, функциональной.
1.
==По большому счету данный метод открывает огромные возможности по
==замене очень дорогих инструментов SAP
Это звучит как денег на дорогой болид формулы не хватило, поэтому купили только двигатель. Потом поставили его в кузов лады-калины, ну как-то втолкали, но все равно едет хренова и обслуживать дорого. Вопрос, а нахрена так кувыркаться?
2. По RFC все равно из какого языка конектиться, в бытности 4.6 из php ходили в свое время, чуть позже на С#. Кстати примеры для PHP были в справке сапа, там еще кажется джава была.
3. Что касается лицензий, то раньше вроде как всем было все равно, но сейчас сап стал не ровно дышать к таким реализациям, считая что это нарушение лицензии, ну или предлагает для каждого коннекта заводить отдельность пользователя, а это само собой лицензии со всеми вытекающими. В итоге недорогой инструмент, становится как-то очень дорогим если считать правильно по лицензиям. Да и кстати не понял, чем программа на питоне проще той же программы на абапе, а так же, как неясные критерии заказчика стали ясными в питоне и оставались такими же неясными в абапе, ну т.е. зазЭтить на питоне типа зазЭтом не считается как я понимаю? Кстати, поддерживать всю эту кухню, тоже та еще радость.
4. Ну и по поводу отсутствия галки RFC в заголовке ФМ. Если функция не имеет галки удаленного вызова, то никто вам не мешает сделать окаймляющую функцию вокруг нужной с галкой RFC и без проблем использовать удаленные вызовы функционала.
Просто как статья про ADBC - отлично!
Только объясните, пожлста, след.момент: Если система на HANA, т.е. скорее всего базис будет 7.4, а м.б. и 7.5, соответственно, есть более удобный инструментарий - можно пользоваться новым синтаксисом Open SQL, CDS-view или AMDP, для вызова процедур или вьюшек созданных непосредственно в HANA (минуя ABAP-словарь), можно создавать прокси и вызывать через них.
Зачем ADBC в контексте HANA?
И, как мне кажется, к ADBC относятся те же рекомендации, что и к Native SQL - по возможности предпочитать Open SQL, в связи с тем, что NW оптимизирован под использование Open SQL.
Евгений, если я правильно понял, в отличие от вашей, стандартная /SDF/CMO_TR_CHECK не нашла недостающие объекты, которые находятся на втором уровне вложенности (на них ссылаются недостающие объекты первого уровня).
Итого, с /SDF/CMO_TR_CHECK надо работать итерационно - добавить в запрос всё чего не хватает и прогнать еще раз, чтобы убедиться, что все объекты следующего уровня в запросе есть.
А вот ваша программа показывает всё чего не хватает сразу.
Получается, у вас в этом отношении преимущество.
1. Так ведь в SCI можно даже пакет указать. Проверит все объекты во всех запросах.
3. Например? Очень любопытно.
5. Поясните пожалуйста, в чем польза отключения проверки?
Сергей, спасибо за инструкцию!
(при создании "Инспекции" у меня нет возможности выбрать "Временное определение". возможно, из-за ограниченности полномочий. некритично, решается созданием "Варианта проверки")
В итоге получил вот это
SCI запускал по одному запросу, в котором содержится только программа из примера.
Отчет, представленный в статье, выдает следующий результат:, то есть выводит весь список объектов из Рис.1 текущей статьи. То есть SCI нашел не все объекты.
Также из преимуществ:
1. позволяет анализировать сразу несколько запросов.
2. удобство запуска и представления результата.
3. тестировал SCI на других запросах: заметил, что пропускает некоторые объекты
4. отрабатывает значительно быстрее
5. последняя редакция отчета позволяет отключать реализации точек расширения из списка объектов проверки.
Добрый день, Константин!
спасибо, за приятную оценку.
одним глазом посмотрел Вашу программу. при анализе моего тестового запроса она выдала не все объекты.
Да, действительно моя программа не выдает запросы, в которых находятся недостающие объекты (такой цели не ставилось). Насколько я понял, также данная программа умеет составлять последовательность переноса связанных объектов. Спасибо, возможно, чтото из фукнционала я добавлю к себе, когда будет возможность.
p.s. также, ранее я находил программу RSSYSCOMP. но она не умеет работать с несколькими запросами (приходилось ее копировать и расширять под свои нужны), и ракурс представления выходных данных для моих нужд неприемлем.
Евгений, добрый день.
Очень хорошая статья.
Предлагаю вам сравнить вашу программу со стандартной программой для этой цели: /SDF/CMO_TR_CHECK.
Насколько я могу судить на текущий момент у стандартной программы есть полезная возможность, которой пока нет в вашей: она также показывает в каком другом запросе есть недостающий вам объект.
Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST
На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.
Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.
Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.
4. Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.
Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST
На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.
Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.
Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.
4. Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.
Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST
На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.
Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.
Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.
4. Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.
Комментарий от
Вячеслав Шиболов
| 04 ноября 2018, 16:31
Влад Русаков 31 октября 2018, 12:21
Привет, Вячеслав,
Хорошая серия и как раз вовремя.
Итак:"Приехала" SAP HANA 2.0 sps 02 "как есть", т.е. - Appliance - для экспириенса. Планируется миграция BW70(5Tb Oracle)->74->HANA . Дофига ес-но "Z".
Нужен совет - мигрировать или пробовать в варианте акселератор? Второй вариант мне нравится больше, т.к., имхо, позволит последовательно переводить отчёты в новую среду, не разрушая старой. Или эффекта не будет? (кроме экспириенса ес-но:)
У меня опыта разворачивания SAP HANA достаточного для ответа в данной ситуации нет. Но вариант с акселератором, конечно, в плане реализации гораздо проще, чем полная миграция. И эффект должен быть.
Может быть кто-то с необходимым опытом ответит. Кто пробовал уже оба варианта.