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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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