Текущее время: Чт, авг 07 2025, 09:57

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Объясните пожалуйста
СообщениеДобавлено: Пн, июл 14 2008, 15:34 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, июн 27 2008, 08:39
Сообщения: 24
Пол: Мужской
Зачем SAP делает такую проверку в примере экстракторов группы функций RSAX.

IF NOT g_flag_interface_initialized IS INITIAL.

IF 1 = 2. MESSAGE e008(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Объясните пожалуйста
СообщениеДобавлено: Пн, июл 14 2008, 16:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
Pashok написал:
Зачем SAP делает такую проверку в примере экстракторов группы функций RSAX.

IF NOT g_flag_interface_initialized IS INITIAL.

IF 1 = 2. MESSAGE e008(r3). ENDIF.
log_write 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.

Может быть оставили для какой-нибуть совместимости.

_________________
а подпись...а подписи не будет :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 14 2008, 17:02 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2008, 14:23
Сообщения: 24
"Зачем" знает только SAP. У них порой такие перлы встречаются в коде, что хоть стой хоть падай. На форуме это уже где-то обсуждалось...
Так что о смысле можно только догадываться.... Наверное, они хотят сказать, что макрос
Цитата:

LOG_WRITE 'E' "message type
'R3' "message class
'009' "message number
I_DSOURCE "message variable 1
' '. "message variable 2


по смыслу делает то же, что и оператор
Цитата:
MESSAGE E009(R3).

(т.е. сообщает об ошибке) только не прерывает программу, а записывает ошибку в журнал.
На практике можно обойтись простым:
Цитата:
CASE I_DSOURCE.
WHEN '0SAPI_SFLIGHT_SIMPLE'.
WHEN OTHERS.
RAISE ERROR_PASSED_TO_MESS_HANDLER.
ENDCASE.



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 14 2008, 17:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, июл 04 2007, 22:04
Сообщения: 138
Пол: Мужской
Я думаю, дело в том, что в ABAP отсутствует блочный комментарий. Приведенный пример - это его замена :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 14 2008, 17:26 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Думаю, самое главное, что только таком подходе сработает кнопка "где используется?" в этом самом сообщении (транзакция se91).

В других местах видел перед использованием макроса вывода сообщений что-то вроде MESSAGE E009(R3) into void.

Цель, как я понимаю, та же.

_________________
Удача - результат нашего желания (© А. Нортон)


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

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


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

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


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

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