Doppelte Einträge in CDS - View entfernen

Getting started ... Alles für einen gelungenen Start.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

Doppelte Einträge in CDS - View entfernen

Beitrag von msfox (Specialist / 307 / 50 / 63 ) »
Ich habe die Aufgabe bekommen, anhand einer "Einstiegstabelle" mit Teil- und Hauptvorgang (TV/HV) die Sachkonten aus dem Buchungsbreich P000 und P001 zu lesen. Dabei kann es zum TV/HV im P000 und/oder im P001 Sachkonten geben.
Da nun alle so auf CDS-View stehen, wollte ich den Select über eine CDS-View machen. Leider sind mir meine Schulungsunterlagen aus dem letzten Jahr flöten gegangen und seit her habe ich auch nichts wieder mit CDS-Views gemacht.
Aktuell habe ich folgenden Lösung:

Code: Alles auswählen.

@AbapCatalog.sqlViewName: 'Z_CDS01S'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Test für CDS-View'
define view Z_CDS01
  as select from Z_abgtv as abgtv

  association [1] to Z_artabgt as _artabgt on  _artabgt.abgart = abgtv.abgart
                                                  and _artabgt.spras  = $session.system_language

  association [*] to tfk033d          as p000     on  p000.buber   = 'P000'
                                                  and p000.applk   = abgtv.applk
                                                  and (
                                                     p000.key03    = abgtv.hvorg
                                                     or p000.key03 = '*'
                                                   )
                                                  and (
                                                     p000.key04    = abgtv.tvorg
                                                     or p000.key04 = '*'
                                                   )

  association [*] to tfk033d          as p001     on  p001.buber = 'P001'
                                                  and p001.applk = abgtv.applk
                                                  and p001.key03 = abgtv.hvorg
                                                  and p001.key04 = abgtv.tvorg

{
  key abgtv.applk      as appl,
  key abgtv.abgart     as abgart,
  key abgtv.vavorg     as vavorg,
  key abgtv.hvorg      as hvorg,
  key abgtv.tvorg      as tvorg,
      _artabgt.abgartt as abgartt,

      case
        when not p000.ktopl is initial then p000.ktopl
        when not p001.ktopl is initial then p001.ktopl
        else ''
        end            as ktopl,

      case
        when not p000.key01 is initial then p000.key01
        when not p001.key01 is initial then p001.key01
        else ''
        end            as bukrs,

      case
        when not p000.key02 is initial then p000.key02
        when not p001.key02 is initial then p001.key02
        else ''
        end            as kofi,

      p000.fun01       as Saknr_ford,
      p001.fun01       as Saknr_ert,
      p001.fun04       as co_kontierung
}
Soweit liefert die CDS-View auch Treffer.
ABER: Wenn Einträge im P001 und P000 vorhanden sind, dann kommen die Zeilen doppelt.
- Wie bekomme ich diese raus?
- Ist hier überhaupt eine CDS - View sinnvoll?
Wie ich das im ABAP-Code lösen würden, wüsste ich.
--
Am Ende will ich in einem ABAP Report nur die Daten über diese CDS-View lesen und dann als ALV ausgeben.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Seite 1 von 1

Vergleichbare Themen

5
Antw.
5380
Views
doppelte einträge
von zwiback » 28.10.2005 08:52 • Verfasst in ABAP® für Anfänger
2
Antw.
2652
Views
Suchhilfe doppelte Einträge
von dkast » 07.01.2019 13:21 • Verfasst in Dialogprogrammierung
0
Antw.
665
Views
Doppelte einträge bearbeiten
von Mavi » 07.01.2021 17:06 • Verfasst in ABAP® für Anfänger
2
Antw.
1860
Views
Doppelte Einträge bei LOOP überspringen
von Dyrdek » 08.12.2016 15:12 • Verfasst in ABAP® Core
5
Antw.
3801
Views
Doppelte (bzw. mehrfach) Einträge einer Liste
von HAWK » 13.01.2006 09:08 • Verfasst in ABAP® Core

Über diesen Beitrag

msfox

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.