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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Динамическое обращение к полям внутр.таблицы
СообщениеДобавлено: Чт, мар 01 2007, 15:31 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 06 2006, 14:17
Сообщения: 10
Откуда: Киев
Здравствуйте ,

Меня интересует вопрос можно ли организовать цыкл по полям внутренней таблицы заранее не зная по какому полю ставить ограничение .

Примерно так :

do 3 times.
$1 = sy-index.
loop at it_tab where level($1) = $var.
"""
endloop.
enddo.

и так пробежатся по полю level1 , level2 , level3 ???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое обращение к полям внутр.таблицы
СообщениеДобавлено: Чт, мар 01 2007, 15:33 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
Pavel.Lozhka написал(а):
Здравствуйте ,

Меня интересует вопрос можно ли организовать цыкл по полям внутренней таблицы заранее не зная по какому полю ставить ограничение .

Примерно так :

do 3 times.
$1 = sy-index.
loop at it_tab where level($1) = $var.
"""
endloop.
enddo.

и так пробежатся по полю level1 , level2 , level3 ???


посмотри help на assign


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 01 2007, 15:40 
Гость
возможно поможет этот пример

Code:
REPORT ZTEST.

DATA: BEGIN OF ITAB OCCURS 0,
        LEVEL1(10),
        LEVEL2(10),
        LEVEL3(10),
      END OF ITAB,
      TABIX TYPE I,
      FNAME(15).
FIELD-SYMBOLS: <F> LIKE ITAB-LEVEL1.


ITAB-LEVEL1 = 'Один'.
ITAB-LEVEL2 = 'Два'.
ITAB-LEVEL3 = 'Три'.
APPEND ITAB.

TABIX = 0.

DO 3 TIMES.
  TABIX = TABIX + 1.
  LOOP AT ITAB.
    FNAME = TABIX.
    CONDENSE: FNAME.
    CONCATENATE 'ITAB-LEVEL' FNAME INTO FNAME.
    ASSIGN (FNAME) TO <F>.
    WRITE:/ <F>.
  ENDLOOP.
ENDDO.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Динамическое обращение к полям внутр.таблицы
СообщениеДобавлено: Чт, мар 01 2007, 15:43 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Pavel.Lozhka написал(а):
Здравствуйте ,

Меня интересует вопрос можно ли организовать цыкл по полям внутренней таблицы заранее не зная по какому полю ставить ограничение .

Примерно так :

do 3 times.
$1 = sy-index.
loop at it_tab where level($1) = $var.
"""
endloop.
enddo.

и так пробежатся по полю level1 , level2 , level3 ???

Так сложно нажать F1?
Where для внутренних таблиц не поддерживает динамическое задание ограничений.
Как вариант:
loop at tab into wa.
fname = 'wa-level01'.
assign (fname) to <fs>.
check <fs> eq var.
...
endloop.

И пользуйтесь поиском.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое обращение к полям внутр.таблицы
СообщениеДобавлено: Чт, мар 01 2007, 15:49 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 06 2006, 14:17
Сообщения: 10
Откуда: Киев
sy-uname написал(а):
Pavel.Lozhka написал(а):
Здравствуйте ,

Меня интересует вопрос можно ли организовать цыкл по полям внутренней таблицы заранее не зная по какому полю ставить ограничение .

Примерно так :

do 3 times.
$1 = sy-index.
loop at it_tab where level($1) = $var.
"""
endloop.
enddo.

и так пробежатся по полю level1 , level2 , level3 ???

Так сложно нажать F1?
Where для внутренних таблиц не поддерживает динамическое задание ограничений.
Как вариант:
loop at tab into wa.
fname = 'wa-level01'.
assign (fname) to <fs>.
check <fs> eq var.
...
endloop.

И пользуйтесь поиском.


Спасибо всем,
Открыли глаза .


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

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


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

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


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

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