Текущее время: Пн, авг 04 2025, 00:16

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


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

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


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

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