SAPфорум.RU
https://sapboard.ru/forum/

ATC (ABAP Test Cockpit) - проверка кода
https://sapboard.ru/forum/viewtopic.php?f=13&t=92182
Страница 3 из 3

Автор:  hugo788 [ Вт, мар 15 2016, 15:14 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

hugo788 написал(а):
Kengur написал(а):
IF_EX_CTS_REQUEST_CHECK


Как я понял это внедрение в процесс создание/деблокирования запросов.

Тут я могу свою логику написать, но это не совсем то, что мне нужно.

Мне нужно влиять на выдачу стандартных окон ATC при деблокировании - либо окно с невозможностью деблокирования и список ошибок, либо окно со списоком ошибок и возможность деблокирования. В зависимости от пользователя.


Разобрался, извиняюсь был не прав, это то, что нужно, нужен как раз IF_EX_CTS_REQUEST_CHECK~CHECK_BEFORE_RELEASE_SLIN

Но не работает, создал внедрение, поставил точку, не попало, при разборе нашел в инклуде LSCTS_RELEASEF12:

Code:
IF pv_dialog = 'X'.
    lt_e071[] = ps_request-objects[].

    CALL FUNCTION 'TRINT_INSPECT_OBJECTS'
         EXPORTING
              iv_mode             = 'T'
              it_e071             = lt_e071
              it_e071k            = lt_e071k               " GTABKEY
              is_header           = ps_request-h           " GTABKEY
              IV_GTABKEY_CHK_ONLY = lv_gtabkey_check_only  " GTABKEY
         IMPORTING
              ev_error_type = lv_error_type.

*-------call user-exit  for approval ---------------
* user exit , possible to change lv_error_type = '1'
*  to  '2' as exception
*   IF ps_request-h-trstatus NA sctsc_states_released. ***TODO****
*    PERFORM user_exit_before_release_slin      USING  lv_current
*                                                      lv_error_type
*                                                      ps_request  .
*   ENDIF.

      IF lv_error_type = '1'.          "relevant faults for release


Как раз тут должен вызываться user-exit , который менят статус ошибка/инфо (lv_error_type ), но почему он закомментирован??

Автор:  hugo788 [ Ср, мар 23 2016, 14:38 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Нашел еще один существенный недостаток инструмента, во всяком случае для нашей фирмы - обязательная проверка происходит при деблокировании запроса, не задачи.

У нас запрос создает проектировщик, затем в нем программист в задаче пишет код, может быть несколько программистов, соотвественно несколько задач в одном запросе.
Так зачем делать проверки кода сразу по всем задачам и в момент деблокирования всего запроса???? Это будет уже происходить после тестирования, непосредственно перед переносом программы в продуктив. И что, проектировщик, при обнаружении ошибок, будет анализировать предупреждения кода программ? искать какие ошибки от какой задаче, тогда, когда уже надо будет нести разработку в продуктив? Очень странно....

Автор:  Удав [ Ср, мар 23 2016, 22:26 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

hugo788 написал(а):
Нашел еще один существенный недостаток инструмента, во всяком случае для нашей фирмы - обязательная проверка происходит при деблокировании запроса, не задачи.

У нас запрос создает проектировщик, затем в нем программист в задаче пишет код, может быть несколько программистов, соотвественно несколько задач в одном запросе.
Так зачем делать проверки кода сразу по всем задачам и в момент деблокирования всего запроса???? Это будет уже происходить после тестирования, непосредственно перед переносом программы в продуктив. И что, проектировщик, при обнаружении ошибок, будет анализировать предупреждения кода программ? искать какие ошибки от какой задаче, тогда, когда уже надо будет нести разработку в продуктив? Очень странно....

А какая проблема включить проверку при деблокировании задачи? Мы для этой цели использовали BAdI CTS_REQUEST_CHECK (метод IF_EX_CTS_REQUEST_CHECK~CHECK_BEFORE_RELEASE) и ФМ TR_INSPECT_OBJECTS.
И да, деблокирование запроса делает не постановщик, а администратор разработок. :wink:

Автор:  hugo788 [ Вс, мар 27 2016, 13:32 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Удав написал(а):
И да, деблокирование запроса делает не постановщик, а администратор разработок. :wink:


Это когда/где как :)

Спасибо, тоже с помощью этого ФМ и внедрения реализовал проверки на уровне деблокирования задач, в любом случае считаю, что это правильней,
как минимум не нужна волокита с поиском (администратором, постановщиком, не важно) ответственных за объекты своей конкретной задачи.

Автор:  hugo788 [ Вт, сен 27 2016, 10:40 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Интересует вопрос по псевдокомментариям инспектора кода.

Если с помощью возможностей ATC(запросы менеджерам качества ПО на исключение проверок инспектора кода в некоторых случаях) можно обойти проверки инспектора - что настроено и работает,
то в свою очередь возникает вопрос, как можно отключить возможность использование программистами псевдокомментарий?

Автор:  LAT [ Вт, сен 27 2016, 12:17 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Как-то неэтично спрашивать у программистов, каким образом они предлагают надежно закрыть самим себе возможность обойти проверки. :)

Автор:  hugo788 [ Вт, сен 27 2016, 13:13 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

LAT написал(а):
Как-то неэтично спрашивать у программистов, каким образом они предлагают надежно закрыть самим себе возможность обойти проверки. :)


:oops: :D

Ну просто мы используем функционал ATC, который итак позволяет действительно при необходимости их обойти, но он теряет свой смысл для проверок на которые действуют псевдокомментарии....

Автор:  Parazit [ Вт, сен 27 2016, 15:00 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

hugo788 написал(а):
LAT написал(а):
Как-то неэтично спрашивать у программистов, каким образом они предлагают надежно закрыть самим себе возможность обойти проверки. :)


:oops: :D

Ну просто мы используем функционал ATC, который итак позволяет действительно при необходимости их обойти, но он теряет свой смысл для проверок на которые действуют псевдокомментарии....

Строго говоря, если программист поставил такой комментарий, значит знает что делает, соответственно отвечает за свои действия.
Я сталкивался с такой ситуацией на проекте, когда любое сообщение проверки принималось за ошибку и проверяющие тупо требовали исправить. Сие есть полное мракобесие!
Приведу простой пример. Зачастую в ФМ я описываю особые ситуации, и часто сам же их не использую - всё зависит от ситуации.
В самом ФМ я инициирую особые ситуации через "Message ... raising...", создавая некоторую избыточность, указывая одновременно особую ситуацию и номер сообщения, а также тип и доп.поля.
Если мне необходимо только отобразить или сохранить в журнал сообщение об ошибке из ФМ, то я пользуюсь "exceptions others" и универсальной подпрограммой журналирования сообщений из SY-MSG*. А если нужно обработать конкретную ошибку и направить алгоритм по другому руслу, тогда обрабатываю конкретный "exceptions".
Поэтому сообщение проверки о том, что я не все ситуации обрабатываю, не говорит об ошибке! Более того, требование проверяющих исправить это ухудшит качество разработки, т.к. больше кода - больше ошибок.

Автор:  LAT [ Вт, сен 27 2016, 16:42 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Parazit написал:
Я сталкивался с такой ситуацией на проекте, когда любое сообщение проверки принималось за ошибку и проверяющие тупо требовали исправить. Сие есть полное мракобесие!
Полностью поддерживаю. Чрезмерное увлечение контролем за качеством кода вредит самому качеству кода.

Автор:  hugo788 [ Ср, сен 28 2016, 12:21 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Parazit написал:
Строго говоря, если программист поставил такой комментарий, значит знает что делает, соответственно отвечает за свои действия.


Эх...как бы хорошо было бы если все так работали :)
В общем возможности значит такой нет, спасибо.

Автор:  hugo788 [ Пт, мар 31 2017, 07:43 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

При проверки ATC ФМ-ов, проверяется вся группа функций.
При проверки ATC методов - проверяется весь класс.

Есть где то настройки ограничить, что если я проверяю в se37 допустим ФМ, чтоб проверялся лишь код этого ФМ?

Автор:  Удав [ Пт, мар 31 2017, 12:54 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Обычно ФМ использует подпрограммы и данные, описанные в группе функций.
Вы предлагаете их не проверять? :roll:

Автор:  hugo788 [ Вт, апр 11 2017, 09:43 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Тоже верно.

Может можно как то настроить, если метод не вызывает другие, если ФМ не вызывает объекты с гф, то не проверять....)

Автор:  Demda [ Пн, апр 17 2017, 18:53 ]
Заголовок сообщения:  Re: ATC (ABAP Test Cockpit) - проверка кода

Нету такого и не нужно. Смысл ставить и настраивать проверку ATC, если она использоваться будет частично? Если проверяется ФМ - значит должна проверяться вся ГФ. Если вам не нужно проверять ГФ, значит вам эта проверка вообще не нужна - отключите проверку модулей совсем :roll:

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/