Code: Alles auswählen.
TYPES: BEGIN OF ty_sb,
name(20) TYPE c,
END OF ty_sb.
DATA: r_sb TYPE RANGE OF ty_sb,
l_sb LIKE LINE OF r_sb.
LOOP AT sb.
CLEAR l_sb.
l_sb-sign = 'I'.
l_sb-option = 'CP'.
CONCATENATE '*' sb-name1 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
ENDLOOP.
LOOP AT nb WHERE name4 IN r_sb OR name5 IN r_sb.
.........
ENDLOOP.
Code: Alles auswählen.
LOOP AT sb.
CLEAR l_sb.
l_sb-sign = 'I'.
l_sb-option = 'CP'.
CONCATENATE '*' sb-name1 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name2 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name3 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name4 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
ENDLOOP.
Code: Alles auswählen.
LOOP AT sb.
CLEAR l_sb.
l_sb-sign = 'I'.
l_sb-option = 'CP'.
CONCATENATE '*' sb-name1 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name2 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name3 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
ENDLOOP.
Code: Alles auswählen.
LOOP at sb.
LOOP AT nb.
"Es folgt eine längere If-Abfrage der Strings.
MOVE-CORRESPONDING nb TO ca_nb.
APPEND ca_nb.
ENDIF.
ENDLOOP.
ENDLOOP.
Code: Alles auswählen.
LOOP AT nb WHERE name4 IN r_sb AND name5 IN r_sb.
"Es folgt eine längere If-Abfrage der Strings.
MOVE-CORRESPONDING nb TO ca_nb.
APPEND ca_nb.
ENDIF.
ENDLOOP.
Code: Alles auswählen.
TYPES: BEGIN OF ty_sb,
name(20) TYPE c,
END OF ty_sb.
DATA: r_sb TYPE RANGE OF ty_sb,
l_sb LIKE LINE OF r_sb.
LOOP AT sb.
CLEAR l_sb.
l_sb-sign = 'I'.
l_sb-option = 'CP'.
CONCATENATE '*' sb-name1 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name2 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name3 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
ENDLOOP.
LOOP AT nb WHERE name4 IN r_sb OR name5 IN r_sb.
IF ( nb-name4 CP sb-name1 AND nb-name4 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
OR ( nb-name5 CP sb-name1 AND nb-name5 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
OR ( nb-name4 CP sb-name2 AND nb-name4 IS NOT INITIAL AND sb-name2 IS NOT INITIAL )
OR ( nb-name5 CP sb-name2 AND nb-name5 IS NOT INITIAL AND sb-name2 IS NOT INITIAL )
OR ( nb-name4 CP sb-name3 AND nb-name4 IS NOT INITIAL AND sb-name3 IS NOT INITIAL )
OR ( nb-name5 CP sb-name3 AND nb-name5 IS NOT INITIAL AND sb-name3 IS NOT INITIAL ).
MOVE-CORRESPONDING nb TO ca_nb.
APPEND ca_nb.
ENDIF.
ENDLOOP.
Code: Alles auswählen.
IF ( nb-name4 CP sb-name1 AND nb-name4 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
Also gewollt ist das Ganze sicherlich nicht so. Ich will schon alle Zeilen abfragen und nicht nur die letzte, deshalb ja die Auslagerung und mein Versuch zwei einzelne Loops anstelle von eines verschachtelten Laufen zu lassen.edwin hat geschrieben:Ähem,
bei diesem Statement fragst Du nur die letzte SB Zeile ab !Code: Alles auswählen.
IF ( nb-name4 CP sb-name1 AND nb-name4 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
Code: Alles auswählen.
LOOP AT nb WHERE name4 IN r_sb OR name5 IN r_sb.
Code: Alles auswählen.
IF ( nb-name4 CP sb-name1 AND nb-name4 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
OR ( nb-name5 CP sb-name1 AND nb-name5 IS NOT INITIAL AND sb-name1 IS NOT INITIAL )
OR ( nb-name4 CP sb-name2 AND nb-name4 IS NOT INITIAL AND sb-name2 IS NOT INITIAL )
OR ( nb-name5 CP sb-name2 AND nb-name5 IS NOT INITIAL AND sb-name2 IS NOT INITIAL )
OR ( nb-name4 CP sb-name3 AND nb-name4 IS NOT INITIAL AND sb-name3 IS NOT INITIAL )
OR ( nb-name5 CP sb-name3 AND nb-name5 IS NOT INITIAL AND sb-name3 IS NOT INITIAL ).
dann poste hier bitte deinen aktuellen Quellcode sowie ein Auszug aus der interenen Tabelle aus der Daten selektiert werden sollenServantOfSonata hat geschrieben:Hm, aber irgendwie stimmen ohne die If-Abfrage meine Ausgabewerte überhaupt nicht mehr.
Ich kriege dann überhaupt nichts mehr angezeigt. Irgendwo ist da der Wurm drin.
Code: Alles auswählen.
*Füllen von "sb"
sb-name1 = 'Audi'.
sb-name2 = ''.
sb-name3 = ''.
APPEND sb.
sb-name1 = 'Aral'.
sb-name2 = ''.
sb-name3 = ''.
APPEND sb.
*Füllen von "nb"
nb-name4 = 'Audi'.
nb-name5 = 'AG'.
APPEND nb.
nb-name4 = 'Tankstelle'.
nb-name5 = 'Claudia Mustermann'.
APPEND nb.
nb-name4 = 'Aral'.
nb-name5 = 'AG'.
APPEND nb.
nb-name4 = 'Bosch'.
nb-name5 = '& Siemens Haushaltsgeräte'.
APPEND nb.
nb-name4 = 'ARAL-Tankstelle'.
nb-name5 = 'AG'.
APPEND nb.
nb-name4 = 'Harald Meier'.
nb-name5 = 'Versicherungen'.
APPEND nb.
nb-name4 = 'Pit-Stop'.
nb-name5 = 'AG'.
APPEND nb.
TYPES: BEGIN OF ty_sb,
name(20) TYPE c,
END OF ty_sb.
DATA: r_sb TYPE RANGE OF ty_sb,
l_sb LIKE LINE OF r_sb.
LOOP AT sb.
CLEAR l_sb.
l_sb-sign = 'I'.
l_sb-option = 'CP'.
CONCATENATE '*' sb-name1 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name2 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
CONCATENATE '*' sb-name3 '*' INTO l_sb-low.
APPEND l_sb TO r_sb.
ENDLOOP.
LOOP AT nb WHERE name4 IN r_sb OR name5 IN r_sb.
MOVE-CORRESPONDING nb TO ca_nb.
APPEND ca_nb.
ENDIF.
ENDLOOP.