Текущее время: Ср, июн 25 2025, 02:50

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


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

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


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

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