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

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


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

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


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

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