Текущее время: Вс, июл 27 2025, 15:06

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


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

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


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

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