Code: Alles auswählen.
FIELD-SYMBOLS <tabelle1> LIKE LINE OF tabelle1.
LOOP AT tabelle1 ASSIGNING <tabelle1>.
READ TABLE tabelle2 WITH KEY belegnummer = <tabelle1>-mblnr TRANSPORTING NO FIELDS.
CHECK SY-SUBRC = 0.
DELETE tabelle1.
ENDLOOP.
Code: Alles auswählen.
DATA internetabelle2 TYPE SORTED TABLE OF belegnummer.
Absolut. Schön finde ich es trotzdem nicht. Grade wegen der Punkte, die du danach aufführst - in dem Schleifendurchlauf noch was zu machen.DeathAndPain hat geschrieben:Also ich finde es unproblematisch, den Wert der internen Tabelle, über die man gerade loopt, zu verändern. Das ist normales ABAP und völlig legitim.
Na, das darf man halt nicht tun. Der nächste Befehl, der danach (abgesehen von Leerbefehlen wie ENDIF) als nächstes kommen muss, ist ENDLOOP, CONTINUE, EXIT oder RETURN. Dann ist das sauber. (Wobei sich bei "EXIT" schon wieder die Geister scheiden . )Schön finde ich es trotzdem nicht. Grade wegen der Punkte, die du danach aufführst - in dem Schleifendurchlauf noch was zu machen.
Code: Alles auswählen.
INITIALIZATION.
SELECTION-SCREEN BEGIN OF BLOCK 0.
PARAMETERS p_xyz TYPE xzy.
SELECTION-SCREEN END OF BLOCK 0.
TYPES: tt_mblnr TYPE TABLE OF mblnr WITH DEFAULT KEY.
*----------------------------------------------------------------------*
* CLASS lcl DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl DEFINITION.
PUBLIC SECTION.
* TYPES:
* DATA:
METHODS:
get_data
IMPORTING iv_zzz TYPE xzy
RETURNING value(r_data) TYPE tt_mblnr.
PRIVATE SECTION.
ENDCLASS. "lcl DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl IMPLEMENTATION.
METHOD get_data.
DATA:
lt_mblnr TYPE tt_mblnr.
r_data = lt_mblnr.
ENDMETHOD. "get_data
ENDCLASS. "lcl IMPLEMENTATION
START-OF-SELECTION.
DATA: lo TYPE REF TO lcl,
lt_mblnr TYPE tt_mblnr.
CREATE OBJECT lo.
lt_mblnr = lo->get_data( iv_zzz = p_xyz ).