Текущее время: Чт, дек 14 2017, 04:17

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Что делает этот код?
СообщениеДобавлено: Пт, авг 18 2017, 11:55 
Ассистент
Ассистент

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

Код:
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.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что делает этот код?
СообщениеДобавлено: Пт, авг 18 2017, 12:09 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 153
Проверяет вид фактуры вашей какой то константе

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что делает этот код?
СообщениеДобавлено: Пт, авг 18 2017, 12:31 
Ассистент
Ассистент

Зарегистрирован:
Чт, дек 17 2015, 21:36
Сообщения: 46
Понятно. Уже голова кругом идет от мусора в программе. Пусть так остается, если разработчику так захотелось. Как говорится, то, как человек поступает - это его карма. То как мы реагируем - это наша карма.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что делает этот код?
СообщениеДобавлено: Ср, сен 06 2017, 11:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 112
Bimit писал(а):
Проверяет вид фактуры вашей какой то константе

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

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


Последний раз редактировалось Kuranov.Dmitry Ср, сен 06 2017, 11:42, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что делает этот код?
СообщениеДобавлено: Ср, сен 06 2017, 11:39 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 11:50
Сообщения: 153
Лучше проверять заполнение поля VBRK-FKART чем привязываться к sy-subrc :wink:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Что делает этот код?
СообщениеДобавлено: Чт, сен 14 2017, 10:34 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 10:38
Сообщения: 115
Bimit писал(а):
Лучше проверять заполнение поля VBRK-FKART чем привязываться к sy-subrc :wink:

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google Feedfetcher и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB