Code: Alles auswählen.
Loop at lt_itab1 into ls_work.
read table lt_ausgabe into  ls_ausgabe with key opbel = ls_work
                                                                        iban <> ls_workd-iban.
Code: Alles auswählen.
DATA: lv_opbel TYPE opbel,
      lv_iban  TYPE iban.
SORT lt_ausgabe BY opbel iban.
SORT lt_itab1 BY opbel iban.
LOOP AT lt_itab1 ASSIGNING FIELD-SYMBOL(<work>).
  "hier könnte man auch Gruppenstufenverarbeitung nutzen, die ich nicht mag.
  "In neueren Releases könnte man dafür GROUP-BY in dem LOOP nutzen
  IF <work>-opbel NE lv_opbel OR <work>-iban NE lv_iban.
    lv_opbel = <work>-opbel.
    lv_iban = <work>-iban.
    LOOP AT lt_ausgabe TRANSPORTING NO FIELDS WHERE opbel = <work>-opbel
                                                AND iban <> <work>-iban.
      "ungleich
      EXIT.
    ENDLOOP.
  ENDIF.
ENDLOOP.
 Beispielcoding wäre super
 Beispielcoding wäre super 
wieso nicht?Bright4.5 hat geschrieben:@ewx.
Ja, aber diese Information würde mir nicht viel bringen.
Bright4.5 hat geschrieben:[...]ob Einträge in der ersten internen Tabelle auch in der zweiten vorkommen[...]
Code: Alles auswählen.
Loop at itab1 into data(struc1). 
    if not line_exists( itab2[ field1 = struc1-field1 field2 = struc1-field2 ] ). 
        insert struc1 into itab2. 
    endif. 
endloop. Bright4.5 hat geschrieben:Okay, vielen Dank an alle ich hätte es gelöst.
Diese Diskussion hatten wir kürzlich in einem anderen Thread. Einerseits ist es nicht immer zu vermeiden, zweitens ist es auch nicht notwendigerweise schlimm, und dritterseits reden wir hier von einem Pseudo-Loop, der nur einen EXIT enthält und der daher genauso wie ein READ TABLE nur einmalig durchlaufen wird. Damit hat der LOOP zwar eine etwas sperrigere Syntax, ist performancetechnisch aber nicht nennenswert schlechter.Bright4.5 hat geschrieben:hmm das wäre ja leider auch wieder ein Loop im Loop, gerade so etwas wollte ich gerne vermeiden.