Закон Брукса (от 23.02.2012)
Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше. Интуиция подсказывает, что если проект отстает от графика, то нужно увеличить людские ресурсы, чтобы наверстать упущенное. Но, как говорит данный факт, здесь интуиции доверять нельзя. Беда в том, что люди, начиная работать в новом проекте, какое-то время “разгоняются”. Они должны многое…
https://abap-blog.ru/others/zakon-bruksa/
Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше. Интуиция подсказывает, что если проект отстает от графика, то нужно увеличить людские ресурсы, чтобы наверстать упущенное. Но, как говорит данный факт, здесь интуиции доверять нельзя. Беда в том, что люди, начиная работать в новом проекте, какое-то время “разгоняются”. Они должны многое…
https://abap-blog.ru/others/zakon-bruksa/
abap-blog.ru
ABAP Blog | Закон Брукса
Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше. Интуиция подсказывает, что если проект отстает от графика, то нужно
Плохая оценка – одна из причин неуправляемости проекта (от 23.02.2012)
Неуправляемые проекты – это проекты, которые выходят из-под контроля. Слишком часто их не удается завершить выдачей хоть какого-то продукта. А если все же удается, то с большим отставанием от бюджета. Их выполнение сопровождается массой потерь, как корпоративных, так и людских. Некоторые проекты известны как “путь камекадзе”. Другие проходят в “авральном режиме”. Как бы они не назывались, какими…
https://abap-blog.ru/others/ploxaya-ocenka-odna-iz-prichin-neupravlyaemosti-proekta/
Неуправляемые проекты – это проекты, которые выходят из-под контроля. Слишком часто их не удается завершить выдачей хоть какого-то продукта. А если все же удается, то с большим отставанием от бюджета. Их выполнение сопровождается массой потерь, как корпоративных, так и людских. Некоторые проекты известны как “путь камекадзе”. Другие проходят в “авральном режиме”. Как бы они не назывались, какими…
https://abap-blog.ru/others/ploxaya-ocenka-odna-iz-prichin-neupravlyaemosti-proekta/
abap-blog.ru
ABAP Blog | Плохая оценка – одна из причин неуправляемости проекта
Неуправляемые проекты - это проекты, которые выходят из-под контроля. Слишком часто их не удается завершить выдачей хоть какого-то продукта. А если все же
Требования, которых нет – самая сложная ошибка (от 26.02.2012)
Как может получиться, что требований нет? Для этого надо, чтобы в процессе их сбора что-то пошло не так. Сбор требований состоит в определении задачи, которую предстоит решить. Возникает законный вопрос: «Как собирают требования?» Сбор требований нередко, но не всегда, представляет собой процесс взаимодействия одних людей с другими. Те, кто ставит задачу, – заказчики, пользователи или их «бизнес-аналитики» –…
https://abap-blog.ru/others/trebovaniya-kotoryx-net-samaya-slozhnaya-oshibka/
Как может получиться, что требований нет? Для этого надо, чтобы в процессе их сбора что-то пошло не так. Сбор требований состоит в определении задачи, которую предстоит решить. Возникает законный вопрос: «Как собирают требования?» Сбор требований нередко, но не всегда, представляет собой процесс взаимодействия одних людей с другими. Те, кто ставит задачу, – заказчики, пользователи или их «бизнес-аналитики» –…
https://abap-blog.ru/others/trebovaniya-kotoryx-net-samaya-slozhnaya-oshibka/
abap-blog.ru
ABAP Blog | Требования, которых нет – самая сложная ошибка
Как может получиться, что требований нет? Для этого надо, чтобы в процессе их сбора что-то пошло не так. Сбор требований состоит в определении задачи, которую
Качество есть совокупность свойств (от 26.02.2012)
Качество программного обеспечения можно определить массой способов. Здесь я хочу представить определение, прошедшее самое долгое испытание временем. Под качеством в индустрии ПО понимают совокупность семи свойств,которыми должен обладать программный продукт: переносимости (portability), надежности (reliability), эффективности (efficiency), удобства в использовании (usability, или учета человеческого фактора), тестируемости(testability), понятности (understandability) и модифицируемости (modifiability). Разные специалисты дают этим свойствам…
https://abap-blog.ru/others/kachestvo-est-sovokupnost-svojstv/
Качество программного обеспечения можно определить массой способов. Здесь я хочу представить определение, прошедшее самое долгое испытание временем. Под качеством в индустрии ПО понимают совокупность семи свойств,которыми должен обладать программный продукт: переносимости (portability), надежности (reliability), эффективности (efficiency), удобства в использовании (usability, или учета человеческого фактора), тестируемости(testability), понятности (understandability) и модифицируемости (modifiability). Разные специалисты дают этим свойствам…
https://abap-blog.ru/others/kachestvo-est-sovokupnost-svojstv/
abap-blog.ru
ABAP Blog | Качество есть совокупность свойств
Качество программного обеспечения можно определить массой способов. Здесь я хочу представить определение, прошедшее самое долгое испытание временем. Под
Получение списка объектов используемых в программе (от 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/
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/
abap-blog.ru
ABAP Blog | Получение списка объектов используемых в программе
Получение информации о используемых в ABAP программе объектах: структуры, группы типов и пр.
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/
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/
abap-blog.ru
ABAP Blog | MOVE-CORRESPONDING для внутренних таблиц
Замена стандартного оператора для копирования данных между таблицами в ABAP программе.
Транзакция для запуска 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/
Допустим у Вас есть 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/
abap-blog.ru
ABAP Blog | Транзакция для запуска BSP приложения
Создание транзакции для запуска BSP приложений.
Обновление MIME хранилища для BSP приложений (от 18.03.2012)
Для обновления хранилища можно воспользоваться программой: BSP_UPDATE_MIMEREPOS
https://abap-blog.ru/osnovy-abap/obnovlenie-mime-xranilishha-dlya-bsp-prilozhenij/
Для обновления хранилища можно воспользоваться программой: BSP_UPDATE_MIMEREPOS
https://abap-blog.ru/osnovy-abap/obnovlenie-mime-xranilishha-dlya-bsp-prilozhenij/
abap-blog.ru
ABAP Blog | Обновление MIME хранилища для BSP приложений
Массовая обработка MIME объектов в BSP приложении.
Редактируемый 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/
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/
abap-blog.ru
ABAP Blog | Редактируемый ALV в 3 строки
Быстрый способ создания редактируемного ALV в ABAP программе.
Таблица с ключами разработчиков (от 18.03.2012)
Найти можно в таблице DEVACCESS.
https://abap-blog.ru/osnovy-abap/slovar/tablica-s-klyuchami-razrabotchikov/
Найти можно в таблице DEVACCESS.
https://abap-blog.ru/osnovy-abap/slovar/tablica-s-klyuchami-razrabotchikov/
abap-blog.ru
ABAP Blog | Таблица с ключами разработчиков
Получение ключа разработчика из системной таблицы.
Редактирование таблицы через 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/
Заходим на просмотр данных таблицы (например табл. plaf): В строке команд набираем /h (отладка). Жмем Enter, попадаем в отладчик. В переменную CODE вместо SHOW ставим EDIT жмем F8. Результат: Для удаления записи можно воспользоваться командой DELE. Данный способ работает так же через транзакцию SE16. Кроме того вы можете отредактировать запись выполнив следующий ФМ: SE16N_INTERFACE, с параметрами – I_EDIT…
https://abap-blog.ru/osnovy-abap/slovar/redaktirovanie-tablicy-cherez-se11/
abap-blog.ru
ABAP Blog | Редактирование таблицы через SE11 (SE16N)
Редактирование таблицы из ABAP словаря с помощью отладчика.
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/
Remote Function Call (RFC, удалённый вызов функций) – стандартный интерфейс для обмена данными между SAP и не SAP системами. Интерфейс передачи данных основан на CPI-C или TCP/IP. Стандартная справка по теме RFC или курс BC415. Особенности RFC функций Когда вы вызываете ФМ локально, он работает в том же рабочем процессе что и вызывающая программа. Если вы…
https://abap-blog.ru/network/remote-function-call/
abap-blog.ru
ABAP Blog | Remote Function Call
Обзор технологии удалённого вызова функций RFC в SAP.
Программирование обновлений БД в ABAP (от 21.03.2012)
Транзакция – в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, с соблюдением целостности данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, в каковом случае она не должна произвести никакого эффекта. Транзакционность в системе SAP поддерживается на двух уровнях;…
https://abap-blog.ru/database-work/programmirovanie-obnovlenij-bd-v-r3/
Транзакция – в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, с соблюдением целостности данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, в каковом случае она не должна произвести никакого эффекта. Транзакционность в системе SAP поддерживается на двух уровнях;…
https://abap-blog.ru/database-work/programmirovanie-obnovlenij-bd-v-r3/
abap-blog.ru
ABAP Blog | Программирование обновлений БД в ABAP
Введение в концепцию обновлений табличных данных из ABAP программ: SAP LUW, DB LUW, отложенные обновления и др.
Получение данных из стандартных SAP GUI ALV отчётов (от 23.03.2012)
Приходилось ли Вам сталкиваться с ситуацией, когда стандартные ALV отчёты удовлетворяют частично Вашим потребностям, но при этом код в этих отчётах устроен слишком сложно, чтобы сразу понять всю логику выбора данных? Переписывать всю логику при этом будет достаточно накладно, но многие так и делают 🙂 Некоторые отчёты позволяют сделать обёртку над ними, они предоставляют все…
https://abap-blog.ru/osnovy-abap/sap-dynpro/poluchenie-dannyx-iz-standartnyx-sap-gui-alv-otchyotov/
Приходилось ли Вам сталкиваться с ситуацией, когда стандартные ALV отчёты удовлетворяют частично Вашим потребностям, но при этом код в этих отчётах устроен слишком сложно, чтобы сразу понять всю логику выбора данных? Переписывать всю логику при этом будет достаточно накладно, но многие так и делают 🙂 Некоторые отчёты позволяют сделать обёртку над ними, они предоставляют все…
https://abap-blog.ru/osnovy-abap/sap-dynpro/poluchenie-dannyx-iz-standartnyx-sap-gui-alv-otchyotov/
abap-blog.ru
ABAP Blog | Получение данных из стандартных SAP GUI ALV отчётов
ABAP код для получения данных из ALV объектов внешних отчётов.
Обработка событий в SALV модели (от 02.04.2012)
Объектная модель SALV не позволяет редактировать данные (нормальным способом), однако Вы можете обрабатывать множество других событий: нажатие на кнопки, hotspot элементы, ссылки, checkbox’ы, добавлять свои собственные функции, обрабатывать щелчки (двойные щелчки), нажатие специальных клавиш (F1,F2). Обработка событий полностью основана на событийной модели ABAP Objects. В первую очередь необходимо получить ссылку на класс вызывающий событие (с…
https://abap-blog.ru/osnovy-abap/sap-dynpro/obrabotka-sobytij-v-salv-obektax/
Объектная модель SALV не позволяет редактировать данные (нормальным способом), однако Вы можете обрабатывать множество других событий: нажатие на кнопки, hotspot элементы, ссылки, checkbox’ы, добавлять свои собственные функции, обрабатывать щелчки (двойные щелчки), нажатие специальных клавиш (F1,F2). Обработка событий полностью основана на событийной модели ABAP Objects. В первую очередь необходимо получить ссылку на класс вызывающий событие (с…
https://abap-blog.ru/osnovy-abap/sap-dynpro/obrabotka-sobytij-v-salv-obektax/
abap-blog.ru
ABAP Blog | Обработка событий в SALV модели
Событийная модель в Simple ALV отчётах.
Перевод количеств из разных АЕИ (от 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/
Для перевода количества из одной единицы измерения в другую существует функциональный модуль: 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/
abap-blog.ru
ABAP Blog | Перевод количеств из разных АЕИ
ABAP код для преобразования количеств из разных единиц измерения.
Ода в честь 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/
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/
abap-blog.ru
ABAP Blog | Ода в честь SAP таблиц
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…
Преобразовать 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 "
Присвоение к 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/
SCMP – сравнение объектов (данные из таблиц и ракурсов) OY19 – объекты настройки системы SREPO – объекты пактов, модифицированные объекты SAP и т.п.
https://abap-blog.ru/others/tranzakciya-sravneniya-tablichnyx-dannyx-v-raznyx-sistemax/
abap-blog.ru
ABAP Blog | Транзакции сравнения различных данных между системами R3
SCMP – сравнение объектов (данные из таблиц и ракурсов) OY19 – объекты настройки системы SREPO – объекты пактов, модифицированные объекты SAP и т.п.
Добавленное поле не показывается в 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/
При использовании ФМ – 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/
abap-blog.ru
ABAP Blog | Добавленное поле не показывается в ALV?
Очистка системного буфера ALV, для обновления каталога полей.