Меню

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

Новое Популярное
Обмен с ЭТРАН в режиме АСУ-АСУ (4)

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

Наталья Куксевич

  |  10 апреля 2018, 22:18

Алексей Мотрий 10 апреля 2018, 11:27

Каковы сроки интеграции и как оценить стоимость интеграции??

Для определения сроков и стоимости интеграции SAP-системы грузоотправителя с системой ЭТРАН необходимо иметь прежде всего набор бизнес-требований заказчика, а также понимание возможности получения в системе грузоотправителя всех необходимых для интеграции данных.
Как работать с SAP notes - III (4)

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

Антон Муханин

  |  10 апреля 2018, 12:16

Вячеслав, добрый день!
Ссылка на часть II некорректна.
Обмен с ЭТРАН в режиме АСУ-АСУ (4)

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

Алексей Мотрий

  |  10 апреля 2018, 11:27

Каковы сроки интеграции и как оценить стоимость интеграции??
Описание файлов MultiCash на примере загружаемой электронной банковской выписки в SAP S/4HANA (7)

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

Сайалы Гамидова

  |  06 апреля 2018, 10:26

Екатерина Васина 17 ноября 2016, 16:06

Ну и замечательно, что настройка ЭБВ в S/4 не отличается от ERP. Нет необходимости писать статью, сравнивающую настройку ЭБВ в S/4 и в ERP.))
Про SPRO возможно напишу позднее подробную статью с соответствующим заголовком.

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

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

Михаил Дутов

  |  12 марта 2018, 17:06

Илья, добрый день!
 
Спасибо за статью. Тема действительно интересная, особенно с учетом нововведений последних лет.
 
Однако пункт с возвратными исключениями стоит дополнить информацией об ограничениях при использовании (связанных с потерей контекста). Я был бы рад использовать этот функционал для организации взаимодействия с пользователем, как описано в статье, но он для этого не предназначен(!)
 
Например, листинг 7 упадёт в дамп, как только в результате действий пользователя стандарт попытается вывести сообщение (через MESSAGE).
 
Я бы рекомендовал использовать возвратные исключения для журналирования.
Как улучшить архитектуру программы, используя class-based exceptions (10)

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

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

  |  06 марта 2018, 18:18

Александр Грибов 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).
"
Противоречие. Или я Вас неправильно понял?

Здесь и имеется в виду, что модуль (класс, ФМ и т.п.) может использоваться в различных программах - т.е. быть вызван ими; а исключения (этого модуля) также будут обработаны вызывающей программой подходящим для каждого случая образом. В случае RFC - некий вызываемый удаленно ФМ вызывает этот "модуль" (подпрограмму) и при обработке исключений записывает их сообщения в какую-нибудь сериализуемую структуру данных вроде таблицы BAPIRET, которая и идет назад по RFC.
 
Что касается объектных исключений по RFC, то все верно, их сначала добавили, а потом сразу убрали где-то в районе 7.3. Может и к лучшему, т.к. поддерживать дерево классов-исключений на 2+ параллельных системах (часто с разными версиями) была бы та еще забава.
Как улучшить архитектуру программы, используя 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 дней тогда уже всё, увидимся в следующий раз.