Станьте участником SAPLAND и получите доступ к самым интересным публикациям SAPPRO
Зарегистрироваться
Просто как статья про 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. Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.
Добрый день, Сергей! для того чтобы ответить на Ваш вопрос прошу подробнее расписать как SCI решает проблемы, затронутые в статье.
Так есть же стандартное решение, транзакция SCI, зачем что то писать.
Добрый день!
Вопрос по поводу статусов документов и переключения светофоров.
В SAP-стандарте для документов УПД ДОП должно обрабатываться DP_PDPOL "Уведомление о получении счета(ACKI)", но оператор может его не присылать и это не будет нарушением. В итоге статусы документов не изменяются, а светофоры не переключаются и все не очень красиво. Есть ли решение этой проблемы в стандарте?
Илья, приходите :)
SAP-стандарт работает через журнал фактур. Запись в журнал создается для фактуры один раз, затем по этой записи можно отслеживать подписание, отправку, получение оператором, получение контрагентом, подписание контрагентом для ДОП/ДИС документов и наличие отправку Уведомления об уточнении. Меняется значение статуса, переключаются светофорчики, красиво и наглядно.
Илья, приходите :)
SAP-стандарт работает через журнал фактур. Запись в журнал создается для фактуры один раз, затем по этой записи можно отслеживать подписание, отправку, получение оператором, получение контрагентом, подписание контрагентом для ДОП/ДИС документов и наличие отправку Уведомления об уточнении. Меняется значение статуса, переключаются светофорчики, красиво и наглядно.
Комментарий от
Виктор Шведов
| 29 октября 2018, 11:36
Олег Точенюк 23 октября 2018, 14:17
1.
==По большому счету данный метод открывает огромные возможности по
==замене очень дорогих инструментов SAP
Это звучит как денег на дорогой болид формулы не хватило, поэтому купили только двигатель. Потом поставили его в кузов лады-калины, ну как-то втолкали, но все равно едет хренова и обслуживать дорого. Вопрос, а нахрена так кувыркаться?
2. По RFC все равно из какого языка конектиться, в бытности 4.6 из php ходили в свое время, чуть позже на С#. Кстати примеры для PHP были в справке сапа, там еще кажется джава была.
3. Что касается лицензий, то раньше вроде как всем было все равно, но сейчас сап стал не ровно дышать к таким реализациям, считая что это нарушение лицензии, ну или предлагает для каждого коннекта заводить отдельность пользователя, а это само собой лицензии со всеми вытекающими. В итоге недорогой инструмент, становится как-то очень дорогим если считать правильно по лицензиям. Да и кстати не понял, чем программа на питоне проще той же программы на абапе, а так же, как неясные критерии заказчика стали ясными в питоне и оставались такими же неясными в абапе, ну т.е. зазЭтить на питоне типа зазЭтом не считается как я понимаю? Кстати, поддерживать всю эту кухню, тоже та еще радость.
4. Ну и по поводу отсутствия галки RFC в заголовке ФМ. Если функция не имеет галки удаленного вызова, то никто вам не мешает сделать окаймляющую функцию вокруг нужной с галкой RFC и без проблем использовать удаленные вызовы функционала.
Сейчас я практикую конект с SAP по rest(oData) с SAP, он более эффективен
Но суть не в том, чтобы скрестить Дорогой болид формулы 1 (python) и ржавую ладу калину (SAP), если сравнивать технологии, то именно так правильнее.
Суть — это брать данные из SAP и передавать их в современные системы обработки данных и библиотек, tenser Flow, pandas и прочее.
Сказки о том, что у SAP есть эффективные инструменты обработки данных с помощью нейросетей и предиктивной аналитики не выдерживают никакой критики.
Пока SAP скупит все компании, которые этим занимаются на приемлемом уровне, появятся еще 100500 технологий.
А по вашему вопросу(почему не написать все это на ABAP) все просто, Среда SAP NetWiever не позволяет быть гибкой, современной, функциональной.