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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: macro
СообщениеДобавлено: Пт, июл 22 2005, 09:32 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Речь идет об АВАР макро.

До INITIALIZATION определен макрос, который добавляет запись в таблицу.

В INITIALIZATION стоит подряд два вызова макроса.
Если пройти отладчиком - всё ОК. Если без оного - то "срабатывает" только первый вызов. Где грабли? :?: :shock:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Пт, июл 22 2005, 13:34 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Egal написал:
Речь идет об АВАР макро.

До INITIALIZATION определен макрос, который добавляет запись в таблицу.

В INITIALIZATION стоит подряд два вызова макроса.
Если пройти отладчиком - всё ОК. Если без оного - то "срабатывает" только первый вызов. Где грабли? :?: :shock:



вопрос закрыт ! :-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 07:43 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Egal написал:
Egal написал:
Речь идет об АВАР макро.

До INITIALIZATION определен макрос, который добавляет запись в таблицу.

В INITIALIZATION стоит подряд два вызова макроса.
Если пройти отладчиком - всё ОК. Если без оного - то "срабатывает" только первый вызов. Где грабли? :?: :shock:



вопрос закрыт ! :-)


И в чем ответ? :wink:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 08:53 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
s_ss написал:
Egal написал:
Egal написал:
Речь идет об АВАР макро.

До INITIALIZATION определен макрос, который добавляет запись в таблицу.

В INITIALIZATION стоит подряд два вызова макроса.
Если пройти отладчиком - всё ОК. Если без оного - то "срабатывает" только первый вызов. Где грабли? :?: :shock:



вопрос закрыт ! :-)


И в чем ответ? :wink:


макро не причем. всё работает. криво в таблицу писал.
"Всё дело в вошлебных пузырьках" (с)

Одно мне не понятно, почему в доке написано что "вы должны использовать perform instead macro"
Макро же компактнее. :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 27 2005, 09:08 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Ваша дока уже устарела. Сейчас пишут "вы должны использовать methods instead performs". Притом, что perform компактнее... Видимо, тенденция.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 09:11 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Egal написал:
Одно мне не понятно, почему в доке написано что "вы должны использовать perform instead macro"
Макро же компактнее. :roll:


В пошаговой отладке макро выполняется как одна команда. И кроме того есть некоторые побочные эффекты, подробней можно почитать в книге Алена Голуба 'Веревка достаточной длины чтобы выстрелить себе в ногу'

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 09:22 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
ArmAnn написал:
Egal написал:
Одно мне не понятно, почему в доке написано что "вы должны использовать perform instead macro"
Макро же компактнее. :roll:


В пошаговой отладке макро выполняется как одна команда. И кроме того есть некоторые побочные эффекты, подробней можно почитать в книге Алена Голуба 'Веревка достаточной длины чтобы выстрелить себе в ногу'


да ладно - как это "как одна команда" ? :shock:
у меня нормально входит в макро и последовательно выполняет все операторы внутри него, как в обычной form.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 27 2005, 09:24 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
Ваша дока уже устарела. Сейчас пишут "вы должны использовать methods instead performs". Притом, что perform компактнее... Видимо, тенденция.


понятно - склоняют всех к интерфейсам/классам. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 09:38 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Egal написал:
да ладно - как это "как одна команда" ? :shock:
у меня нормально входит в макро и последовательно выполняет все операторы внутри него, как в обычной form.


хм, а у меня не входит (система 4.0)
вполне вероятно что в поздних версиях реализовали такой финт, но все таки не следует заменять подпрограммы макросами. Это мое личное мнение :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 10:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
ArmAnn написал:
но все таки не следует заменять подпрограммы макросами
Вообще то во все времена это решал программист самостоятельно, взависимости от того, что он хотел оптимизировать, размер кода или скорость его исполнения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 27 2005, 10:20 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Любителям макросов можно посоветовать заглянуть в реализацию бизнес-объктов, используемых в Workflow. В этой реализации на макросах построен практически новый язык. Если то что вы там увидете, вам понравится, тогда макросы - это действитльно ваш путь.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 10:26 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Parazit написал:
ArmAnn написал:
но все таки не следует заменять подпрограммы макросами
Вообще то во все времена это решал программист самостоятельно, взависимости от того, что он хотел оптимизировать, размер кода или скорость его исполнения.

мои слова про личное мнение не заметили?
У макросов есть свои плюсы и минусы, и пользоваться ими нужно с некоторой осторожностью, а не заменяя бездумно form..endform на define...end-of-definition

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 14:56 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
ArmAnn написал:
Parazit написал:
ArmAnn написал:
но все таки не следует заменять подпрограммы макросами
Вообще то во все времена это решал программист самостоятельно, взависимости от того, что он хотел оптимизировать, размер кода или скорость его исполнения.

мои слова про личное мнение не заметили?
У макросов есть свои плюсы и минусы, и пользоваться ими нужно с некоторой осторожностью, а не заменяя бездумно form..endform на define...end-of-definition



аргументы в студию! :D


И кстати - причем тут form...endform ?
Использование макросов не ограничивается этим.

Меня например задолбало писать CONCATENATE var1 var2 var3 INTO var4 blablalba.
Скажем у меня в коде есть куча таких одинаковых слияний.

можно определить макро скажем ++
DEFINE ++.
CONCATENATE &1 &2 .... INTO &(i)
END-OF-DEFINITION.

И почему <я не знать русский языка> определено нормальной конкатенации & ???

И жаль что на АВАРе нельзя написать функцию с переменным числом параметров :) (или я не знаю об этом)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 27 2005, 15:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вс, окт 17 2004, 14:20
Сообщения: 326
Откуда: Москва
Egal написал:
EGF написал(а):
Ваша дока уже устарела. Сейчас пишут "вы должны использовать methods instead performs". Притом, что perform компактнее... Видимо, тенденция.


понятно - склоняют всех к интерфейсам/классам. :)

А чем Вам не нравятся интерфейсы/классы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: macro
СообщениеДобавлено: Ср, июл 27 2005, 16:11 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Egal написал:
s_ss написал:
Egal написал:
Egal написал:
Речь идет об АВАР макро.

До INITIALIZATION определен макрос, который добавляет запись в таблицу.

В INITIALIZATION стоит подряд два вызова макроса.
Если пройти отладчиком - всё ОК. Если без оного - то "срабатывает" только первый вызов. Где грабли? :?: :shock:



вопрос закрыт ! :-)


И в чем ответ? :wink:


макро не причем. всё работает. криво в таблицу писал.
"Всё дело в вошлебных пузырьках" (с)

Одно мне не понятно, почему в доке написано что "вы должны использовать perform instead macro"
Макро же компактнее. :roll:


Это все, так сказать, рекомендации... :)
Используйте то, что душе приятнее или основываясь на собственный опыт (убеждения)... :) Удачи


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

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


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

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


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

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