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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: передача в подпрограмму названия поля как параметра
СообщениеДобавлено: Чт, дек 26 2013, 22:16 
Ассистент
Ассистент

Зарегистрирован:
Вс, дек 09 2012, 16:41
Сообщения: 37
Добрый день !

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

например,
lwa_table-1...N ( поле от '1' ... до 'N" таблицы ) и дальше погнали один и тот же алгоритм для всех полей от 1...N. Получаем многократное дублирование кода, что есть плохо. Можно ли каким-то образом решить задачу через подпрограмму, в которую передавать название столбца?

То есть, имеем: form converting_column using pu_name_column (Pu_name_column -параметр, принимающий название столбца). Можно ли на вход подпрограммы передавать название столбца, чтобы потом в коде подпрограммы, к примеру, оперировать переменной lwa_table-pu_name_column (как-то так) как конкретным полем структуры ? Не совсем понятно, можно ли так сделать, а если можно, то как ?

Пробовал заводить переменную, в которую толкать название стобца. например, lv_name_column = 'carrid'. передавая в подпрограмму сию переменную получаем совершенно справедливое замечание отладчика о том, что рабочая область Lwa_table не имеет поля pu_name_column.

Как же решить данную задачку?

Надеюсь, мой вопрос понятен.

Огромное спасибо!


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

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Динамически обратиться к полю структуры по его имени можно с помощью команды ASSIGN.
Все подробности с примерами есть во встроенной справке.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: передача в подпрограмму названия поля как параметра
СообщениеДобавлено: Пт, дек 27 2013, 09:02 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
По мне лучше через define сделать, тогда не придется связываться с динамическим программированием.
Если через подпрограмму, то как верно написали, смотрите оператор ASSIGN COMPONENT ___ OF STRUCTURE ___ TO ___.

Также можно передавать само значение, а не название поля для преобразования. Если типы разные вход можете объявить через CHANGING c_any TYPE ANY.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: передача в подпрограмму названия поля как параметра
СообщениеДобавлено: Сб, дек 28 2013, 22:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Есть также конструкция DO ... VARYING FROM ... NEXT ... которая предназначена именно для перебора однотипных полей в структуре. Читаем хэлп, смотрим примеры.

_________________
С уважением, Сергей Королев


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

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


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

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


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

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