Меню

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

Новое Популярное
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Александр Грибов

  |  06 марта 2018, 16:45

Илья, добрый день.
Вы пишите следующее: "Модульная структура предполагает, что модуль может использоваться в различных программах — это может быть и <....> ФМ для удаленного вызова. <....>
Для этих целей удобно использовать class-based exceptions. <....>  ФМ, вызываемый по RFC, может вернуть информацию об ошибке в виде сериализуемого текста и т.п."
 
Однако в ABAP Keyword Documentation указано, что "Exception.
Since class-based exceptions are currently not supported in remote-enabled function modules (RFM), classic exceptions still need to be implemented and handled for remote function calls (RFCs).
"
Противоречие. Или я Вас неправильно понял?
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Илья Казначеев

  |  06 марта 2018, 10:47

Антон Сорокин 06 марта 2018, 08:31

>>А проверка синтаксиса не будет лишний раз вам докучать предупреждениями, если вы не хотите делать особой обработки для подобных “редких” ошибок, а просто хотите поймать их где-то на верхних уровнях и просто прервать обработку.
 
Очень опасный подход. Лучше дамп, чем так делать.
 
Допустим, бух запускает отчет и видит 12345683 руб вместо правильных 12345684. Пользователь никогда не узнает о том, что получил неверный результат.
А представьте, в список плановых ремонтов годами молча не попадает один и тот же глючный объект..
Или табельный номер годами получается +200% премии из-за ошибки, которая не докучает абаперу предупреждением.

> Пользователь никогда не узнает о том, что получил неверный результат
 
Почему же не получит? Обработка исключения останется такой же, как обычно, в чем проблема? cx_dynamic_check отвечает за то, что исключение не обязательно явно прописывать в интерфейсе подпрограммы, при этом на обработку исключения это никак не влияет. Если исключение не будет обработано где-то в TRY-блоке по стеку вызова, будет дамп, как и в случае любого другого исключения.
 
> А представьте, в список плановых ремонтов годами молча не попадает один и тот же глючный объект..
> Или табельный номер годами получается +200% премии из-за ошибки, которая не докучает абаперу предупреждением.
 
Не ошибка "докучает абаперу предупреждением", а то, что выбрасываемое в подпрограмме исключение не указано явно в интерфейсе подпрограммы. Обработка исключения абсолютна такая-же, как и в случае cx_static_check - в случае, если исключение (или его родитель) не указаны в интерфейсе подпрограммы, инстанция класса исключения будет обернута в cx_sy_no_handler (т.е. Вы поймаете исключение типа cx_sy_no_handler, у которого в атрибуте previous будет выше исключение), если его обработки не последует, будет дамп.
 
Основное назначение исключений cx_dynamic_check - не засорять интерфейсы вызова подпрограмм всякими техническими исключениями (вроде "строка не найдена"), т.е. которые не имеют отношения к реализуемому бизнес-процессу для того, чтобы потом отловить их где-нибудь на верхнем уровне и красиво обработать (с логами и сообщениями).
Пользовательская настройка схем и правил расчета зарплаты для реализации оценки времени в SAP ERP HCM (2)

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

Денис Кузьмин

  |  06 марта 2018, 10:04

Антон Сорокин 06 марта 2018, 08:00

Ерунда какая-то.
Функции в схеме оценки ВРЕМЕНИ используют правила ОЦЕНКИ ВРЕМЕНИ.
А правила расчета ЗАРПЛАТЫ используются, внезапно, при расчете ЗАРПЛАТЫ, а не оценки.
Все перемешалось в голове индуса.

Антон, а если зайти в транзакцию PE02 и затем нажать на "Обзор", то заголовок экрана "Каталог правил расчета зарплаты", хотя там правила и для PY и для PT.
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

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

  |  06 марта 2018, 08:31

>>А проверка синтаксиса не будет лишний раз вам докучать предупреждениями, если вы не хотите делать особой обработки для подобных “редких” ошибок, а просто хотите поймать их где-то на верхних уровнях и просто прервать обработку.
 
Очень опасный подход. Лучше дамп, чем так делать.
 
Допустим, бух запускает отчет и видит 12345683 руб вместо правильных 12345684. Пользователь никогда не узнает о том, что получил неверный результат.
А представьте, в список плановых ремонтов годами молча не попадает один и тот же глючный объект..
Или табельный номер годами получается +200% премии из-за ошибки, которая не докучает абаперу предупреждением.
Пользовательская настройка схем и правил расчета зарплаты для реализации оценки времени в SAP ERP HCM (2)

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

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

  |  06 марта 2018, 08:00

Ерунда какая-то.
Функции в схеме оценки ВРЕМЕНИ используют правила ОЦЕНКИ ВРЕМЕНИ.
А правила расчета ЗАРПЛАТЫ используются, внезапно, при расчете ЗАРПЛАТЫ, а не оценки.
Все перемешалось в голове индуса.
Как работать с SAP notes - I (3)

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

Вячеслав Шиболов

  |  05 марта 2018, 15:24

Андрей Дубровских 05 марта 2018, 14:38

Саппорт портал уже давно не работает
Все ноты ищутся теперь на launchpad.support.sap.com/

Ссылки в статье рабочие, то что после запускается launchpad не отменяет существование Support Portal-а. Может быть через пару лет и launchpad будет заменен на что-то новое и продвинутое.
Как работать с SAP notes - I (3)

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

Андрей Дубровских

  |  05 марта 2018, 14:38

Саппорт портал уже давно не работает
Все ноты ищутся теперь на launchpad.support.sap.com/
Как работать с SAP notes - I (3)

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

Олег Башкатов

  |  05 марта 2018, 12:59

к теме про поиск SAP -нот
с EHP7 появляется инструмент ANST - Automated Note Search Tool
 
Принцип: инструмент делает трассировку и по полученным компонентам находит связанные SAP-ноты.
 
подробнее здесь
blogs.sap.com/2014/01
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Илья Казначеев

  |  12 февраля 2018, 14:16

Вячеслав Шиболов 12 февраля 2018, 13:34

Спасибо.
В таких случаях, точнее указывать версию SAP_BASIS, версия которой более стабильна в нумерации, чем SAP NW или AS.

Справедливо
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Вячеслав Шиболов

  |  12 февраля 2018, 13:34

Илья Казначеев 12 февраля 2018, 13:26

Вячеслав, добрый день,
Да, вероятно, здесь не совсем корректное название, т.к. первый NW был действительно без версии и назывался "NetWeaver 2004", который работал на основе базиса версии 6.4. Так чтоп правильнее будет написать "NW'04" и или "Basis 6.4", потому что имелось в виду как раз NW'04 на основе Basis 6.4.

Спасибо.
В таких случаях, точнее указывать версию SAP_BASIS, версия которой более стабильна в нумерации, чем SAP NW или AS.
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Илья Казначеев

  |  12 февраля 2018, 13:26

Вячеслав Шиболов 12 февраля 2018, 11:00

>> Объектные исключения пришли на смену классическим, начиная с релиза NW 6.4.
 
Добрый день, Илья!
Подскажите, пожалуйста, что такое NW 6.4? SAP NetWeaver? На сколько я понимаю, версии SAP NetWeaver начинаются от 7.0 и выше. Может быть вы имели ввиду SAP WAS 6.40? Тогда это не SAP NW. Поясните, пожалуйста.

Вячеслав, добрый день,
Да, вероятно, здесь не совсем корректное название, т.к. первый NW был действительно без версии и назывался "NetWeaver 2004", который работал на основе базиса версии 6.4. Так чтоп правильнее будет написать "NW'04" и или "Basis 6.4", потому что имелось в виду как раз NW'04 на основе Basis 6.4.
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

Вячеслав Шиболов

  |  12 февраля 2018, 11:00

>> Объектные исключения пришли на смену классическим, начиная с релиза NW 6.4.
 
Добрый день, Илья!
Подскажите, пожалуйста, что такое NW 6.4? SAP NetWeaver? На сколько я понимаю, версии SAP NetWeaver начинаются от 7.0 и выше. Может быть вы имели ввиду SAP WAS 6.40? Тогда это не SAP NW. Поясните, пожалуйста.
Новые инструменты отладки в системе SAP ERP. Практические рекомендации (5)

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

Александр Грибов

  |  08 февраля 2018, 21:30

Антон Сорокин 08 февраля 2018, 15:46

Про CL_DEBUG интересно, спасибо.

Взаимное спасибо, рад, что Вам понравилось.
Пользуйтесь SAP HANA Database бесплатно в облаке (5)

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

Юрий Горинович

  |  08 февраля 2018, 16:24

Олег Точенюк 22 января 2018, 17:05

Интересно это только у меня сложилось ощущение, что кто-то в SAP решил чисто поприкалываться? Так и хочется сказать спасибо компании SAP за наше счастливое детство, 11 часов, они это серьезно? Это мне что-то напоминает из разряда хакатона, успей за 11 часов. Раньше как-то гуманней было :-)

Это ведь бесплатный сервис. Спасибо и на этом. 11 часов - это ведь время до <b>остановки</b> тестовой базы. А вот если она не будет больше запускаться в течении 14 дней тогда уже всё, увидимся в следующий раз.
Пользуйтесь SAP HANA Database бесплатно в облаке (5)

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

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

  |  08 февраля 2018, 15:56

Олег Точенюк 22 января 2018, 17:05

Интересно это только у меня сложилось ощущение, что кто-то в SAP решил чисто поприкалываться? Так и хочется сказать спасибо компании SAP за наше счастливое детство, 11 часов, они это серьезно? Это мне что-то напоминает из разряда хакатона, успей за 11 часов. Раньше как-то гуманней было :-)

Я так понимаю "БД" можно запустить повторно.
11 часов для рабочего дня достаточно.
Новые инструменты отладки в системе SAP ERP. Практические рекомендации (5)

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

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

  |  08 февраля 2018, 15:49

>>Самый популярный (а может и единственный?) способ: сделать «бесконечный» цикл, затем «провалиться»
 
Тут было бы уместно упомянуть ФМ K_PLAN_WAIT_FOR_DEBUGGING. По сути тоже бесконечный цикл, но всё же..
Новые инструменты отладки в системе SAP ERP. Практические рекомендации (5)

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

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

  |  08 февраля 2018, 15:46

Про CL_DEBUG интересно, спасибо.
Новые инструменты отладки в системе SAP ERP. Практические рекомендации (5)

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

Александр Грибов

  |  07 февраля 2018, 07:20

Николай Кронский 06 февраля 2018, 16:16

Александр, с какой версии появилась функциональность "бесконечных циклов"?
С версиями компонента SAP_ABA 701 SP15 класса CL_BCS_BREAKLOOP не наблюдается. Как и ФМ монитора.
Вроде бы инструмент выглядит архаичнее Активируемых контрольных точек (транз. SAAB), а вроде бы отсутствует в системе...

Точную версию назвать не могу.
 
Оба класса точно существуют в версии SAP_ABA 731 SP9 .
Новые инструменты отладки в системе SAP ERP. Практические рекомендации (5)

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

Николай Кронский

  |  06 февраля 2018, 16:16

Александр, с какой версии появилась функциональность "бесконечных циклов"?
С версиями компонента SAP_ABA 701 SP15 класса CL_BCS_BREAKLOOP не наблюдается. Как и ФМ монитора.
Вроде бы инструмент выглядит архаичнее Активируемых контрольных точек (транз. SAAB), а вроде бы отсутствует в системе...
Запись онлайн-семинара «Решения SAP для Казначейства» (5)

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

Екатерина Андреева

  |  06 февраля 2018, 13:47

SAPLand TV 07 мая 2014, 11:51

Здравствуйте, Станислав!
 
Проблема была решена. Звук в видео начинается с 22 секунды - с приветствия.

Коллеги, добрый день! К сожалению звука так и нет.