query stammdatenvergleich profit-center und auslesen von textbestandteilen

3
Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen (Teilstring aus Variable) Ausgangslage Innerhalb der Profit-Center-Rechnung sind drei Arten von Profit-Center hinterlegt. Diese sind angelehnt an Kostenstellen geführt mit einen Buchstaben je Bereich. Beispiel: Kostenstelle 12345678 Profitcenter Bereich D: D12345678 Profitcenter Bereich L: L12345678 Profitcenter Bereich S: S12345678 Ziel ist es, dass das Feld Verantwortlicher innerhalb dieser drei Profit-Center identisch gepflegt ist. Problem: Angedacht ist eine Liste aller Profitcenter sortiert nach einer Kostenstelle. Problematisch ist dabei, dass den Profit-Center L* zwar eine Kostenstelle zugeordnet ist, den Bereichen D* und S* jedoch jeweils nur Innenaufträge zugewiesen sind. Entsprechend ist eine Auswertung anhand von Kostenstellen nicht möglich. Lösung: Da die Namenslogik vorgegeben ist (Bereich+Kostenstelle) kann jedoch mit Hilfe eines kundeneigenen Feldes innerhalb einer Query wie folgt vorgegangen werden. Innerhalb der kundeneigener Felder in SAP Query ist es aber möglich auch mit Textfeldern Teile auszulesen. Hierbei können bei Textfeldern einzelne Bestandteile (Zeichenketten) ausgelesen werden. Bei bekannter Zeichenlänge kann hier der Textstring entsprechend ausgelesen werden. Im Beispiel könnte also die Kostenstelle ausgelesen werden, indem aus der Profit-Centernummer ab den 2. Zeichen alle Zeichen ausgelesen werden. Somit würde sowohl aus L12345678 als auch aus D12345678 die Kostenstelle 12345678 dargestellt werden. Grundlage für die Auswertung von Profit-Center-Stammdaten sind die Tabellen CEPC und CEPCT. Infoset definieren Innerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle CEPC angelgt. Es werden folgende Tabellen miteinander in Beziehung gesetzt: Tabellen: CEPC: Stammdatentabelle von Profit Centern CEPCT: Profit-Center-Stammdaten Texte Verknüpfungsbedingungen: Die vorgeschlagenen Verknüpfungsbedingungen seitens SAP können direkt übernommen werden.

Upload: writeme670

Post on 13-Apr-2016

216 views

Category:

Documents


3 download

DESCRIPTION

Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen

TRANSCRIPT

Page 1: Query Stammdatenvergleich Profit-Center Und Auslesen Von Textbestandteilen

Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen (Teilstring aus Variable)

Ausgangslage Innerhalb der Profit-Center-Rechnung sind drei Arten von Profit-Center hinterlegt. Diesesind angelehnt an Kostenstellen geführt mit einen Buchstaben je Bereich.

Beispiel: Kostenstelle 12345678 Profitcenter Bereich D: D12345678 Profitcenter Bereich L: L12345678 Profitcenter Bereich S: S12345678

Ziel ist es, dass das Feld Verantwortlicher innerhalb dieser drei Profit-Center identisch gepflegt ist.

Problem: Angedacht ist eine Liste aller Profitcenter sortiert nach einer Kostenstelle. Problematisch ist dabei, dass den Profit-Center L* zwar eine Kostenstelle zugeordnet ist,den Bereichen D* und S* jedoch jeweils nur Innenaufträge zugewiesen sind. Entsprechend ist eine Auswertung anhand von Kostenstellen nicht möglich.

Lösung: Da die Namenslogik vorgegeben ist (Bereich+Kostenstelle) kann jedoch mit Hilfe eines kundeneigenen Feldes innerhalb einer Query wie folgt vorgegangen werden.

Innerhalb der kundeneigener Felder in SAP Query ist es aber möglich auch mit Textfeldern Teile auszulesen. Hierbei können bei Textfeldern einzelne Bestandteile (Zeichenketten) ausgelesen werden. Bei bekannter Zeichenlänge kann hier der Textstring entsprechend ausgelesen werden. Im Beispiel könnte also die Kostenstelle ausgelesen werden, indem aus der Profit-Centernummer ab den 2. Zeichen alle Zeichenausgelesen werden. Somit würde sowohl aus L12345678 als auch aus D12345678 die Kostenstelle 12345678 dargestellt werden.

Grundlage für die Auswertung von Profit-Center-Stammdaten sind die Tabellen CEPC und CEPCT.

Infoset definieren Innerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle CEPC angelgt.

Es werden folgende Tabellen miteinander in Beziehung gesetzt: Tabellen: CEPC: Stammdatentabelle von Profit Centern CEPCT: Profit-Center-Stammdaten Texte

Verknüpfungsbedingungen: Die vorgeschlagenen Verknüpfungsbedingungen seitens SAP können direkt übernommen werden.

Page 2: Query Stammdatenvergleich Profit-Center Und Auslesen Von Textbestandteilen

Damit sind alle Verknüpfungen der Tabellen erfolgt. Der Einfachheit halber können nun alle Feldgruppen/Datenfelder übernommen werden. Dieses hat den Vorteil, dass dieses Infoset auch für weitere Queries zur Verfügung steht. Alternativ könnte man auch nur dienotwendigen Felder übernehmen. Innerhalb der Query können dann die Felder auch wieder eingeschränkt werden.

2.) Query definieren Innerhalb der Query über das Infoset wird nun mit lokalen Feldern gearbeitet.

Hierzu gehen wir nicht in die Grundliste der Query (wo auch das Layoutdesign gepflegt wird) sondern innerhalb der Querypflege mit nächstes Bild (F6) auf die Feldauswahl der Query gewechselt.

Über BEARBEITEN->KURZBEZEICHNUNG kann für die einzelnen Felder eine Kurzbezeichnung eingestellt werden. Nun werden rechts neben den Datenfeldern Eingabefelder für die Kurzbezeichnung angegeben. Hier erhalten nun folgende Felder eine Kurzbezeichnung:

Stammdatentabelle von Profit Centern Profitcenter-> PCTR

Diese Kurzbezeichnung ist notwendig, da wir auf diese dann Bezug nehmen, wenn wir ein eigens Feld mit einer Formel anlegen. Teilstring aus einen Textstring innerhalb einer Query auslesen Dieses geht über

BEARBEITEN->LOKALES FELD->ANLEGEN

Dieses Lokale Feld wird dann in der Feldgruppe angelegt, in der wir uns gerade befinden.

Das lokale Feld hat folgende Eigenschaften:Kurzbezeichnung KST Feldbezeichnung Kostenstelle Überschrift Kostenstelle

Unter Eigenschaften wird hier die gleiche Eigenschaften wie Feld PCTR hinterlegt.

Unter Berechnungsvorschrift kommt nun folgende Formel:

PCTR[2:10]

Hierbei werden aus den Textfeld PCTR die Zeichen mit der Position 2 bis Position 10 (entspricht der maximalen Zeichenlänge des Feldes) ausgegeben. Das erste Zeichen eines Textfeldes hat die Position 1, was in unseren Beispiel dann D,Loder S wäre.

In der Query kann nun dieses Feld verwendet werden um eine Sortierung der Stammdaten über die Kostenstelle zu erreichen.

Page 3: Query Stammdatenvergleich Profit-Center Und Auslesen Von Textbestandteilen

Aufbau der Query Innerhalb der Query werden nun auf folgende Felder der einzelnen Tabellen Zugriff genommen bzw. in der Grundliste zugewiesen. Hierbei ist L als Listenfeld und S als Selektionsfeld zu verstehen.

Die Felder werden hier in der Reihenfolge angeben, wie diese dann auch in der Query ausgegeben werden sollen:

lokale Zusatzfelder Kostenstelle (L) (kundeneigenes Feld)

Stammdatentabelle von Proftitcenter CEPC PrCtr (L) CEPC-PRCTR

Profit-Center-Stammdaten Texte (CEPCT) Kurztext (L) CEPCT-KTEXT Langtext (L) CEPCT-LTEXT

Stammdatentabelle von Proftitcenter CEPC Verantwortliche (L) CEPC-VERAK

Da alle Stammdaten kontrolliert werden sollen ist kein Selektionsfeld definiert.

Allerdings bietet sich an, über die Sortierfelder (durch Markieren der Sortierfeldbox und Ziehen des Feldes Kostenstelle (mit den Beispielwert) auf den entsprechenden Kasten) das Feld Kostenstelle direkt als Summierungsfeld zu verwenden. Hierdurch erscheinen die Profitcenter D12345678, L12345678 und S12345678 direkt unterinander.