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

🏛 https://abap-blog.ru/about/
Download Telegram
Закон Брукса (от 23.02.2012)

Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше. Интуиция подсказывает, что если проект отстает от графика, то нужно увеличить людские ресурсы, чтобы наверстать упущенное. Но, как говорит данный факт, здесь интуиции доверять нельзя. Беда в том, что люди, начиная работать в новом проекте, какое-то время “разгоняются”. Они должны многое…

https://abap-blog.ru/others/zakon-bruksa/
Плохая оценка – одна из причин неуправляемости проекта (от 23.02.2012)

Неуправляемые проекты – это проекты, которые выходят из-под контроля. Слишком часто их не удается завершить выдачей хоть какого-то продукта. А если все же удается, то с большим отставанием от бюджета. Их выполнение сопровождается массой потерь, как корпоративных, так и людских. Некоторые проекты известны как “путь камекадзе”. Другие проходят в “авральном режиме”. Как бы они не назывались, какими…

https://abap-blog.ru/others/ploxaya-ocenka-odna-iz-prichin-neupravlyaemosti-proekta/
Требования, которых нет – самая сложная ошибка (от 26.02.2012)

Как может получиться, что требований нет? Для этого надо, чтобы в процессе их сбора что-то пошло не так. Сбор требований состоит в определении задачи, которую предстоит решить. Возникает законный вопрос: «Как собирают требования?» Сбор требований нередко, но не всегда, представляет собой процесс взаимодействия одних людей с другими. Те, кто ставит задачу, – заказчики, пользователи или их «бизнес-аналитики» –…

https://abap-blog.ru/others/trebovaniya-kotoryx-net-samaya-slozhnaya-oshibka/
Качество есть совокупность свойств (от 26.02.2012)

Качество программного обеспечения можно определить массой способов. Здесь я хочу представить определение, прошедшее самое долгое испытание временем. Под качеством в индустрии ПО понимают совокупность семи свойств,которыми должен обладать программный продукт: переносимости (portability), надежности (reliability), эффективности (efficiency), удобства в использовании (usability, или учета человеческого фактора), тестируемости(testability), понятности (understandability) и модифицируемости (modifiability). Разные специалисты дают этим свойствам…

https://abap-blog.ru/others/kachestvo-est-sovokupnost-svojstv/
Получение списка объектов используемых в программе (от 28.02.2012)

REPORT ZDYN_SELECTIONS. PARAMETERS:pa_prog TYPE tadir-obj_name. DATA: environment_selection TYPE envi_types, source_searched TYPE TABLE OF rsfind, output_list TYPE TABLE OF senvi. START-OF-SELECTION. environment_selection-prog = ' '. "Программы environment_selection-fugr = ' '. "Группы функций environment_selection-ldba = ' '. "Логические базы данных environment_selection-msag = ' '. "Классы сообщений environment_selection-tran = ' '. "Транзакции environment_selection-func = 'X'. "Функциональные модули environment_selection-dial…

https://abap-blog.ru/others/poluchenie-spiska-obektov-ispolzuemyx-v-programme/
MOVE-CORRESPONDING для внутренних таблиц (от 29.02.2012)

TYPES: BEGIN OF ty_one, a TYPE char2, b TYPE char2, C TYPE char2, END OF ty_one, BEGIN OF ty_two, b TYPE char2, C TYPE char2, END OF ty_two. DATA: lt_tab1 TYPE STANDARD TABLE OF ty_one, lt_tab2 TYPE STANDARD TABLE OF ty_two. FIELD-SYMBOLS: TYPE ty_one, TYPE ty_two. APPEND INITIAL LINE TO lt_tab1 ASSIGNING .…

https://abap-blog.ru/osnovy-abap/move-corresponding-dlya-vnutrennix-tablic/
Транзакция для запуска BSP приложения (от 18.03.2012)

Допустим у Вас есть BSP приложение и необходимо создать транзакцию для его запуска. Данную проблему можно решить скопировав транзакцию START_BSP и настроив подходящий вариант. В случае если в вашей системе нет START_BSP, поможет следующий код: REPORT zbsp_start. DATA: lv_url TYPE STRING, lv_urlc(4096) TYPE C, lt_parms TYPE tihttpnvp. START-OF-SELECTION. PARAMETER: p_app TYPE STRING. PARAMETER: p_page TYPE STRING. PARAMETER:…

https://abap-blog.ru/network/tranzakciya-zapuska-bsp-prilozheniya/
Обновление MIME хранилища для BSP приложений (от 18.03.2012)

Для обновления хранилища можно воспользоваться программой: BSP_UPDATE_MIMEREPOS

https://abap-blog.ru/osnovy-abap/obnovlenie-mime-xranilishha-dlya-bsp-prilozhenij/
Редактируемый ALV в 3 строки (от 18.03.2012)

REPORT zalv_grid. DATA: lo_alv TYPE REF TO cl_gui_alv_grid, lt_tab TYPE TABLE OF t001. SELECTION-SCREEN BEGIN OF SCREEN 1100. SELECTION-SCREEN END OF SCREEN 1100. SELECT * FROM t001 INTO TABLE lt_tab. *-- Строка 1 - создание инстанции грида CREATE OBJECT lo_alv EXPORTING i_parent = cl_gui_container=>screen0. *-- Строка 2 - привязка внутренней таблицы к гриду CALL METHOD…

https://abap-blog.ru/osnovy-abap/sap-dynpro/redaktiruemyj-alv-v-3-stroki/
Редактирование таблицы через SE11 (SE16N) (от 18.03.2012)

Заходим на просмотр данных таблицы (например табл. plaf): В строке команд набираем /h (отладка). Жмем Enter, попадаем в отладчик. В переменную CODE вместо SHOW ставим EDIT жмем F8. Результат: Для удаления записи можно воспользоваться командой DELE. Данный способ работает так же через транзакцию SE16. Кроме того вы можете отредактировать запись выполнив следующий ФМ: SE16N_INTERFACE, с параметрами – I_EDIT…

https://abap-blog.ru/osnovy-abap/slovar/redaktirovanie-tablicy-cherez-se11/
Remote Function Call (от 19.03.2012)

Remote Function Call (RFC, удалённый вызов функций) – стандартный интерфейс для обмена данными между SAP и не SAP системами. Интерфейс передачи данных основан на CPI-C или TCP/IP. Стандартная справка по теме RFC или курс BC415. Особенности RFC функций Когда вы вызываете ФМ локально, он работает в том же рабочем процессе что и вызывающая программа. Если вы…

https://abap-blog.ru/network/remote-function-call/
Программирование обновлений БД в ABAP (от 21.03.2012)

Транзакция – в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, с соблюдением целостности данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, в каковом случае она не должна произвести никакого эффекта. Транзакционность в системе SAP поддерживается на двух уровнях;…

https://abap-blog.ru/database-work/programmirovanie-obnovlenij-bd-v-r3/
Получение данных из стандартных SAP GUI ALV отчётов (от 23.03.2012)

Приходилось ли Вам сталкиваться с ситуацией, когда стандартные ALV отчёты удовлетворяют частично Вашим потребностям, но при этом код в этих отчётах устроен слишком сложно, чтобы сразу понять всю логику выбора данных? Переписывать всю логику при этом будет достаточно накладно, но многие так и делают 🙂 Некоторые отчёты позволяют сделать обёртку над ними, они предоставляют все…

https://abap-blog.ru/osnovy-abap/sap-dynpro/poluchenie-dannyx-iz-standartnyx-sap-gui-alv-otchyotov/
Обработка событий в SALV модели (от 02.04.2012)

Объектная модель SALV не позволяет редактировать данные (нормальным способом), однако Вы можете обрабатывать множество других событий: нажатие на кнопки, hotspot элементы, ссылки, checkbox’ы, добавлять свои собственные функции, обрабатывать щелчки (двойные щелчки), нажатие специальных клавиш (F1,F2). Обработка событий полностью основана на событийной модели ABAP Objects. В первую очередь необходимо получить ссылку на класс вызывающий событие (с…

https://abap-blog.ru/osnovy-abap/sap-dynpro/obrabotka-sobytij-v-salv-obektax/
Перевод количеств из разных АЕИ (от 03.04.2012)

Для перевода количества из одной единицы измерения в другую существует функциональный модуль: MATERIAL_UNIT_CONVERSION. Данный ФМ может преобразовывать либо из базисной ЕИ в альтернативную, либо наоборот. Для преобразования из одной АЕИ в другую можно либо дважды вызвать MATERIAL_UNIT_CONVERSION, либо воспользоваться другим ФМ: OIB_MATERIAL_UNIT_CONVERSION (работает с учётом долей продукта для партии).  Пример его использования: DATA: gv_ves_t TYPE F VALUE…

https://abap-blog.ru/osnovy-abap/perevod-iz-raznyx-aei/
Ода в честь SAP таблиц (от 03.04.2012)

Ring the bells of all SAP tables. Remember Bank tables start with B, say «BKNF , BKPF». Remember Customer tables start with K , say «KNA1,KONV». Remember Material tables start with M, say «MARA , MAKT ,MARC». Remember Master data tables start with T, say «T001,T001W». Remember Purchasing tables start with E, say «EKKO, EKPO»…

https://abap-blog.ru/others/oda-v-chest-sap-tablic/
Преобразовать FLOAT в CHAR и обратно (от 04.04.2012)

Присвоение к CHAR типа FLOAT согласно справке возможно и напрямую, но для того чтобы задать дополнительные параметры преобразования можно использовать следующие ФМ: DATA: gv_char_val TYPE rscvp-valc2, gv_float_val TYPE F VALUE '1.0324'. CALL FUNCTION 'FLTP_CHAR_CONVERSION' EXPORTING decim = 4 "
Транзакции сравнения различных данных между системами R3 (от 09.04.2012)

SCMP – сравнение объектов (данные из таблиц и ракурсов) OY19 – объекты настройки системы SREPO – объекты пактов, модифицированные объекты SAP и т.п.

https://abap-blog.ru/others/tranzakciya-sravneniya-tablichnyx-dannyx-v-raznyx-sistemax/
Добавленное поле не показывается в ALV? (от 09.04.2012)

При использовании ФМ – REUSE_ALV_FIELDCATALOG_MERGE может возникнуть ситуация, когда добавленное в каталог новое поле не будет отображено в ALV, необходимо сбросить буфер ALV, для этого используйте программу: BCALV_BUFFER_DEL_SHARED или BALVBUFDEL.

https://abap-blog.ru/osnovy-abap/sap-dynpro/dobavlennoe-pole-ne-pokazyvaetsya-v-alv/