Меню

Сортировать:

Новое Популярное
Интеграция SAP и Python. Как проще забрать данные из SAP (4)

Комментарий от  

Виктор Шведов

  |  29 октября 2018, 11:36

Олег Точенюк 23 октября 2018, 14:17

1.
==По большому счету данный метод открывает огромные возможности по
==замене очень дорогих инструментов SAP
Это звучит как денег на дорогой болид формулы не хватило, поэтому купили только двигатель. Потом поставили его в кузов лады-калины, ну как-то втолкали, но все равно едет хренова и обслуживать дорого. Вопрос, а нахрена так кувыркаться?
 
2. По RFC все равно из какого языка конектиться, в бытности 4.6 из php ходили в свое время, чуть позже на С#. Кстати примеры для PHP были в справке сапа, там еще кажется джава была.
 
3. Что касается лицензий, то раньше вроде как всем было все равно, но сейчас сап стал не ровно дышать к таким реализациям, считая что это нарушение лицензии, ну или предлагает для каждого коннекта заводить отдельность пользователя, а это само собой лицензии со всеми вытекающими. В итоге недорогой инструмент, становится как-то очень дорогим если считать правильно по лицензиям. Да и кстати не понял, чем программа на питоне проще той же программы на абапе, а так же, как неясные критерии заказчика стали ясными в питоне и оставались такими же неясными в абапе, ну т.е. зазЭтить на питоне типа зазЭтом не считается как я понимаю? Кстати, поддерживать всю эту кухню, тоже та еще радость.
 
4. Ну и по поводу отсутствия галки RFC в заголовке ФМ. Если функция не имеет галки удаленного вызова, то никто вам не мешает сделать окаймляющую функцию вокруг нужной с галкой RFC и без проблем использовать удаленные вызовы функционала.

Добрый день Олег, по большому счету вы правы, RFC не самый лучший способ исполнения, но он работает, и бог с ним.
 
Сейчас я практикую конект с SAP по rest(oData) с SAP, он более эффективен
 
Но суть не в том, чтобы скрестить Дорогой болид формулы 1 (python) и ржавую ладу калину (SAP), если сравнивать технологии, то именно так правильнее.
Суть — это брать данные из SAP и передавать их в современные системы обработки данных и библиотек, tenser Flow, pandas и прочее.
Сказки о том, что у SAP есть эффективные инструменты обработки данных с помощью нейросетей и предиктивной аналитики не выдерживают никакой критики.
Пока SAP скупит все компании, которые этим занимаются на приемлемом уровне, появятся еще 100500 технологий.
А по вашему вопросу(почему не написать все это на ABAP) все просто, Среда SAP NetWiever не позволяет быть гибкой, современной, функциональной.
Интеграция SAP и Python. Как проще забрать данные из SAP (4)

Комментарий от  

Олег Точенюк

  |  23 октября 2018, 14:17

1.
==По большому счету данный метод открывает огромные возможности по
==замене очень дорогих инструментов SAP
Это звучит как денег на дорогой болид формулы не хватило, поэтому купили только двигатель. Потом поставили его в кузов лады-калины, ну как-то втолкали, но все равно едет хренова и обслуживать дорого. Вопрос, а нахрена так кувыркаться?
 
2. По RFC все равно из какого языка конектиться, в бытности 4.6 из php ходили в свое время, чуть позже на С#. Кстати примеры для PHP были в справке сапа, там еще кажется джава была.
 
3. Что касается лицензий, то раньше вроде как всем было все равно, но сейчас сап стал не ровно дышать к таким реализациям, считая что это нарушение лицензии, ну или предлагает для каждого коннекта заводить отдельность пользователя, а это само собой лицензии со всеми вытекающими. В итоге недорогой инструмент, становится как-то очень дорогим если считать правильно по лицензиям. Да и кстати не понял, чем программа на питоне проще той же программы на абапе, а так же, как неясные критерии заказчика стали ясными в питоне и оставались такими же неясными в абапе, ну т.е. зазЭтить на питоне типа зазЭтом не считается как я понимаю? Кстати, поддерживать всю эту кухню, тоже та еще радость.
 
4. Ну и по поводу отсутствия галки RFC в заголовке ФМ. Если функция не имеет галки удаленного вызова, то никто вам не мешает сделать окаймляющую функцию вокруг нужной с галкой RFC и без проблем использовать удаленные вызовы функционала.
Клонирование ERP-системы. Подробное описание не для базисника. Продолжение (6)

Комментарий от  

Алексей Зимин

  |  08 октября 2018, 18:10

Коллеги, добрый вечер.
Приходилось ли кому-нибудь импортировать большую БД (более 5ТБ)?
Интересует момент - можно ли где-то в инсталляторе прописать минимальный размер датафайла?
В init.ora можно прописать количество db_files, а вот параметр для  минимального размера найти не смог. И при создании базы приходится ждать полтора часа, пока система создаст более 250 датафайлов по 32Гб
Упрощаем работу с ADBC (3)

Комментарий от  

Данил Жакаев

  |  03 октября 2018, 01:04

Валерий Заузолков 24 мая 2017, 13:46

Просто как статья про ADBC - отлично!
 
Только объясните, пожлста, след.момент: Если система на HANA, т.е. скорее всего базис будет 7.4, а м.б. и 7.5, соответственно, есть более удобный инструментарий - можно пользоваться новым синтаксисом Open SQL, CDS-view или AMDP, для вызова процедур или вьюшек созданных непосредственно в HANA (минуя ABAP-словарь), можно создавать прокси и вызывать через них.
Зачем ADBC в контексте HANA?
 
И, как мне кажется, к ADBC относятся те же рекомендации, что и к Native SQL - по возможности предпочитать Open SQL, в связи с тем, что NW оптимизирован под использование Open SQL.

ADBC нужен в основном для динамического SQL.
Так же через ADBC можно генерировать не только выборки, но и DDL.
 
Как пример, был опыт создания базового ABAP класса экстрактора из Calculation View из BW во внешние системы - в классе-наследнике просто указываешь в атрибут имя CV и переопределяешь метод для заполнения placeholders - и оно работает динамически.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Олег Табулович

  |  28 сентября 2018, 11:46

Спасибо Женя, актуальная тема, полезная статья.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Евгений Лапшин

  |  27 сентября 2018, 18:14

Константин Локшин 27 сентября 2018, 10:25

Евгений, если я правильно понял, в отличие от вашей, стандартная /SDF/CMO_TR_CHECK не нашла недостающие объекты, которые находятся на втором уровне вложенности (на них ссылаются недостающие объекты первого уровня).
 
Итого, с /SDF/CMO_TR_CHECK надо работать итерационно - добавить в запрос всё чего не хватает и прогнать еще раз, чтобы убедиться, что все объекты следующего уровня в запросе есть.
А вот ваша программа показывает всё чего не хватает сразу.
Получается, у вас в этом отношении преимущество.

Да, всё верно.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Евгений Лапшин

  |  27 сентября 2018, 18:08

Антон Сорокин 27 сентября 2018, 14:11

1. Так ведь в SCI можно даже пакет указать. Проверит все объекты во всех запросах.
3. Например? Очень любопытно.
5. Поясните пожалуйста, в чем польза отключения проверки?

1. А указать конкретные объекты можно?
3. На примере выше видно, что SCI увидел отсутствие только ZREPORT1_INCLUDE, но пропустил вызов метода класса ZCLASS1. кроме того, остальные элементы дерева из рис.1 он тоже пропустил (возможно, проблема в том, что операция поиска недостающих объектов не итеративна, то есть нужно сначала включить найденные объекты в список для анализа и запустить анализ снова).
5. Представим, что у нас есть z-enhacement spot. для него создана z-enhacement implementation. Отчет определяет, что необходимо также включить в запрос на перенос enhacement spot. enhacement spot потянет за собой реализацию. Реализация может тянуть за собой множество других объектов. Но сама реализация для текущего релиза может быть не нужна (она лежит в другом запросе). Исключение из анализа реализаций точек расширения отрезает целую "ветку" объектов из анализа. Запрос без реализации доедет успешно, а это, обычно, самая главная цель при подобном анализе.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Антон Сорокин

  |  27 сентября 2018, 14:11

Евгений Лапшин 25 сентября 2018, 16:41

Сергей, спасибо за инструкцию!
(при создании "Инспекции" у меня нет возможности выбрать "Временное определение". возможно, из-за ограниченности полномочий. некритично, решается созданием "Варианта проверки")
В итоге получил вот это

SCI запускал по одному запросу, в котором содержится только программа из примера.
Отчет, представленный в статье, выдает следующий результат:, то есть выводит весь список объектов из Рис.1 текущей статьи. То есть SCI нашел не все объекты.
Также из преимуществ:
1. позволяет анализировать сразу несколько запросов.
2. удобство запуска и представления результата.
3. тестировал SCI на других запросах: заметил, что пропускает некоторые объекты
4. отрабатывает значительно быстрее
5. последняя редакция отчета позволяет отключать реализации точек расширения из списка объектов проверки.

1. Так ведь в SCI можно даже пакет указать. Проверит все объекты во всех запросах.
3. Например? Очень любопытно.
5. Поясните пожалуйста, в чем польза отключения проверки?
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Константин Локшин

  |  27 сентября 2018, 10:25

Евгений Лапшин 27 сентября 2018, 09:58

Добрый день, Константин!
спасибо, за приятную оценку.
одним глазом посмотрел Вашу программу. при анализе моего тестового запроса она выдала не все объекты.
Да, действительно моя программа не выдает запросы, в которых находятся недостающие объекты (такой цели не ставилось). Насколько я понял, также данная программа умеет составлять последовательность переноса связанных объектов. Спасибо, возможно, чтото из фукнционала я добавлю к себе, когда будет возможность.
p.s. также, ранее я находил программу RSSYSCOMP. но она не умеет работать с несколькими запросами (приходилось ее копировать и расширять под свои нужны), и ракурс представления выходных данных для моих нужд неприемлем.

Евгений, если я правильно понял, в отличие от вашей, стандартная /SDF/CMO_TR_CHECK не нашла недостающие объекты, которые находятся на втором уровне вложенности (на них ссылаются недостающие объекты первого уровня).
 
Итого, с /SDF/CMO_TR_CHECK надо работать итерационно - добавить в запрос всё чего не хватает и прогнать еще раз, чтобы убедиться, что все объекты следующего уровня в запросе есть.
А вот ваша программа показывает всё чего не хватает сразу.
Получается, у вас в этом отношении преимущество.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Евгений Лапшин

  |  27 сентября 2018, 09:58

Константин Локшин 27 сентября 2018, 09:02

Евгений, добрый день.
Очень хорошая статья.
Предлагаю вам сравнить вашу программу со стандартной программой для этой цели: /SDF/CMO_TR_CHECK.
Насколько я могу судить на текущий момент у стандартной программы есть полезная возможность, которой пока нет в вашей: она также показывает в каком другом запросе есть недостающий вам объект.

Добрый день, Константин!
спасибо, за приятную оценку.
одним глазом посмотрел Вашу программу. при анализе моего тестового запроса она выдала не все объекты.
Да, действительно моя программа не выдает запросы, в которых находятся недостающие объекты (такой цели не ставилось). Насколько я понял, также данная программа умеет составлять последовательность переноса связанных объектов. Спасибо, возможно, чтото из фукнционала я добавлю к себе, когда будет возможность.
p.s. также, ранее я находил программу RSSYSCOMP. но она не умеет работать с несколькими запросами (приходилось ее копировать и расширять под свои нужны), и ракурс представления выходных данных для моих нужд неприемлем.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Константин Локшин

  |  27 сентября 2018, 09:02

Евгений, добрый день.
Очень хорошая статья.
Предлагаю вам сравнить вашу программу со стандартной программой для этой цели: /SDF/CMO_TR_CHECK.
Насколько я могу судить на текущий момент у стандартной программы есть полезная возможность, которой пока нет в вашей: она также показывает в каком другом запросе есть недостающий вам объект.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Евгений Лапшин

  |  25 сентября 2018, 16:41

Сергей Чаплыгин 25 сентября 2018, 15:25

Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
 
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST

На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.

Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.

Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.

 
4.   Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.

Сергей, спасибо за инструкцию!
(при создании "Инспекции" у меня нет возможности выбрать "Временное определение". возможно, из-за ограниченности полномочий. некритично, решается созданием "Варианта проверки")
В итоге получил вот это

SCI запускал по одному запросу, в котором содержится только программа из примера.
Отчет, представленный в статье, выдает следующий результат:, то есть выводит весь список объектов из Рис.1 текущей статьи. То есть SCI нашел не все объекты.
Также из преимуществ:
1. позволяет анализировать сразу несколько запросов.
2. удобство запуска и представления результата.
3. тестировал SCI на других запросах: заметил, что пропускает некоторые объекты
4. отрабатывает значительно быстрее
5. последняя редакция отчета позволяет отключать реализации точек расширения из списка объектов проверки.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Сергей Чаплыгин

  |  25 сентября 2018, 15:27

Сергей Чаплыгин 25 сентября 2018, 15:25

Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
 
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST

На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.

Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.

Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.

 
4.   Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.

Результат:
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Сергей Чаплыгин

  |  25 сентября 2018, 15:25

Сергей Чаплыгин 25 сентября 2018, 15:25

Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
 
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST

На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.

Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.

Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.

 
4.   Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.

Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Сергей Чаплыгин

  |  25 сентября 2018, 15:25

Евгений Лапшин 25 сентября 2018, 11:03

Добрый день, Сергей! для того чтобы ответить на Ваш вопрос прошу подробнее расписать как SCI решает проблемы, затронутые в статье.

Для того чтобы проверить будут ли проблемы с переносом, например в продуктивную систему необходимо сделать следующее:
 
1. Запускаем инспектор кода тр. SCI
2. Создаем набор объектов, в примере набор объектов называется TEST

На следующем экране указываем только дату удаления все остальное оставляем по умолчанию.
3. Далее создаем инспекцию.

Где указываем номер запроса(он может быть не деблокированным) и устанавливаем радибаттон напротив Запрос/Задача.

Далее в разделе вариант проверки оставляем галку только на «Проверка синт./Генерация», раскрываем и устанавливаем галки напротив всех пунктов этого раздела.
Дополняем пункт Syntax Check in Remote System используя кнопку, удаленной системой и указываем набор объектов сделанный в предыдущем шаге.

 
4.   Инспектор кода готов к тестированию объектов нашего запроса, нажимаем выполнить и ждем результата, где мы ясно видим что запрос будет перенесен с ошибками, если есть возможность исправляем ошибки дополняя свой запрос, если он у вас был не деблокирован, и заново проверяем объекты запроса описанным способом.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Евгений Лапшин

  |  25 сентября 2018, 11:03

Сергей Чаплыгин 25 сентября 2018, 10:12

Так есть же стандартное решение, транзакция SCI, зачем что то писать.

Добрый день, Сергей! для того чтобы ответить на Ваш вопрос прошу подробнее расписать как SCI решает проблемы, затронутые в статье.
Проверка запросов перед переносом по ландшафту (14)

Комментарий от  

Сергей Чаплыгин

  |  25 сентября 2018, 10:12

Так есть же стандартное решение, транзакция SCI, зачем что то писать.
УПД - Универсальный передаточный документ (UTD - Unified Transfer Document print form). Методика настройки и выпуска в модуле SD. Часть 1 (11)

Комментарий от  

Михаил Калябин

  |  24 сентября 2018, 10:51

Надежда Демина 19 сентября 2018, 15:53

Добрый день!
Вопрос по поводу статусов документов и переключения светофоров.
В SAP-стандарте для документов УПД ДОП должно обрабатываться DP_PDPOL "Уведомление о получении счета(ACKI)", но оператор может его не присылать и это не будет нарушением. В итоге статусы документов не изменяются, а светофоры не переключаются и все не очень красиво. Есть ли решение этой проблемы в стандарте?

Надежда, этот вопрос лучше задать в  Форум по российской локализации SAP ERP FI/LO (группа в jam4.sapjam.com)
УПД - Универсальный передаточный документ (UTD - Unified Transfer Document print form). Методика настройки и выпуска в модуле SD. Часть 1 (11)

Комментарий от  

Надежда Демина

  |  19 сентября 2018, 15:53

Михаил Калябин 12 сентября 2018, 15:31

Илья, приходите :)
 
SAP-стандарт работает через журнал фактур. Запись в журнал создается для фактуры один раз, затем по этой записи можно отслеживать подписание, отправку, получение оператором, получение контрагентом, подписание контрагентом для ДОП/ДИС документов и наличие отправку Уведомления об уточнении. Меняется значение статуса, переключаются светофорчики, красиво и наглядно.

Добрый день!
Вопрос по поводу статусов документов и переключения светофоров.
В SAP-стандарте для документов УПД ДОП должно обрабатываться DP_PDPOL "Уведомление о получении счета(ACKI)", но оператор может его не присылать и это не будет нарушением. В итоге статусы документов не изменяются, а светофоры не переключаются и все не очень красиво. Есть ли решение этой проблемы в стандарте?
УПД - Универсальный передаточный документ (UTD - Unified Transfer Document print form). Методика настройки и выпуска в модуле SD. Часть 1 (11)

Комментарий от  

Илья Дешевых

  |  12 сентября 2018, 16:12

Михаил Калябин 12 сентября 2018, 15:31

Илья, приходите :)
 
SAP-стандарт работает через журнал фактур. Запись в журнал создается для фактуры один раз, затем по этой записи можно отслеживать подписание, отправку, получение оператором, получение контрагентом, подписание контрагентом для ДОП/ДИС документов и наличие отправку Уведомления об уточнении. Меняется значение статуса, переключаются светофорчики, красиво и наглядно.

Михаил, спасибо.
 
Сделаю отчёт о первоначальном обследовании вопроса и пойду к начальству с обоснованием.