Code: Alles auswählen.
LOOP AT itab1.
LOOP AT itab2.
IF itab2-name1 CP itab1-begriff1 OR itab2-name2 CP itab1-begriff1
OR itab2-name1 CP itab1-begriff2 OR itab2-name2 CP itab1-begriff2
OR itab2-name1 CP itab1-begriff3 OR itab2-name2 CP itab1-begriff3.
MOVE-CORRESPONDING itab1 TO erg_tab.
MOVE-CORRESPONDING itab2 TO erg_tab.
WRITE: /5 erg_tab-name4, erg_tab-name5.
APPEND erg_tab.
ENDIF.
ENDLOOP.
ENDLOOP.
Code: Alles auswählen.
IF itab-begriffN <> space
AND ( itab2-name1 CS itab-begriffN
OR itab2-name2 CS itab-begriffN )
...
ENDIF
http://translate.google.de/#en/de/threatServantOfSonata hat geschrieben:...
Wie in meinem anderen Threat beschrieben ...
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
ServantOfSonata
ServantOfSonata hat geschrieben:Mein Ansatz wäre auf durch eine IF-Abfrage auf leere Felder zu prüfen, dafür bräuchte ich aber irgendwie eine Mehrfachbedingung die ich nicht realisiert kriege
Code: Alles auswählen.
LOOP AT itab1.
LOOP AT itab2.
IF ( itab2-name1 CP itab1-begriff1 AND itab2-name1 IS NOT INITIAL AND itab1-begriff1 IS NOT INITIAL )
OR ( itab2-name2 CP itab1-begriff1 AND itab2-name2 IS NOT INITIAL AND itab1-begriff1 IS NOT INITIAL )
OR ( itab2-name1 CP itab1-begriff2 AND itab2-name1 IS NOT INITIAL AND itab1-begriff2 IS NOT INITIAL )
OR ( itab2-name2 CP itab1-begriff2 AND itab2-name2 IS NOT INITIAL AND itab1-begriff2 IS NOT INITIAL )
OR ( itab2-name1 CP itab1-begriff3 AND itab2-name1 IS NOT INITIAL AND itab1-begriff3 IS NOT INITIAL )
OR ( itab2-name2 CP itab1-begriff3 AND itab2-name2 IS NOT INITIAL AND itab1-begriff3 IS NOT INITIAL ).
MOVE-CORRESPONDING itab1 TO erg_tab.
MOVE-CORRESPONDING itab2 TO erg_tab.
WRITE: /5 erg_tab-name4, erg_tab-name5.
APPEND erg_tab.
ENDIF.
ENDLOOP.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
ServantOfSonata
Ähem... ja... ich wollte euch nicht bedrohen ... Danke für die Verbesserung.black_adept hat geschrieben: P.S.http://translate.google.de/#en/de/threatServantOfSonata hat geschrieben:...
Wie in meinem anderen Threat beschrieben ...
Code: Alles auswählen.
DATA: BEGIN OF nb OCCURS 10,
name1(20) TYPE c,
name2(20) TYPE c,
END OF nb.
DATA: BEGIN OF neg_list OCCURS 10,
name(20) TYPE c,
begriff1(20) TYPE c,
END OF neg_list.
neg_list-name = 'Audi'.
neg_list-begriff1 = '*Claudia*'.
APPEND neg_list.
neg_list-name = 'Aral'.
neg_list-begriff1 = '*Harald*'.
APPEND neg_list.
*Füllen der internen Tabelle "nb"
nb-name1 = 'Audi'.
nb-name2 = 'AG'.
APPEND nb.
nb-name1 = 'Claudia Mustermann'.
nb-name2 = 'Tankstelle'.
APPEND nb.
nb-name1 = 'Aral'.
nb-name2 = 'AG'.
APPEND nb.
nb-name1 = 'Harald Meier'.
nb-name2 = 'Versicherungen'.
APPEND nb.
nb-name1 = 'ABC'.
nb-name2 = 'AG'.
APPEND nb.
Code: Alles auswählen.
LOOP AT neg_list.
LOOP AT nb.
IF ( nb-name1 NP neg_list-begriff1 AND nb-name1 IS NOT INITIAL )
AND ( nb-name2 NP neg_list-begriff1 AND nb-name2 IS NOT INITIAL ).
WRITE: /5 neg_list, nb.
ENDIF.
ENDLOOP.
ENDLOOP.
Code: Alles auswählen.
LOOP AT neg_list.
LOOP AT nb.
IF ( nb-name1 CP neg_list-begriff1 AND nb-name1 IS NOT INITIAL )
OR ( nb-name2 CP neg_list-begriff1 AND nb-name2 IS NOT INITIAL ).
WRITE: /5 neg_list, nb.
ENDIF.
ENDLOOP.
ENDLOOP.