Текущее время: Сб, июл 19 2025, 16:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Одна ссылка на структуру - несколько структур
СообщениеДобавлено: Пт, июл 07 2006, 13:20 
Начинающий
Начинающий

Зарегистрирован:
Вт, май 30 2006, 09:22
Сообщения: 24
Откуда: Краснодар
Добрый день)
Интересует такой вопрос: к одной переменной при определенном условии надо подвязать определенную структуру... Пробовал через field-symbol , не получается, скорее всего такое возможно, просто голова не доходит, как правильно это сделать) Если не затруднит, подскажите, пожалуйста. Ниже напишу как я пробовал (не работает). Поправьте, что не так)

Есть tab1 и tab2.

field-symbols: <STRUCT> type any.
if ....
assign tab1 to <STRUCT>.
else.
assign tab2 to <STRUCT>.
endif.
data: IT_REZ like <STRUCT> occurs 1 with header line.

Заранее благодарен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 13:27 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 10:01
Сообщения: 651
Откуда: СССР
Не понял вопроса :)
что ты вообще хочешь сделать?


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

Зарегистрирован:
Вт, май 30 2006, 09:22
Сообщения: 24
Откуда: Краснодар
Для чего - долго объяснять...)
Что именно... хочу чтобы переменная IT_REZ указывала либо на структуру tab1 либо на структуру tab2))) Примерно так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 13:35 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
SAD написал(а):
Для чего - долго объяснять...)
Что именно... хочу чтобы переменная IT_REZ указывала либо на структуру tab1 либо на структуру tab2))) Примерно так.


поищи на форуме про динамические таблицы. не раз обсуждалось.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 13:38 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
SAD написал(а):
Для чего - долго объяснять...)
Что именно... хочу чтобы переменная IT_REZ указывала либо на структуру tab1 либо на структуру tab2))) Примерно так.


С терминологией лучше поаккуратней- что нужно: cоздать внутрннюю таблицу со строкой идного из нескольких типов или всё-таки "переменная IT_REZ указывала"?
Если первое, то
V4.7
Code:
create data IT_REZ like standard table of <STRUCT>.

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


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

Зарегистрирован:
Вс, июл 24 2005, 12:32
Сообщения: 12
Âîçìîæíî ñëåäóþùèé êîä áóäåò ïîëåçåí:

DATA it_fielcat TYPE lvc_t_fcat.
DATA ref_table TYPE REF TO data.
FIELD-SYMBOLS: <gt_table> TYPE table.
DATA: ls_fieldcat TYPE lvc_s_fcat.
* Ôîðìèðóåì fielcat ïîëåé òàáëèöû
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'FIELD_NAME'.
ls_fieldcat-inttype = 'C'.
ls_fieldcat-intlen = 1.
APPEND ls_fieldcat TO it_fielcat.
* Äèíàìè÷åñêè ñîçäàåì òàáëèöó íóæíîé ñòðóêòóðû
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fielcat
IMPORTING
ep_table = ref_table.

ASSIGN ref_table->* TO <gt_table>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 14:22 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 10:01
Сообщения: 651
Откуда: СССР
Можно что-то типа такого:

FIELD-SYMBOLS <fs_table> TYPE table.
FIELD-SYMBOLS <fs_line> TYPE ANY.
FIELD-SYMBOLS <fs_item> TYPE ANY.

DATA i_bseg TYPE TABLE OF bseg.
DATA i_bkpf TYPE TABLE OF bkpf.

IF 1 < 2.
ASSIGN i_bkpf TO <fs_table>.
ELSE.
ASSIGN i_bseg TO <fs_table>.
ENDIF.

LOOP AT <fs_table> ASSIGNING <fs_line>.
*....
ENDLOOP.


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Если я правильно понял :

DATA: itab1 TYPE REF TO data,
t_bkpf like bkpf occurs 0 with header line,
t_bseg like bseg occurs 0 with header line.
field-symbols: <mark_tab> TYPE STANDARD TABLE.


t_bkpf = '50010000000000012006'. append t_bkpf.
t_bkpf = '50010000000000022006'. append t_bkpf.

t_bseg = '50010000000000012006001'. append t_bseg.
t_bseg = '50010000000000012006002'. append t_bseg.
t_bseg = '50010000000000022006001'. append t_bseg.
t_bseg = '50010000000000022006002'. append t_bseg.

PERFORM generate USING 'BKPF'
'T_BKPF[]'
CHANGING itab1.

ASSIGN itab1->* TO <mark_tab>.
unassign <mark_tab>.
PERFORM generate USING 'BSEG'
'T_BSEG[]'
CHANGING itab1.
ASSIGN itab1->* TO <mark_tab>.


*********
form generate using value(p_str_name)
value(p_full_table)
CHANGING ref.

FIELD-SYMBOLS: <f_full_tab> TYPE STANDARD TABLE,
<mark_tab> TYPE STANDARD TABLE,
<fs> TYPE ANY,
<wa> TYPE ANY.

data: wa_ref TYPE REF TO data.

CREATE DATA ref TYPE STANDARD TABLE OF (p_str_name).
ASSIGN ref->* TO <mark_tab>.

ASSIGN (p_full_table) TO <f_full_tab>.

create data wa_ref type (p_str_name).
assign wa_ref->* to <wa>.

loop at <f_full_tab> ASSIGNING <fs> .
ASSIGN <fs> TO <wa> casting type (p_str_name).
append <wa> to <mark_tab>.
endloop.


endform. " generate
*********


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

Зарегистрирован:
Вт, май 30 2006, 09:22
Сообщения: 24
Откуда: Краснодар
Всем огромное спасибо за помощь. :)


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

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


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

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


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

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