ABAP Blog ️
1.25K subscribers
5 photos
3 videos
56 files
340 links
Про ABAP, SAP и Разработку в целом.

🏛 https://abap-blog.ru/about/
Download Telegram
Доступ к приватному атрибуту класса (от 28.02.2014)

Инкапсуляция — механизм языка программирования, ограничивающий доступ к составляющим объект компонентам (методам и свойствам), делает их приватными, то есть доступными только внутри объекта. Является важным инструментом ООП наряду с полиморфизмом, наследованием и абстракцией данных. Как известно в ABAP можно получить доступ к приватному атрибуту другого класса, если класс запрашивающий атрибут является другом. Кроме этого способа, доступ к приватному атрибуту можно получить если мы сможем…

https://abap-blog.ru/osnovy-abap/dostup-k-privatnomu-atributu-klassa/
Сделать снимок экрана (от 03.03.2014)

DATA: gv_mime_type TYPE string, gv_image TYPE xstring, gt_tabimg TYPE STANDARD TABLE OF x, gv_path TYPE string, gv_full_path TYPE string, gv_useraction TYPE i, gv_name TYPE string. cl_gui_frontend_services=>get_screenshot( IMPORTING mime_type_str = gv_mime_type image = gv_image EXCEPTIONS access_denied = 1 cntl_error = 2 error_no_gui = 3 not_supported_by_gui = 4 OTHERS = 5 ). IF sy-subrc 0. MESSAGE…

https://abap-blog.ru/osnovy-abap/sdelat-snimok-ekrana/
Оптимальное использование user (customer) exit’ов с помощью вызова BADI (от 30.03.2014)

Очень часто в коде какого-либо user (customer) exit можно встретить кучу разных ветвлений, одно вставил программист Петя по задаче X, другое вставил программист Вася по задаче Y. Со временем подобный код становится плохо читаемым. Для удобства его восприятия можно воспользоваться современными BADI, основанными на Enhancement Framework. Суть данного удобства заключается в том, что вместо кучи…

https://abap-blog.ru/enhancements/optimalnoe-ispolzovanie-eser-exitov-s-pomoshhyu-vyzova-badi/
Автоматическая проверка присвоения имен для переменных (от 05.04.2014)

Как правило, в ABAP используется венгерская нотация для обозначения переменных. В разных источниках правила по обозначению переменных могут отличаться, даже внутри кода SAP нет единого подхода. Есть некоторые рекомендации по обозначению, но они так же не являются полными. С помощью анализатора кода тр. SCI можно унифицировать правила и проверять их соблюдение.  Ниже, с помощью этой…

https://abap-blog.ru/osnovy-abap/avtomaticheskaya-proverka-prisvoeniya-imen-dlya-peremennyx/
Тестирование, управляемое данными (Data-Driven Testing) (от 25.04.2014)

Методология тестирования, управляемого данными (DDT) применяется в автоматизации тестирования ПО, представляет собой тестирование, выполнение и верификация которого производится на основе данных, которые хранятся в БД или любых других источниках данных. Обычно сравнивают эталонные данные с теми, что на выходе получает система из метода (функции, программы и т.п.). Тестирование, управляемое данными подразумевает разделение юнит тестов и…

https://abap-blog.ru/osnovy-abap/testirovanie-upravlyaemoe-dannymi-data-driven-testing/
Диаграмма классов UML (от 12.05.2014)

При моделировании какой-либо системы, построенной с помощью ООП, широко используется унифицированный язык моделирования UML. Взаимосвязи между классами в такой системе принято отображать в виде диаграммы классов. В данной статье рассмотрены основные взаимосвязи между классами и как они отражаются в ABAP коде. Взаимосвязь — это особый тип логических отношений между сущностями, показанных на диаграммах классов и объектов. Существуют следующие виды…

https://abap-blog.ru/osnovy-abap/diagramma-klassov-uml/
ABAP Object Services – Persistence Service – часть 1. (от 28.05.2014)

При разработке с использованием ABAP Objects разработчик неизбежно сталкивается с ситуацией, когда данные нужно либо загружать из каких-либо источников данных (БД, файлы и т.п.) в объекты, либо выгружать из объектов куда-либо. Системы, решающие задачу сопоставления информации из БД в объекты и обратно принято называть ORM системами. В объектно-ориентированном программировании объекты в программе представляют объекты из реального мира. В…

https://abap-blog.ru/database-work/abap-object-services-persistence-service/
ABAP Object Services – Transaction Service (от 31.05.2014)

Инструмент обработки транзакций позволяет разработчику контролировать процессы записи изменений из хранимых объектах в базу данных. Transaction Service основан на классической схеме обновления данных, с небольшими дополнениями. Используя TS нет необходимости ручного вызова модулей обновлений. Кроме того, TS вводит такое понятие как ООП транзакция. Компоненты Transaction Service Рассмотрим используемые в TS компоненты. Сама по себе ООП…

https://abap-blog.ru/database-work/abap-object-services-transaction-service/
ABAP Object Services – Query Service (от 03.06.2014)

Ранее было показано, каким образом можно загрузить хранимый объект из БД относительно ключевых полей и даже как массово их инициализировать (метод GET_PERSISTENT_BY_KEY_TAB). Альтернативой подобному методу служит – Query Service. QS – Инструмент позволяющий Вам делать поиск и загрузку хранимых объектов, относительно логических выражений (условий). Кроме фильтров относительно условий, QS позволяет задать параметры сортировки. Используя QS, вам…

https://abap-blog.ru/database-work/abap-object-services-query-service/
ABAP Object Services – Persistence Service – часть 2 (от 04.06.2014)

Продолжаем знакомство с ABAP Object Services, в этой части будут рассмотрены темы: менеджеры инстанций и постоянства,  пользовательские проверки при манипуляции с атрибутами хранимых классов, преобразование объектов в структуры и таблицы, загрузка связанных объектов без использования ссылочных атрибутов. Менеджер инстанций и менеджер постоянства (Persistency Manager) Как мы уже знаем каждый агент класса, содержит методы для создания,…

https://abap-blog.ru/database-work/abap-object-services-persistence-service-chast-2/
Быстрая трассировка в отладчике (от 28.06.2014)

Начиная с SAP_ABA 702 в отладчике появился инструмент позволяющий быстро включать трассировку (SE30/ST05): Добавляем инструмент: Ставим точку перед вызовом SQL (В моем случае получение хранимого объекта): Активируем SQL Trace в инструменте, двойным щелчком мыши: Проходим вызов, деактивируем trace, получаем результат:

https://abap-blog.ru/others/bystraya-trassirovka-v-otladchike/
ABAP Object Services – Интеграция с системой блокировок (от 28.06.2014)

На сервере приложений одновременно может работать большое число пользователей, которые в свою очередь работают параллельно с одними и теми же программами, может случиться ситуация, когда они попытаются одновременно обработать один и тот же объект (например, изменить поставку, заказ на закупку и т.п.). Чтобы в системе не возникало противоречивости данных, были придуманы блокировки, более подробно о…

https://abap-blog.ru/database-work/abap-object-services-integraciya-s-sistemoj-blokirovok/
Автоматическое дополнение угловых скобок (от 07.07.2014)

В стандартном ABAP редакторе существует функция автоматического добавления скобок, кавычек: Данная функция не обрабатывает угловые кавычки (), при желании можно добавить эту возможность изменив в файлах abap_spec.xml и abap4_spec.xml значение  на следующее:  ()[]''``<> Файлы расположены по адресу: UsersAppDataRoamingSAPSAP GUIABAP Editor

https://abap-blog.ru/others/avtomaticheskoe-dopolnenie-uglovyx-skobok/
База знаний ABAP программиста (от 11.07.2014)

С увеличением объема информации необходимой для выполнения своих профессиональных обязанностей, перед каждым IT специалистом, а в особенности программистами, встаёт задача её быстрого поиска, для чего информация должна быть хорошо структурирована, актуальна, а поиск по ней должен выдавать релевантные результаты. В данной статье будет рассмотрен один из способов построения простейшей базы знаний, с помощью продукта Help &…

https://abap-blog.ru/others/baza-znanij-abap-programmista/
Обновления в ABAP 7.40, SP08 (от 25.10.2014)

Horst Keller выложил очередную порцию нововведений в язык ABAP.

https://abap-blog.ru/osnovy-abap/obnovleniya-v-abap-7-40-sp08/
SOLID в ABAP (от 12.11.2014)

При проектировании объектно-ориентированных систем (классов), важно соблюдать основополагающие принципы проектирования. К ним можно отнести список правил, составленных Робертом Мартином, которые известны под именем SOLID. SOLID это аббревиатура, где каждая из букв обозначает отдельное правило: S – (Single responsibility principle – SRP), принцип единственной обязанности. На каждый класс должна быть возложена единственная обязанность. O – (Open/closed…

https://abap-blog.ru/osnovy-abap/solid/
Генерация SOAP Web сервиса на базе ФМ (от 29.11.2014)



https://abap-blog.ru/network/generaciya-soap-web-servisa-na-baze-fm/
ABAP bad practice (от 06.03.2015)

По своему роду деятельности часто приходится разбираться с чужим ABAP кодом, в котором постоянно встречаются одни и те же проблемы, вызывающие «головную боль» при сопровождении. В данной статье будут рассмотрены основные из них. UPDATE. На сайт добавлен раздел с лучшими практиками. Незнание основополагающих принципов разработки Описанные далее принципы не относятся напрямую к языку ABAP и…

https://abap-blog.ru/osnovy-abap/abap-bad-practice/
Обзор GRASP и GoF паттернов (от 23.04.2015)

Весьма интересный обзор GRASP и GoF паттернов от Сергея Немчинского.

https://abap-blog.ru/osnovy-abap/oop/obzor-grasp-i-gof-patternov/
Ведение пользовательских настроек в кластерах ракурсов (от 24.06.2015)

Очень часто в процессе разработки необходимо предоставить гибкость программного решения, в зависимости от каких-либо требований, определенными теми или иными настройками. Подобная гибкость в SAP системах традиционно решается путём определения пользовательских настроек в транзакции SPRO.  В статье будет рассмотрен способ определения своих настроек на базе ведения многоуровневого кластера ракурсов и создание ссылки на него в SPRO.…

https://abap-blog.ru/osnovy-abap/slovar/vedenie-polzovatelskix-nastroek-v-klasterax-rakursov/