Возможно ли реализовать идею ниже?Идея состоит в том, что он работает почти как REJECT из оператора GET , но внутри парадигмы OO.
start-of-selection
lv_max_lines = class1->get_max_lines( ).
do lv_max_lines.
class2->method1( class1->get_line_by_index( sy-index ) ).
enddo.
class 2 implementation.
method method1.
method2( is_line ).
endmethod.
method method2.
method3( is_line ).
endmethod.
method method3.
if ls_line <> what_I_need.
class1->reject( ). "or
class1->reject( is_line ).
"go back straight to start of selection and execute next iteration,
"ignoring the rest of method3 and metho2 and method1 from class2.
endif.
"more process
endmethod.
endclass.
Конечно, это можно сделать с несколькимиусловия в методах class2 и return
операторах, но идея состояла бы в том, чтобы смоделировать отклонение, которое не требует, чтобы class2 имел какие-либо модификации, вся работа была бы оставлена для обработки class1.
Одна идеяЯ должен был удалить текущую строку из таблицы class1, к которой осуществляется доступ, которая не будет работать должным образом, на самом деле, я не уверен, как это будет работать.
Я думаю, что это невозможно, но я бы хотел попробовать, независимо от того.