Hallo Winnie,
folgender Tabellen-Join im InfoSet funktioniert bei mehrern Kunden von mir sehr erfolgreich:
- EINA Einkaufsinfosatz - allgemeine Daten
- EINE Einkaufsinfosatz - Einkaufsorganisationsdaten
- A017 Materialinfosatz (werksspezifisch)
- KONP Konditionen (Position)
- KONM Konditionen (Mengenstaffel 1-dimensional)
- MARA Allgemeine Materialdaten
Als Ausgangstabelle wird diee EINA verwendet, da hier mit den Feldern EINA-MATNR Materialnummer und EINA-LIFNR Kontonummer des Lieferanten die Selektion schön eingegrenzt werden kann. Weiterhin verwende ich zum selektieren noch EINA-INFNR Nummer des Einkaufsinfosatzes sowie EINA-LOEKZ Einkaufsinfo allgemeine Daten zum Löschen vorgemerkt.
An die EINA joine ich dann sowohl die EINE als auch die A017. Aus der EINE nehme ich dann EINE-INFNR Nummer des Einkaufsinfosatzes. Um die Performance zu steigern mappe ich dann noch die EINA mit der A017 über die Felder EINA-LIFNR zu A017-LIFNR sowie EINA-MATNR zu A017-MATNR.
Achtung: Bei den automatisch gernierten Verknüpfungsbedingungen zwischen den Tabellen EINE und A017 werden vier Felder vorgeschlagen und zwar:
- EINE-EKORG zu A017-EKORG Einkaufsorganisation
- EINE-WERKS zu A017-WERKS Werk
- EINE-ESOKZ zu A017-ESOKZ Typ des Einkaufsinfosatzes und
- EINE-ERDAT Datum, an dem der Satz hinzugefügt wurde zu A017-DATBI Gültigkeitsende des Konditionssatzes
Die letzte Verknüpfung musst Du dann entfernen, ansonsten werden keine Einträge gefunden.
Die Verknüpfung zwischen den Tabellen A017 und der Tabelle KONP erfolgt über die Felder
A017-KAPPL zu KONP-KAPPL Applikation und A017-KNUMH zu KONP-KNUMH wieder einwandfrei.
Aus der Mara hole ich dann noch allgemeine Infos wie zum Beispiel die Warengruppe MARA-MATKL hinzu.
Die Vorschlagsverknüpfung zwischen EINE und A017 kommt zustande, da das Feld EINE-ERDAT und A017-DATBI
im Data Dictionary (SE11) die gleiche Domäne verwenden. Das Datenelement ist zwar unterschiedlich, jedoch beinhalten
beide Felder die Domäne "DATUM" - und diese Domäne ist als Datentyp DATS Länge 8 Dezimalstellen 0 bei beiden Feldern
gleich definiert. Die Vorschlagsverknüpfung wird vom InfoSet automatisch aufgrund der Domänen erzeugt.
Achtung: Sind zum Einkaufsinfosatz in der SAP Transaktion ME11 Staffeln angelegt, dann benötigst Du noch die
Tablle KONM. Jedoch findest Du in der Tabelle nur Einträge, wenn es auch Staffeln gibt. Auch dies klappt jedoch
immer hervorragend über die beiden Felder KONP-KNUMH zu KONM-KNUMH Konditionssatz sowie KONP-KOPOS
zu KONM-KOPOS Laufende Nummer der Kondition. Als Lösung einfah die Verknüpfung zwischen KONP und KONM
als left outer join definieren.
Im SAP Query Transaktion SQ01 belege ich dann noch die Selektionsvariante vor. Hier schließe ich gezielt gelöschte
Einkaufsinfosätze bei der Selektion bereits aus:
- EINA-LOEKZ Einkaufsinfo allgemeine Daten zum Löschen vorgemerkt
- EINE-LOEKZ Einkaufsinfo Einkaufsorgdaten zum Löschen vorgemerkt
- KONP-LOEVM_KO Löschkennzeichen für die Konditionsposition
Die drei Felder sind in der Selektionsvariante negativ susgegrenzt. Zusätzlich habe ich für den Anwender die Felder in
der Variante über "Felder ausblenden" nicht sofort sichtbar gemacht. Weiterhin habe ich für die anderen Selektionsfelder
in der Variante GPA ausschalten markiert, somit werden die Felder nicht immer aufgrund der SET-GET-Funktion vorbelegt.
So hoffe Du kannst nun die Materialpreise selektieren