Regels verwijderen in dynamisch tabel
Hoe verwijder je regels in een dynamisch tabel?
Je kan geen “DELETE WHERE” gebruiken bij dynamische tabellen. Desondanks is het toch mogelijk om records te verwijderen. Stel dat je alle records waar het veld “VELD01″ een “X” bevat wilt verwijderen:
DATA. lp_data TYPE REF TO DATA.
FIELD-SYMBOLS: TYPE ANY,
TYPE ANY.
CREATE DATA lp_data LIKE LINE OF .
ASSIGN lp_data->* to .
ASSIGN COMPONENT ‘VELDD1′ OF STRUCTURE TO .
LOOP AT INTO .
CHECK EQ ‘X’.
DELETE TABLE FROM .
ENDLOOP.
Als een tabel keyvelden kf1 en kf2 heeft:
DELETE TABLE WITH TABLE KEY ('KF1') = val1 ('KF2') = val2.
Met gespecificeerde keys is dit erg efficient voor “HASHED” tabellen, iets minder efficient voor “SORTED” tabellen en niet echt efficient, vaak, voor “STANDARD” tabellen.





Laat een reactie achter!