Текущее время: Сб, авг 02 2025, 23:43

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Динамический SELECT
СообщениеДобавлено: Пн, авг 06 2007, 09:11 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 11 2007, 17:06
Сообщения: 47
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический SELECT
СообщениеДобавлено: Пн, авг 06 2007, 09:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
gallek написал(а):
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


вроде так, точно не помню

DATA : FIELDNAME TYPE STRING.

select (FIELDNAME) from ....

покрайней мере имена таблиц можно так. проверь можно ли поля.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 09:37 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
data: wa_where_tab(80) type c.
data: lt_where_tab like table of wa_where_tab.

concatenate 'field_name = ' user_number into wa_where_tab separated by space.
append wa_where_tab to lt_where_tab.

select...
from ...
into...
where (lt_where_tab).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 10:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Надеюсь, Вы не хотите делать 12 селектов, чтобы динамически заполнять поля структуры по одному (см. http://sapboard.ru/forum/viewtopic.php?t=28039)?

В любом случае, может быть проще и эффективнее считывать сразу 12 полей из БД во всю структуру, а потом уже обрабатывать нужные.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:05 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
Вариант для... гурманов :) - можно динамически наваять код подпрограммы и тут же ее выполнить (GENERATE SUBROUTINE POOL...)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 21:53 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Надо сказать, что на ABAP такое сплошь и рядом, ибо делается просто.
Настоящие гурманы такое на С++ пишут)


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
gallek написал(а):
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


Нашли на чем экономить. ;-) Многие не задумываясь * из bseg тянут, а у вас наверно таблица итогов, в ней обычно не очень много записей.
Может стоит к sibrin прислушаться, хотя судя по всему алгоритм наоборот упроститься, если собирать имя поля динамически, как name + month.


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

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


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

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


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

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