Текущее время: Пн, июл 21 2025, 03:14

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


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

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


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

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