Code: Alles auswählen.
lv_strlen = STRLEN( datelemt ).
IF lv_strlen = 0 OR lv_strlen = 5 .
ELSE.
MESSAGE 'Geben Sie ein 5 stelliges datelemt an.' TYPE 'S' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
Code: Alles auswählen.
lv_strlen = STRLEN( datelemt ).
IF lv_strlen = 0 OR lv_strlen = 5 OR datelemt CS '*' .
ELSE.
MESSAGE 'Geben Sie ein 5 stelliges datelemt an.' TYPE 'S' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
Folgende Benutzer bedankten sich beim Autor Thanatos82 für den Beitrag:
patlau
Code: Alles auswählen.
CASE merkmal.
WHEN 'M01'.
DELETE l_t_rsdiobj WHERE iobjnm(1) <> 'C' .
WHEN 'M02'.
DELETE l_t_rsdiobj WHERE iobjnm(1) <> 'U'.
WHEN 'M03'.
DELETE l_t_rsdiobj WHERE iobjnm(1) <> 'V' .
ENDCASE.
CASE mrkmlart.
WHEN 'MA01' .
DELETE l_t_rsdiobj Where iobjnm+1(1) <> '0'.
WHEN 'MA02' .
DELETE l_t_rsdiobj Where iobjnm+1(1) <> '5'.
ENDCASE.
CASE datelemt.
WHEN ' '.
WHEN OTHERS.
Delete l_t_rsdiobj Where iobjnm+2(5) <> datelemt.
ENDCASE.
Code: Alles auswählen.
CASE datelemt.
WHEN ' '.
WHEN OTHERS.
DELETE l_t_rsdiobj WHERE iobjnm+2(5) <> datelemt.
ENDCASE.
Code: Alles auswählen.
SPLIT datelemt AT '*' INTO TABLE lt_text.
DESCRIBE TABLE lt_text LINES lv_lines.
IF lv_lines = 1.
DELETE l_t_rsdiobj WHERE iobjnm+2(5) <> datelemt.
ELSE.
READ TABLE lt_text INTO ls_text INDEX 1.
lv_strlen2 = STRLEN( ls_text-string ). "hier bin ich mir grad ned ganz sicher wie der Zeielntyp der Tabelle aussieht, kannst du dir aber im Debugger anschauen und entsprechend anpassen
*lv_strlen2 bestimmt nun die offset länge
DELETE l_t_rsdiobj WHERE iobjnm+2( lv_strlen2 ) <> datelemt.
ENDIF
Code: Alles auswählen.
SPLIT datelemt AT '*' INTO lv_text lv_stern.
lv_strlen2 = STRLEN( lv_text ).
IF lv_strlen2 = 5.
DELETE l_t_rsdiobj WHERE iobjnm+2(5) <> datelemt.
ELSE.
*lv_strlen2 bestimmt nun die offset länge
DELETE l_t_rsdiobj WHERE iobjnm+2( lv_strlen2 ) <> datelemt.
ENDIF
Code: Alles auswählen.
CASE datelemt.
WHEN ' '.
WHEN OTHERS.
DELETE l_t_rsdiobj WHERE iobjnm+2(5) NP datelemt.
ENDCASE.