Текущее время: Чт, июн 19 2025, 22:53

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: динамическое присвоение названия поля переменной
СообщениеДобавлено: Пт, янв 12 2007, 11:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 13 2006, 11:59
Сообщения: 221
Откуда: Киев
Пол: Женский
Добрый день.
Такая ситуация: есть n количество полей таблицы с названиями day_1, day_2, ... , day_n.
хотелось бы в цикле формировать название поля из 'day_' и индекса цикла, помещать это название в переменную (var_name), и потом из другой таблицы читать значения, где поле code равно содержимому поля, название которого хранится в var_name.
пример для наглядности:

do 30 times.
var = sy-index + 1.
concatenate 'day_' var into var_name.
select single * from tablename where code = [var_name].
enddo.
В FoxPro, насколько я помню, это делается через амперсанд. как это можно провернуть в abap'e?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: динамическое присвоение названия поля переменной
СообщениеДобавлено: Пт, янв 12 2007, 11:32 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Екатерина Мячина написала:
...В FoxPro, насколько я помню, это делается через амперсанд. как это можно провернуть в abap'e?

Изучить help/курсы по abap-у, а так-же воспользоваться поиском по форуму.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 12 2007, 11:36 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Маленькая наводка - DO VARYING f FROM f1 NEXT f2.
Дальше в хелпе

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 12 2007, 12:57 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 12 2007, 12:26
Сообщения: 2
А можно еще через FIELD-SYMBOLS.
Точно не помню как правильно. Но вроде так.

FIELD-SYMBOLS Vname TYPE {ваш тип}.

DATA: var_ind(2) TYPE n,
var_name TYPE sting.

do 30 times.
var_ind = sy-index + 1.
concatenate 'TabName-day_' var_ind into var_name.
ASSIGN (var_name) TO <Vname>.
<Vname> = {значение}.
select single * from tablename where code = <Vname>.
enddo.

В отличие от предыдущего варианта меньше переменных.

P.S. вопрос - интересно почему со второго дня вам нужны данные?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 12 2007, 16:30 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, авг 22 2005, 14:50
Сообщения: 1285
Откуда: с работы
Пол: Женский
Code:
* -- for dynamic select of fields
DATA: it_fc_coss TYPE STANDARD TABLE OF t_fields WITH DEFAULT KEY.

  DO c_mon TIMES.
    nmonat = sy-index.
    UNPACK nmonat TO nmonat.
    IF nmonat IN s_monat.
      CLEAR f_name.
      CONCATENATE 'wkg' nmonat INTO f_name.
      APPEND f_name TO it_fc_coss.
    ENDIF.
  ENDDO.

  SELECT (it_fc_coss) INTO CORRESPONDING FIELDS OF
         TABLE it_coss
         FROM  coss
         WHERE objnr LIKE c_objnr....




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

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


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

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


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

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