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

Что делает этот код?
https://sapboard.ru/forum/viewtopic.php?f=13&t=95311
Страница 1 из 1

Автор:  simka_3375 [ Пт, авг 18 2017, 10:55 ]
Заголовок сообщения:  Что делает этот код?

Прошу прощения за глупый вопрос - что делает этот код? Может что-то я забыла или что-то новое в ABAPе появилось?
В результате этой проверки CHECK VBRK-FKART что происходит? В моем понимании ничего, кроме того, что возврат в точку вызова формы GET_CHECK_CANCEL.

Code:
FORM GET_CHECK_CANCEL .

  SELECT SINGLE FKART FROM VBRK INTO VBRK-FKART
  WHERE VBELN EQ VBDKR-VBELN.
  IF SY-SUBRC = 0.
    CHECK VBRK-FKART+0(2) NS C_CANCEL.   "billing cancel
  ENDIF.

ENDFORM.

Автор:  Bimit [ Пт, авг 18 2017, 11:09 ]
Заголовок сообщения:  Re: Что делает этот код?

Проверяет вид фактуры вашей какой то константе

Если проходит проверку то идет дальше если нет то выход из подпрограммы, хотя глядя на код зачем непонятно, может если расширять будете подпрограмму :D

Автор:  simka_3375 [ Пт, авг 18 2017, 11:31 ]
Заголовок сообщения:  Re: Что делает этот код?

Понятно. Уже голова кругом идет от мусора в программе. Пусть так остается, если разработчику так захотелось. Как говорится, то, как человек поступает - это его карма. То как мы реагируем - это наша карма.

Автор:  Kuranov.Dmitry [ Ср, сен 06 2017, 10:21 ]
Заголовок сообщения:  Re: Что делает этот код?

Bimit написал(а):
Проверяет вид фактуры вашей какой то константе

Если проходит проверку то идет дальше если нет то выход из подпрограммы, хотя глядя на код зачем непонятно, может если расширять будете подпрограмму :D

Не просто выход из подпрограммы, там еще SY-SUBRC ставится 0 - прошла проверку, 4 - не прошла. и после вызова формы можно понять что за фактура у нас

Автор:  Bimit [ Ср, сен 06 2017, 10:39 ]
Заголовок сообщения:  Re: Что делает этот код?

Лучше проверять заполнение поля VBRK-FKART чем привязываться к sy-subrc :wink:

Автор:  Saperx [ Чт, сен 14 2017, 09:34 ]
Заголовок сообщения:  Re: Что делает этот код?

Bimit написал(а):
Лучше проверять заполнение поля VBRK-FKART чем привязываться к sy-subrc :wink:

В данном случае не факт. Функция называется check, что предполагает проверку уже внутри нее, иначе надо было бы назвать select.
Также использование глобальных переменных vbrk, vbdkr для такой проверки тоже не очень хорошо.
Почему бы из это проверки не сделать pure метод? Подаем на вход номер, получаем sy-subrc.
А чтобы было удобней его использовать, можно вообще вынести в статический метод и результат возвращать через return параметр, тогда можно сразу в условия запихивать:
Code:
if zcl_billing_utils=>check_cancel( lv_vbeln ) IS INITIAL.
...
endif.

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