Текущее время: Вс, июл 20 2025, 01:09

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 09:41 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 27 2011, 09:29
Сообщения: 17
Подскажите пожалуйста как передать в макрос динамическое имя прозрачной таблицы БД? Заранее всем спасибо )


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 09:43 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Поточнее сформулируйте вопрос, так не понятно. А еще лучше опишите задачу, что сделать хотите


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 09:59 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 27 2011, 09:29
Сообщения: 17
Code:
DEFINE SELECT_BKPF_BSEG.
Data:  &2  like table of &1   with header line,
       &4  like table of &3   with header line.
select *  into corresponding fields of &2 from &1 as a
           where a~BUKRS  = BUK and a~GJAHR = GJR.

select *  into corresponding fields of &4 from &3 as b
           where b~BUKRS = BUK      and
                 b~BELNR = &2-BELNR and
                 b~GJAHR = GJR.
append &4.
endselect.
append &2.
endselect.
END-OF-DEFINITION.

Есть такой макрос, имя прозрачной таблицы определяется в динамическом режиме, как ее передать?

Обрамляйте пожалуйста код тегами 'code' '/code'. Armann


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

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
При вызове макроса передавайте значение заключив его в апострофы 'значение', в этом проблема?

P.S.
Содержимое Вашего макроса это отдельный вопрос.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 10:34 
Начинающий
Начинающий

Зарегистрирован:
Чт, окт 27 2011, 09:29
Сообщения: 17
На
Code:
SELECT_BKPF_BSEG: 'BKPF' BK 'BSEG' BS .
.

ругается:
The work area (or internal table) "BK1" is not structured.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 10:35 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
dusya написал(а):
Code:
DEFINE SELECT_BKPF_BSEG.
Data:  &2  like table of &1   with header line,
       &4  like table of &3   with header line.
select *  into corresponding fields of &2 from &1 as a
           where a~BUKRS  = BUK and a~GJAHR = GJR.

select *  into corresponding fields of &4 from &3 as b
           where b~BUKRS = BUK      and
                 b~BELNR = &2-BELNR and
                 b~GJAHR = GJR.
append &4.
endselect.
append &2.
endselect.
END-OF-DEFINITION.

Есть такой макрос, имя прозрачной таблицы определяется в динамическом режиме, как ее передать?


Никак. Макросы для этого не предназначены по самой своей сути. Используйте вместо макроса подпрограмму.
When the program is generated, the system replaces the macro by the appropriate statements and the placeholders &1, &2, …, &9 by the parameter p1, p2, …, p9. You can use macros within macros. However, a macro cannot call itself.

_________________
"После" - не значит "вследствие"


Последний раз редактировалось sy-uname Чт, окт 27 2011, 10:41, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 10:40 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Макрос поправить конечно можно чтобы заработало, но по моему это какое-то извращение. Лучше сделать FORM для этого


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передача в макрос динамическое имя таблицы
СообщениеДобавлено: Чт, окт 27 2011, 11:50 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
dusya написал(а):
Есть такой макрос, имя прозрачной таблицы определяется в динамическом режиме, как ее передать?
Само по себе имя (в виде строки или char-переменной) передать не проблема. Но определить переменные, как это сделано сейчас в макросе, и сделать в них выборку из таблиц БД, не получится. Нужно будет использовать ссылки и филд-симболсы. Если у вас где-то потом используются названия переменных, определенных в макросе, переделка может получиться нехилая.


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

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


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

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


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

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