Текущее время: Пт, мар 29 2024, 13:15

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
СообщениеДобавлено: Чт, сен 03 2020, 12:19 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
Идея следующая к одному ключю RBUKRS в deep Таблице gt_pivot надо добавить несколько записей
со структурой teil затем к следующему RBUKRS еще несколько записей со структурой teil и так далее

структура teil есть часть сложной структуры ds_pivot:
-----------------------------------------------
Code:
   TYPES: BEGIN OF ts_teil,
         RACCT   TYPE  RACCT,
         WAERS   TYPE  WAERS,
         REPVAL  TYPE  BSPL_REPVAL,
      END   OF ts_teil.

types tab_teil type standard table of ts_teil.

data: BEGIN OF ds_pivot,
         RBUKRS  TYPE BUKRS,
         teil   TYPE  tab_teil,
END   OF ds_pivot.


-----------------------------------------------------------------------------------
для какого то определенного RBUKRS = 600 заполняем из данных gt_data часть сложной структуры, те получаем таблицу в структуре
(типизирвание gt_data не преводил чтобы не засорять картину)

Code:
loop at gt_data INTO gs_data  where RBUKRS = '600'.
     ds_pivot-RBUKRS = '600'
     gs_teil-RACCT  = gs_data-RACCT.
     gs_teil-WAERS  = gs_data-waers.
     gs_teil-REPVAL = gs_data-REPVAL.   
    APPEND gs_teil to ds_pivot-teil .
   ds_pivot-rbukrs = gs_data-rbukrs.
endloop

-----------------------------------------------------------------------------------------

Далее синтакстически не корректно. только попытка реализовать желаемое, но не знаю как.

Code:
TYPES: BEGIN OF ts_pivot,
        RBUKRS  TYPE BUKRS,
         teil   TYPE  ts_teil,
END   OF ts_pivot.

INSERT ds_pivot INTO TABLE gt_pivot.


Хочу добавлять записи в некую таблицу gt_pivot
для нескольких RBUKRS для каждого из которых есть набор данных в структуре-таблице ds_pivot.
Как сделать такую конструкцию?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
СообщениеДобавлено: Пт, сен 04 2020, 07:33 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Сб, июн 08 2019, 12:01
Сообщения: 38
А что именно не корректно? У меня компилятор не ругается на этот код.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
СообщениеДобавлено: Вс, сен 06 2020, 00:41 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
kernel написал(а):
А что именно не корректно? У меня компилятор не ругается на этот код.



на последную строчку кода не ругается? у меня вылетает ошибка. завтра напишу какая именно
до последней строчки все ОК. но вся соль именно в ней. как типизировать таблицу под вложенную в нее структуру и как правильно добавлять в нее записи?
чтобы в конечном итоге получалось что на каждый KEY = RBUKRS приходится еще от 0 до n записей с несколькими полями. когда в Debugger видишь такую таблицу то после клика на ее колонку со вложенной структурой открывается внутренняя таблица для активного KEY с основной таблицы. у меня возникла первая необходимость заполнения такой таблицы. но не могу пока понять как это делать. в самом коде SAP таких internal table можно встретить великое множество. например в известном репортре ORDER_READ


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
СообщениеДобавлено: Вс, сен 06 2020, 17:47 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Вроде у вас не хватает объявления:
Code:
data: gt_pivot type table of ts_pivot.

И второй момент: насколько помню, использовать insert в том виде, как вы написали, можно только если таблица объявлена как сортированная (тогда система понимает на какое место вставить строку).
Если же таблица не сортированная, то надо использовать либо append, либо для insert явно указывать номер строки, куда хотите вставить (insert <> into table <> index <> ).

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как создать и добавлять данные в таблицу с вложенной структурой?
СообщениеДобавлено: Вт, сен 08 2020, 08:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
LKU написал:
насколько помню, использовать insert в том виде, как вы написали, можно только если таблица объявлена как сортированная (тогда система понимает на какое место вставить строку).
Если же таблица не сортированная, то надо использовать либо append, либо для insert явно указывать номер строки, куда хотите вставить (insert <> into table <> index <> ).

INSERT .. INTO TABLE с несортированными таблицами работает как APPEND.
Дополнение ..INDEX используется без TABLE: INSERT .. INTO .. INDEX

_________________
С уважением,
Удав.


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

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


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

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


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

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