Dienstag, 16. September 2008
13:14 Uhr
Kurzanleitung Anlage einer SAP Query
Ausgangslage:
Über eine kennzahlenbasierte Kostenumlage (KSUB) sollen u.a. auch Konten im Bereich der Anlagenbuchhaltung umgelegt werden. Da hier die Konten umgelegt werden gehen die Informationen aus der Anlagenbuchhaltung (Anlagenbewegungsarten) verloren.
Gleiches Problem innerhalb der ProfitCenter Rechnung tritt beim Abgang von Anlagen auf, da diese zu vollen AHK auf den Profitcenterbeleg gebucht werden selbst wenn diese dann eigentlich nur noch einen Restbuchwert aufweisen.
Lösungsansatz:
Es sollen alle innerhalb der Anlagenbuchhaltung angefallenen Profitcenterbelege nach der Anlagenbewertungsart ausgewertet werden.
Hierzu könnte entweder die Tabelle GLPCA über die Felder RYEAR, KSL, RPRCTR und ANBW über SE16 ausgewertet werden oder alternativ die Tabelle über eine Query ausgewertet werden.
Überlegung
SE16:
Hier ist das entsprechende Berechtigungsobjekt siehe Artikel mit der Berechtigungsgruppe der Tabelle GLPCA zu pflegen. Durch Freigabe der Transaktion SE16 könnten jedoch auch andere Tabellen innerhalb der Berechtigungsgruppe ausgewertet werden.
Daher ist hier ggf. eine SAP Query eine Möglichkeit.
Vorgehensweise
Sap Query:
Die Anlage einer Query erfolgt in drei Schritten.
a) Anlage eines Infosets (Datengrundlage)
Über die Transaktion SQ02 kann entweder eine Tabelle direkt ausgewertet werden oder eine Verknüpfung (Join) mehrere Tabellen.
Direktes Lesen der Tabelle wäre eine Auswertung der Tabelle GLPCA.
In unseren Beispiel soll die Tabelle jedoch auch mit der Beschreibung der Bewegungsarten verknüpft werden. Somit wäre hier ein Join der Tabellen GLPCA und TABWT als Datengrundlage.
Hier ist GLPCA als Grundtabelle.
Über
BEARBEITEN->Tabelle einfügen
kann nun die Tabelle TABWT mit übernommen werden.
Hier ist auch schon direkt die Verknüpfung der Tabellenfelder GLPCA-ANBWA und TABWT-BWASL vordefiniert.
Somit kann bei der Auswertung auch direkt das Feld BWATXT (Bezeichnung Anlagenbewgungsart) in der Query ausgegeben werden.
Ist der Join definiert können alle Tabellenfelder oder auch nur die Keyfelder übernommen werden.
Werden alle Tabellenfelder übernommen können diese Felder dann innerhalb einer Query auch genutzt werden.
Nach Generierung des Infosets kann dieses dann direkt genutzut werden.
Das entsprechend generierte Infoset sollte dann noch einer passenden Benutzergruppe zugewiesen werden. Andernfalls kann dieses nicht weiter genutzt werden.
b) Anlage der Query
Die Query definiert dann die Feldauswahl zur Selektion und/oder Ansicht via des Infosets.
Hierzu kann über die Transaktion SQ01 ein Query angelegt werden.
Bei der Anlage des Query wird dann direkt auf den Infoset Bezug genommen.
Über die Grundliste können dann die relevanten Felder aus den beiden per Infoset definierten Tabellen übernommen werden.
Hierbei kann bei den Tabellen zwischen Listenfeldern (diese werden ausgegeben) und Selektionsfeldern (über diese wird dann eine Auswahl getroffen) pro Feld gewählt werden.
Als Werte können hier:
Aus Tabelle GLPCA
Selektionsfelder:
RYEAR (Geschäftsjahr)
RACCT (Buchungskonto)
Listenfelder:
RPRCTR (Profitcenter)
KSL (Betrag)
ANBWA (Anlagenbewegungsart)
Aus Tabelle TABWT
Listenfelder:
BWATXT (Bezeichnung Anlagenbewegungsart)
Selektionsfeld:
SPRAS (Sprachenschlüssel)
Der Sprachenschlüssel sollte selektiert sein, damit nicht für jede gepflegte Sprachversion die Daten erneut ausgegeben werden.
c) Pflege der Benutzergruppe
Über die Transaktion SQ03 können dann die entsprechenden Benutzergruppen gepflegt werden und auch die Benutzer mit Query Berechtigung einer entsprechenden Benutzergruppe zugeordnet werden.
Innerhalb der Benutzerparameter kann die Benutzergruppe und der Arbeitsbereich innerhalb der Query zugewiesen werden.
Nachtrag:
Betroffene Berechtigungsobjekte:
S_TCODE
SQ01
S_TABU_DIS
Act. 03
Berechtigungsgruppe
AC, KA, GC
Keine Kommentare - Permalink - SAP
13:54 Uhr
Über die Benutzerparameter läßt sich der Arbeitsbereich innerhalb Abap Query vorbelegen.
Parameter AQW
ohne Wert = mandantenabhängig (Standardbereich)
G = mandantenunabhängig (globaler Bereich)
Weitere Parameter wären:
AQQ: Query
AQB: Benutzergruppe
AQS: Sachgebiet
Keine Kommentare - Permalink - SAP
09:20 Uhr
Zur Auswertung von Vollzeitäquivalenten für eine kostenstellenbezogene Personalkostenumlage benötigen wir als Variablen für die Personen die Kostenverteilung und den Anteil der Arbeitszeit im Verhältnis der tariflichen Arbeitszeit.
Hierzu würde ich gerne den IT 1018 aus Organisationsmanagement und IT 0007 aus der Personaladministration miteinander in Verbindung bekommen. Ideal wäre es hier noch die Personalnummer dabei zu haben.
Mittels einer AdHocQuery kann ich zumindest die Informationen wöchentliche Arbeitszeit / tarifliche Wochenarbeitszeit aus der PA herausbekommen.
Mein Problem ist nun eine Auswertung der Kostenverteilung innerhalb des Organisationsmanagements.
Eine Auswertung über S_AHR_61016532 ist zwar eine Möglichkeit würde aber, da viele Mitarbeiter eine Kostenverteilung inne haben, relativ viel Zeit in Anspruch nehmen.
Daher wäre mir eine Query die angenehmere Variante.
Bisher ist mein Kenntnisstand so, dass die Kostenverteilung innerhalb der Tabellen HRP1018 und HRT108 abgebildet werden.
Über das Feld Tabnummer könnte ich vermutlich beide Tabellen miteinander verknüpfen.
Hierdurch erhalte ich aus der Tabelle HRP1018 die Planstelle über das Feld OBJID und über die Verweisnummer auf Tabellenteil "TABNR" ein Schlüsselfeld, dass ich innerhalb der Tabelle HRT1018 verwenden kann.
Dort sind als Werte Kostenstelle, Auftrag und Prozent in den Feldern
KOSTL, AUFNR und PROZT hinterlegt.
Fraglich sind nun folgende Punkte:
Um eine Gegenüberstellung zu den zugewiesenen Planstellen zu Personalnummern zu verwirklichen müßte ich den Infotyp Organisatorische Zuordnung innnerhalb der Personaladministration auswerten, da teilweise unbesetzte Planstellen vorhanden sein können, die bei der Ermittlung von VZÄ nicht mit berücksichtigt werden dürfen.
Hier gibt es nun aber auch Personen, die mehr als einer Planstelle zugewiesen sind. Eine Auswertung per AdHocQuery lieferte mir jedoch nur eine Planstelle.
Ferner sind in der Kostenverteilung nur von der Hauptkostenstelle abweichende Kostenträger angegeben, so dass eine Berechnung der verbleibenden Kostentragung erfolgen muss.
Lösungsansätze
A) Kostenverteilung
1. Schritt:
Innerhalb der Tabelle PA0001 kann ich durch die Felder PERNR und PLANS eine Verknüpfung zwischen Person und Planstelle herleiten.
Ferner kann durch die Tabelle PA0008 eine Verknüpfung zur Vergütung erfolgen.
2. Schritt:
Über die Tabelle HRP1018 kann ich das Feld OBJID als Verknüpfung zur Planstelle aus der Tabelle PA0001 verwenden. Hier verwende ich das Feld TABNR als weiteres Schlüßelfeld.
3. Schritt:
Über TABNR aus HRP1018 kann ich innerhalb der Tabelle HRT1018 mir die Werte KOSTL, AUFTR und PROZT ausgeben lassen.
Zu beachten ist, dass ich sofern die PROZT nicht 100 ergeben aus der Tabelle PA0001 das Feld KOSTL für die verbleibendene Prozent als Kostenträge nehmen muss.
B) Arbeitszeitanteil
1. Schritt
Abgleich IT 0007 Sollarbeitszeit zur Arbeitszeit innerhalb IT0008 Basisbezüge. Hier kann es zu unerwünschten Unterschieden geben.
Danach muß die Tarifliche Wochenarbeitszeit aus IT0008 mit IT007 im Verhältnis gesetzt werden.
2. Schritt
Datenbanktabellen ausfindig machen.
C) Anlegen einer Query
Zum Anlegen einer Query ist ein neues Sachgebiet zu generieren. Hierfür muss ein Join der Tabellen erfolgen.
Sachgebiet/View/ SQ01 SQ02
Ich habe nun folgende Tabellen miteinander verknüpft.
HRP1018-TABNR = HRT1018-TABNR
PA0001-PLANS = HRP1018-OBJID
PA0001-PERNR = PA0000-PERNR
PA0001-PERNR = PA0002-PERNR
PA0001-PERNR = PA0007-PERNR
PA0001-PERNR = PA0008-PERNR
PA0001-PERNR = PA0041-PERNR
PA0002-PERNR = PA0000-PERNR
PA0002-PERNR = PA0008-PERNR
PA0008-PERNR = PA0000-PERNR
Ziel ist folgendes:
PA0001 soll mir die Personalnummer und die Planstelle einer Person liefern, PA0002 den Namen einer Person, PA0008 die Vergütungsgruppe einer Person und Über die OBJID in der Tabelle HRP1018 möchte ich die Kostenverteilung einer Planstelle aus der Tabelle HRT1018 auslesen.
Soweit funktioniert meine Abfrage auch.
Mein Problem ist nun die zeitliche Abgrenzung. Ich müßte diese Query auf das Jahr 2005 beschränken. Hier fehlt mir jedoch eine sinnvolle Lösung.
Hat möglicherweise jemand von euch einen Ansatzpunkt?
SAP: R/3 4.6b
Keine Kommentare - Permalink - SAP