Текущее время: Чт, май 15 2025, 23:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Простенький вопрос
СообщениеДобавлено: Пн, окт 10 2005, 10:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 29 2005, 07:34
Сообщения: 1127
Откуда: РОССИЯ
Пол: Мужской
Пирвет всем
Я вот изучаю и изучаю ABAP и не могу въехать в одну мелочь
чем отличается case от if, вот просто не могу понять


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 11:19 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, мар 25 2005, 11:46
Сообщения: 282
Откуда: SPb
Даже не знаю, как и ответить на этот вопрос:) Вообще, конструкцию с использованием CASE всегда можно заменить на соответствующую с IF, но в ущерб читаемости кода. Наверно можно сказать так: ЕСЛИ простое условие, ТОГДА IF, ИНАЧЕ CASE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 11:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Ну я бы уточнил: если нужно задать действия для нескольких отдельных значений одной переменной, то лучше использовать CASE.

т.е. если код получается такой:
Code:
IF somevar = value1.
ELSEIF somevar = value2.
....
ELSEIF somevar = valueN.
ELSE.
ENDIF.

то его можно (и рекомендуется) заменить на такой:
Code:
CASE somevar.
  WHEN value1. 
  WHEN value1. 
  ....
  WHEN valueN.
  WHAN OTHERS.
ENDCASE.

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 13:57 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
в IF можно проверять разные переменные.
В CASE только одну.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 13:58 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
zaba написал(а):
Наверно можно сказать так: ЕСЛИ простое условие, ТОГДА IF, ИНАЧЕ CASE.

Наверное, все-таки наоборот.
Если сложное - a = 10 and b = 2, то IF
а если просто проверка переменной, то CASE :wink:

_________________
Все будет хорошо...
http://sap-blog.ru/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 15:45 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, мар 25 2005, 11:46
Сообщения: 282
Откуда: SPb
Ну да, полностью задуманная фраза должна была звучать так: "... ЕСЛИ простое условие на значение одной переменной, ТОГДА IF, ИНАЧЕ (также в случае одной переменной) CASE". Элементарные вещи не так-то просто описать простыми словами, что-то обязательно упустишь, подразумевая это:)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 10 2005, 15:47 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
Case в абапе может выбрать переменые по значению.
Очень удобно например анализировать радиокнопки на экране
Code:
parameters: p_s radiobutton group radi,
            p_l radiobutton group radi,
            p_c radiobutton group radi.

  case 'X'.
    when p_s.
...
    when p_l.
...
    when p_c.
....
  endcase.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 11 2005, 04:33 
Гость
Спасибо вам всем, хоть ответы и были немного разноречивыми, но я из них почерпнул ту инфу, которую хотел и даже больше
Большое спасибо за ответы!


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

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


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

Сейчас этот форум просматривают: Ahrefs [Bot], Yandex [Bot]


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

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