Как стать автором
Обновить

Басня об «одном флаконе»

Время на прочтение 2 мин
Количество просмотров 1.8K
Чулан IT-компании
Еще раз приглашаю всех интересующихся на мой блог. Для обсуждения темы поста или связанных вопросов можно использовать анонимные комментарии. А пока — анонс новой статьи:

Здесь я хочу поговорить о культуре программирования на SAP-проектах. Изначально я планировал включить этот кусок в качестве небольшого лирического отступления к одному из своих ПОЧЕМУ (см. вступление к одному из первых моих постов). Но, как водится, сказать нашлось много чего.
Читать дальше →
Всего голосов 5: ↑1 и ↓4 -3
Комментарии 0

Безопасность SAP в цифрах

Время на прочтение 19 мин
Количество просмотров 19K
Блог компании Digital Security ERP-системы *
Примечания

Согласно партнерскому соглашению с SAP, мы не имеем право публиковать подробную информацию о найденных уязвимостях до выпуска патча. Поэтому в данном отчете подробно описаны только те уязвимости, информацию о которых мы имеем право раскрывать на данный момент. Однако примеры эксплуатации всех упомянутых уязвимостей, доказывающие, что они действительно существуют, можно найти на видеозаписях с конференций, а также на erpscan.ru и dsec.ru.

Также необходимо отметить, что наши исследования в области безопасности SAP вообще и сбора статистики в частности не заканчиваются на данном отчете. Мы планируем публиковать новые статистические данные как минимум ежегодно либо по мере появления новых методов атаки. Последние обновления статистики SAP-систем, присутствующих в Интернете, можно найти на sapscan.com.

1. Введение

Ядро каждой крупной компании – это ERP-система; в ней проходят все критичные для бизнеса процессы, начиная от закупки, оплаты и доставки и заканчивая управлением человеческими ресурсами, продуктами и финансовым планированием. Вся информация, хранящаяся в ERP-cистемах, имеет огромное значение, и любой неправомерный доступ к ней может понести за собой громадные потери вплоть до остановки бизнеса. Согласно отчету Ассоциации специалистов по расследованию хищений/мошенничества (ACFE), в период с 2006 по 2010 годы потери организаций от внутреннего фрода составили порядка 7 процентов от ежегодной выручки (!). Вот почему мы решили провести детальное исследование в области безопасности SAP с использованием ERPScan – разработанной Digital Security системы мониторинга защищенности SAP-систем.

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 7

SAPокалипсис. BlackHat. Взлом J2EE. Кошмар, кошмар

Время на прочтение 7 мин
Количество просмотров 12K
Блог компании Digital Security Информационная безопасность *
Всем привет! Тут многие просили нас писать больше; собственно, выкроив времечко между перелётами, я вспомнил про парочку старых уязвимостей в… впрочем, вы уже догадались в чём.

Прошло уже немало времени с момента первой публикации информации о данных багах. А точнее, целый год. Ровно год назад я ездил на BlackHat с докладом по теме безопасности J2EE движка SAP. Почему бы и не поведать о той баге, тем более что до сих пор не дошли руки подробно описать в рунете всё, что было представлено на BlackHat, ну не считая небольшого видео с ZeroNights, где вышло довольно сумбурно.

Исследование посвящалось платформе SAP NetWeaver J2EE Engine, о которой по сравнению с ABAP Engine существует крайне мало информации, а по ее безопасности практически не было исследований во всём мире. А ведь Digital Security Research Group хлебом не корми, только дай разломать что-нибудь, куда ещё никто не совался. В общем, сперва будет немножко общих слов о том, что такое SAP и как это важно для бизнеса, так что циники могут пролистать вниз – к кускам кода, ну а все остальные могут читать дальше.

Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 11

Загрузка курсов валют в систему R/3 средствами ABAP

Время на прочтение 4 мин
Количество просмотров 3.2K
ERP-системы *
Из песочницы
Работаю я ABAP-программистом на одном весьма крупном промышленном пред-приятии. Занимаюсь в основном поддержкой и сопровождением, потому в работе часто бывают затишья. Решил написать статью про ABAP.

Когда устраивался на работу R/3 я уже видел и кое-что умел делать. ABAP/4 мы изучали в институте. Показали основной синтаксис, да пару программ написали простеньких.

Первую неделю на работе я читал книжку по ABAP и скучал откровенно. По про-шествии некоторого времени, мне, наконец-то, дали задание.

Кому интересно добро пожаловать.
Читать дальше →
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 11

Введение в ABAP

Время на прочтение 4 мин
Количество просмотров 133K
Программирование *
Из песочницы
Привет, Хабр!

Так как статей об ABAP'е на хабре совсем мало, а статьи вида «Hello, World!» совсем нету, решил немного написать об этом. Если вам интересно узнать про этот язык или же подумываете заниматься разработкой на ABAP'е, то добро пожаловать под кат.
Читать дальше →
Всего голосов 17: ↑10 и ↓7 +3
Комментарии 16

Подробный мануал «Как создать инфо-тип PA в SAP HR» или «Как приручить SAP?» (часть 1)

Время на прочтение 5 мин
Количество просмотров 22K
IT-компании
Туториал
Из песочницы
imageSAP – довольно распространенная система на крупных предприятиях не только запада, но и стран постсоветского пространства. Существует много сплетен и обсуждений, как позитивных, так и негативных по поводу SAP. И негативные отзывы связаны в основном, не столько со сложностью системы, сколько с интуитивно не понятным интерфейсом и отсутствием доступной литературы (книг, инструкций) на понятном русском языке.

Этой статьей я хочу дать начало доступным инструкциям по некоторым аспектам SAP, с которыми часто возникают проблемы у начинающих SAP’ёров. Данная статья будет посвящена созданию инфо-типов администрирования персонала (PA) для модуля SAP HR. Если данная инструкция Вам понравится и будет полезна, дорогой читатель, то, надеюсь, она будет не последней.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 5

Копание в данных SAP

Время на прочтение 17 мин
Количество просмотров 5.2K
ERP-системы *
В качестве промо-довеска к ранее опубликованной статье приложу немного опыта и исходного кода для специфической аудитории, а именно пользователей SAP. Однажды мне пришлось полгода позаниматься изучением и программированием в этой чудесной системе, а точнее в модуле CRM. Поскольку, с одной стороны, средства для броузинга данных в SAP крайне скудны, а, с другой, я был избалован собственными привычками делать все мышкой, однажды от скуки я занялся любимым делом — «Свободой выборки», но в ABAP & light версии.
В это место имеет смысл проваливаться только SAPерам
Всего голосов 7: ↑1 и ↓6 -5
Комментарии 8

Программная генерация PDF форм на ABAP или как избавиться от проблем со SPOOL

Время на прочтение 4 мин
Количество просмотров 17K
ERP-системы *
Из песочницы

С чего все началось


Специфика компании, в которой я работаю, подразумевает тесный контакт и сотрудничество с нашими клиентами. Одним из таких бизнес-процессов является рассылка различной документации как по почте, так и на бумажных носителях по наше не любимой почте в конвертах. Стандартный функционал, который позволяет генерировать печатные формы PDF и выводить их на печать или публиковать куда-либо в бинарном виде использует фоновые задачи и SPOOL данных печати.
Поначалу все было прекрасно, данные формировались, клиенты были довольны. Но в один момент все накрылось «медным тазом», объемы генерируемых печатных форм значительно выросли, SPOOL стал сильно «засераться», что приводило к жутким тормозам всей серверной части. Об одном из способов решения этой проблемы я и хочу рассказать в данной статье.
Читать дальше →
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 2

SAP ABAP: Crossing Checkpoint Charlie in a SAAB (перевод статьи c scn.sap.com)

Время на прочтение 4 мин
Количество просмотров 7.7K
ERP-системы *
Туториал
Из песочницы
Добрый день, уважаемые хаброжители!
Как ABAP-разработчику, мне хочется внести свой вклад в повышение качества пользовательских SAP-программ. С этой целью хочу опубликовать цикл переводов статей об интересных и главное полезных и не очень распространённых техниках из базы знаний SAP (SAP community network).
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 11

SAP ABAP: Understanding «Checkpoint Group» (перевод статьи c saptechnical.com)

Время на прочтение 4 мин
Количество просмотров 9.9K
Разработка веб-сайтов *Отладка *
Туториал
Перевод
Дисклеймер
Продолжаю публиковать статьи/переводы относящиеся к нераспространённым и редко используемым техникам SAP ABAP разработки. Ключевые понятия достаточно тяжело переводить на русский язык, различные интерпретации создают путаницу, поэтому привожу их на английском языке. Данный пост частично пересекается с прошлым, но несёт в себе более детальное описание понятия Checkpoint Group


Введение в «Checkpoint Group»


Понятие и реализация «Сheckpoint Group» изначально появились в SAP Web Application Server (SAP WebAS) 6.20 и целиком относятся к области контроля правильности и возможности отслеживания переменных. При грамотном применении, технология облегчает работу по отладке и повышает качество ABAP кода.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1

XSLT преобразование внутренней таблицы в ABAP, имеющей поле типа «generic reference»

Время на прочтение 13 мин
Количество просмотров 21K
ERP-системы *
Туториал
Из песочницы

Пролог


О чем заметка? Как из внутренней таблицы, строка которой содержит ссылку на неизвестный (обобщенный) тип (REF TO DATA), которая, по факту, хранит ссылку на такую же таблицу, получить XML заданного формата. При этом, число уровней вложенности изначально неизвестно.
Зачем это нужно? Мне это понадобилось при выгрузке данных в различные форматы XML-файлов MS Office без использования OLE.
Для кого эта заметка? Для программистов на ABAP.
Необходимый уровень знания: знать, что такое reference type, generic type, XML; слышать, что существует такая вещь как XSLT.
Приступим?
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 1

Ещё один логгер для SAP

Время на прочтение 4 мин
Количество просмотров 21K
Разработка веб-сайтов *Отладка *
Из песочницы
Каждый программист в своей жизни должен хотя бы раз написать свой собственный логгер.
Народное изречение
Сегодня мне хотелось бы рассказать, как использовать журнал приложений в своих разработках, а ещё предложить сообществу очередной велосипед, призванный сделать жизнь немного комфортнее.

Итак, Application Log, также известный как SLG0 и SLG1
Читать дальше →
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 0

Безопасная ABAP-разработка в SAP

Время на прочтение 5 мин
Количество просмотров 11K
Блог компании SAP Информационная безопасность *Разработка веб-сайтов *
Сегодня на 2014 год, российские компании, внедрившие продукты компании SAP потратили большое количество ресурсов на клиентскую доработку решений. Однако не привносят ли эти разработки дополнительные риски в ваши бизнес-процессы? Компания SAP гарантирует качество кода в своих приложениях благодаря ручному аудиту поставляемого кода и использованию самых современных механизмов статического и динамического анализа своих продуктов на различные уязвимости. Автор этих строк провел исследование в университете г. Саарбрюккен (Германия) целью которого являлся анализ кодов продуктов SAP (решения по электронной коммерции) самыми современными инструментами статического анализа и убедился в высоком качестве этого кода. Программный код компании SAP проходит ручной и автоматизированный анализ, тысячи специальных тест-кейсов. Клиентский программный код зачастую не может быть так полно проанализирован, особенно, в условиях сжатых сроков проектов, в которых приходится работать. Стоит задуматься о качестве клиентского кода в ваших системах. Важно понимать, что проверка авторизации пользователя (синоним безопасности SAP для многих предприятий) не поможет предотвратить использование такого рода ошибок, т.к. пользователь, использующий ошибки в коде, выходит за рамки полномочий, определенных системным администратором.

Рассмотрим ошибки, которые могут присутствовать в клиентском коде.
Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 6

Разработка на ABAP для SAP HANA

Время на прочтение 3 мин
Количество просмотров 24K
Блог компании SAP ERP-системы *
Привет, хабрасообщество!

В данной статье я хотел бы осветить новые подходы к разработке на ABAP, применительно к SAP HANA. Мы рассмотрим новые элементы языка ABAP, которые позволят эффективнее использовать возможности, предоставляемые SAP HANA.

Допустим, у нас есть отчет, написанный на языке ABAP, время работы которого нас не устраивает. Мы хотим оптимизировать работу этого отчета. Основная идея изменения логики работы отчета, заключается в том, что часть логики отчета, которая интенсивно использует данные из СУБД (в нашем случае это SAP HANA), будет делегирована на уровень СУБД.

image
Рис.1. Code to Data pushdown.

Для осуществления этого подхода могут быть использованы следующие конструкции:
  1. Расширенный Open SQL
  2. FOR ALL ENTRIES
  3. ABAP Managed Database Procedures

Читать дальше →
Всего голосов 22: ↑13 и ↓9 +4
Комментарии 12

Как устроен ABAP Secure Storage в SAP

Время на прочтение 4 мин
Количество просмотров 9.8K
Блог компании Digital Security ERP-системы *
Этой записью в блог мы начинаем цикл постов о паролях в SAP-системах: о том, как различные пароли хранятся в системе, как защищаются и передаются.
На первый взгляд все просто — хранить пароли нужно в базе данных. Конечно, в случае обычных пользователей так и есть: пароли хранятся в виде хешей в БД. Однако для служебных пользователей SAP-системы не все так просто.
Ввиду сложных архитектурных особенностей ERP-системы, разработчикам из компании SAP приходится использовать различные типы хранилищ для такой критичной информации, как пароли системных пользователей.



Что ж, обсудим, как надежно реализованы эти хранилища и может ли атакующий использовать их недостатки в своих целях.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 0

Запуск SQL запросов в SAP

Время на прочтение 13 мин
Количество просмотров 29K
Разработка веб-сайтов *Программирование *
Из песочницы
При внедрении информационных решений на базе SAP ERP, как правило, разворачиваются три системы:

1. Система разработки.
2. Система тестирования.
3. Система продуктивной эксплуатации.

В процессе разработки программ очень часто возникает необходимость оперативно протестировать SQL-запросы в продуктивной или тестовой системе, так как система разработки обычно содержит минимум данных и их не всегда достаточно. Давайте рассмотрим существующие для этого варианты, оценим их недостатки и в итоге разработаем свой инструмент.
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 8

Создание HANA-приложения с использованием среды разработки Eclipse

Время на прочтение 4 мин
Количество просмотров 20K
Блог компании SAP Eclipse *Big Data *
Авторы – Баков Рустам, Дмитриева Людмила, Кульнев Дмитрий, Медведев Юрий

Привет, Хабр-сообщество!

В данной статье мы не будем рассказывать, что такое SAP HANA, об этом и так много говорят и пишут, а сразу покажем, как можно «поиграть» с системой и создать простое приложение из серии «Hello World!» с применением среды разработки Eclipse.

Вначале настроим среду разработки Eclipse с необходимыми плагинами. Плагины для работы с SAP HANA существуют для двух версий Eclipse – Luna и Kepler. Если у вас не установлен Eclipse, то скачать его можно по ссылкам:
Luna — www.eclipse.org/luna
Kepler — www.eclipse.org/kepler
В нашем примере мы будем показывать все шаги настройки на примере Eclipse Luna.

image

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 11

Как выучиться на ABAPера?

Время на прочтение 6 мин
Количество просмотров 87K
Блог компании SAP ERP-системы *
Привет, Хабр!

Начну с главного — ABAP-разработчики нужны. А для тех кто сомневается — только за последние полтора месяца на HH появилось свыше 100 вакансий, в том числе от ведущих российских и мировых брендов.

ABAP возник в 80-е годы двадцатого века и продолжает развиваться. За три десятка лет он вобрал в себя множество парадигм программирования — тут и процедурное, и событийно-ориентированное и объектно-ориентированное — все это в рамках структурного программирования в стиле Дэйкстры (с непременными ENDIF, ENDCASE, разными другими ENDЧТОТОТАМ и даже ENDSELECT, непривычным для знатоков SQL). Обилие парадигм значительно расширяет кругозор, но немного усложняет изучение языка.

В принципе, если среди вас есть энтузиасты, они могут учить его и по стандартной документации. Хотя это не так просто: нужно писать свои программы, требуется система, которая встанет не на любое железо и не забываем про лицензии, но самое печальное, что это долго. Документации много, и не от сырости — язык за три десятка лет вобрал в себя многое, а выкинуть старое не легко: есть такая «священная корова» — совместимость версий. Для изучения ABAP SAP была разработана специальная программа курсов, охват тем которой с одной стороны несколько превосходит Академию для консультантов TAW10/TAW20, с другой успешное усвоение достаточно для сертификации Associate development consultant. Какие курсы нужны и зачем? Постараюсь ответить на эти вопросы, кратко опишу, через что и, главное, в каком порядке, придется пройти новичкам, ну и, конечно, готов ответить на вопросы. С вами я — ABAP-тренер, since 1998.
Читать дальше →
Всего голосов 33: ↑23 и ↓10 +13
Комментарии 28

[ABAP] Учимся правильно использовать FOR ALL ENTRIES IN

Время на прочтение 5 мин
Количество просмотров 40K
Разработка веб-сайтов *Программирование *SQL *
Туториал
При разработке отчетов (программ) SAP на языке ABAP для обращения к базе данных используются Open SQL-запросы. Синтаксис очень похож на SQL, но имеются некоторые отличия. Одно из таких отличий – возможность использования конструкции FOR ALL ENTRIES IN. Эта конструкция применяется в SELECT запросах до оператора WHERE. После неё указывается внутренняя таблица с данными, поля которой можно использовать в операторе WHERE в качестве условий выборки.

В этой статье я хочу рассказать о тонкостях работы этой конструкции: что происходит на уровне БД, об оптимизации запросов и о database-hints.
Хочу знать больше о FOR ALL ENTRIES IN
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 10

Подход к реализации больших форматированных отчетов в SAP BW

Время на прочтение 7 мин
Количество просмотров 20K
Визуализация данных *
Из песочницы
На проектах внедрения отчетности с использованием хранилища данных SAP BW многим архитекторам и консультантам приходится решать задачи подготовки больших форматированных отчетов: разнообразных ведомостей, выписок и т.п. Такие отчеты обычно характеризуются:

  • Нестандартными относительно инструментов SAP требованиями к форматированию;
  • Фиксированным числом столбцов;
  • Значительным количеством столбцов и строк (соответственно, десятки и десятки тысяч и более);
  • Требованием наличия Excel-представления;
  • Требованием к времени выполнения не более нескольких минут

К сожалению, нередко приходится наблюдать ситуацию, когда архитекторы BW-проектов выбирают стандартный для BW подход реализации таких отчетов. Кратко суть этого подхода изложена ниже.

Консультантом создается рабочая книга BW-BEx, которая содержит один или несколько BW-BEx-отчетов. Отчеты выгружаются на отдельные листы этой книги, которые обычно скрывают от пользователей. Видимым оставляют лишь один лист книги, содержащий целевую форму отчета с необходимым форматированием.

Работа пользователя с таким отчетом выглядит следующим образом:

  • в зависимости от используемого Excel-инструмента SAP BW, пользователь запускает BW-BEx Analyzer или SBOP Analysis for Office, подключается к серверу SAP BW, выбирает из роли рабочую книгу и запускает ее на выполнение.
    Через несколько секунд (иногда – десятка секунд) появляется селекционный экран.
    На экране пользователь выбирает значения параметров. Например, год-месяц, балансовую единицу, группу материала и т.п. Затем нажимает кнопку «выполнить».
  • Теперь настала очередь «поработать» для SAP BW: все BW-BEx-отчеты рабочей книги выполняются последовательно, отчет за отчетом, передавая на рабочие листы Excel свои данные.
  • После получения в Excel данных каждого отчета запускается VBA-макрос. Логика работы макроса такова, что он ничего не делает, пока данные всех отчетов не будут получены на Excel-листы.
  • Когда данные последнего отчета поступили на Excel-лист, VBA-макрос выполняет основную работу по подготовке форматирования отчета.
  • Когда VBA-макрос завершил работу, пользователь может увидеть результат отчета в своем Excel.

У стандартного подхода есть ряд преимуществ: он прост в реализации и им хорошо владеют большинство специалистов на рынке. Но определенные ограничения не позволяют эффективно реализовывать большие отчеты. А неэффективная реализация получается (если вообще получается) очень неудобной в работе, что негативно сказывается на отношении пользователей к проекту внедрения вообще и к SAP BW в частности. Основное ограничение – максимальное количество ячеек (число строк, умноженное на число столбцов) в отчете. Если их число приближается к эмпирическим 750000, то вероятность сбоя из-за нехватки памяти практически 100%. Т.е. отчет из всего 18 колонок и чуть более 40000 строк уже попадает под это ограничение. А ведь лимиты у Excel намного больше.

Чего только не придумывают консультанты, чтобы, оставаясь в рамках стандартного подхода, качественно сделать-таки большой отчет. Но почти всегда ничего не получается. «Почти» означает компромиссы, послабления в требованиях. Бизнес-пользователи либо соглашаются применять более ограничивающие фильтры и отчет возвращает меньше данных, либо ждать выполнения подольше, либо вручную сводить несколько фрагментов отчета в один.

Чтобы все-таки не говорить клиенту «нет, мы не можем этого реализовать при таких требованиях», необходимо для начала сделать правильные выводы из очевидного: каждый инструмент предназначен для своей задачи.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 0
1