Текущее время: Вс, янв 29 2023, 12:58

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Loop и reference
СообщениеДобавлено: Пт, ноя 25 2022, 17:25 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 13 2006, 14:42
Сообщения: 93
Пол: Мужской
Обнаружил такую фишку:
Есть внутренняя таблица, пусть будет itab, в её структуре несколько простых полей и внутренняя же таблица, допустим vtab.
Далее такой простой код
Code:
Loop at itab reference into data(lr_itab).
внутри идёт вызов некоего метода некоего класса со ссылкой на внутр.таблицу из lr_tab
  call method zclass->zmethod ( exporting param1 = ref #( lr_tab->vtab ) ).
внутри этого метода над таблицей производятся какие-то действия, в том числе удаление одной записи.
И в результате после выхода из этого метода получаю:
в исходной таблице itab-vtab[] - допустим, 30 записей,
а в таблице, которая по ссылке lr_tab->vtab[] - 29 записей.
Я правильно понимаю, что вообще-то такого не должно быть: lr_tab - это ссылка на запись таблицы itab,
их содержимое должно полностью совпадать? Или как?
EndLoop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Loop и reference
СообщениеДобавлено: Вс, ноя 27 2022, 13:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3056
Откуда: Москва
Как-то сложно вы все делаете. Не пытайтесь везде совать ссылки, используйте родные возможности ABAP и правильную передачу параметров.
100% рабочий вариант:
Code:
field-symbols: <ls_itab> like line of itab.
Loop at itab assigning <ls_itab>.
  call method zclass->zmethod ( changing it_tab = <ls-tab>-vtab[] ).
Endloop.

class zclass definition.
  public:
    methods zmethod changing !it_tab type ...
endclass.

class zclass implementation.
  method zmethod.
    data: ls_tab like line of it_tab.

    loop at it_tab into ls_tab.
      ...
    endloop.
  endmethod.
endclass.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Loop и reference
СообщениеДобавлено: Пн, ноя 28 2022, 07:55 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 13 2006, 14:42
Сообщения: 93
Пол: Мужской
Удав написал(а):
Как-то сложно вы все делаете. Не пытайтесь везде совать ссылки, используйте родные возможности ABAP и правильную передачу параметров.

Я бы так и сделал. Но код не мой, достался по наследству. Переделывать страшновато.


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

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


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

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


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

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