Текущее время: Пн, июл 28 2025, 15:20

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 14:45 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 29 2011, 15:55
Сообщения: 91
Пол: Мужской
Доброго всем дня
Возникла необходимость написать строку следующего вида:
IF abs( a - b ) <= 0.001
Вопрос: как записать вещественное число? Ведь точка - это признак конца строки в SAP.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 14:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 15 2011, 15:02
Сообщения: 122
Пишите 0.001 в апострофах

_________________
Поздравляю тебя, Шарик, ты - балбес!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 14:50 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
1/1000


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 14:51 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
или

IF (abs( a - b ))*1000 <= 1

:-)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 14:58 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 15 2011, 15:02
Сообщения: 122
olegbash написал(а):
или

IF (abs( a - b ))*1000 <= 1

:-)


Вот только ABAP не поддерживает подобные выражения в IF-ах, нужно тогда отдельную переменную под результат abs( a - b )*1000 выделить

_________________
Поздравляю тебя, Шарик, ты - балбес!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:07 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 492
Пол: Мужской
ну... некоторый ABAP все-таки поддерживает ;)
Code:
  IF ( abs( ai - bi ) ) * 1000 <= 1.
  IF ( abs( ai - bi ) ) <= 1 / 1000.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:12 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 29 2011, 15:55
Сообщения: 91
Пол: Мужской
8051core написал(а):
olegbash написал(а):
или

IF (abs( a - b ))*1000 <= 1

:-)


Вот только ABAP не поддерживает подобные выражения в IF-ах, нужно тогда отдельную переменную под результат abs( a - b )*1000 выделить

Побил бы за это, кстати, разработчиков АБАПа. Во всех языках можно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:13 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 15 2011, 15:02
Сообщения: 122
Это крайняя версия наверное поддерживает.
Мой SAP_BASIS 701 так еще не умеет.

А так да, отсутствие поддержки элементарных выражений в IF-ах немного бесило первое время

_________________
Поздравляю тебя, Шарик, ты - балбес!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:20 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, сен 19 2011, 13:29
Сообщения: 492
Пол: Мужской
Нечего, "вырастет" научится )))
Думаю если у автора работает "IF abs( a - b ) <= ", то элементарные выражения поддерживаются в if


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:22 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
у меня вот так работает (не выводит c) - значит всё-таки работает где-то...

Code:
REPORT ZZ_TEST02.
DATA:
a type p  length 16 decimals 3,
b type p length 16 decimals 3,
c type p length 16 decimals 3
                 .
a = ( 5 / 10 ).
b = ( 6 / 10 ).
write a.
write b.
c = a + b.
IF ( abs( a + b ) ) * 1000 => 2000.
write  c .
ENDIF.



но помнится, когда в query когда-то код вставлял, то там, действительно, мне почему-то пришлось через доп.переменную делать - может там ещё какая-нибудь проблема была.....


если что, то версия: SAP_BASIS 731


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как записать вещественное число?
СообщениеДобавлено: Ср, мар 27 2013, 15:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, фев 15 2011, 15:02
Сообщения: 122
Цитата:
если что, то версия: SAP_BASIS 731

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

_________________
Поздравляю тебя, Шарик, ты - балбес!


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

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


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

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


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

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