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

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


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

Сейчас этот форум просматривают: Ahrefs [Bot], Yandex [Bot]


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

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