Andreas Unkelbach
Logo Andreas Unkelbach Blog

Andreas Unkelbach Blog

ISSN 2701-6242

Artikel über Controlling und Berichtswesen mit SAP, insbesondere im Bereich des Hochschulcontrolling, aber auch zu anderen oft it-nahen Themen.


Werbung
Aktuelles von Andreas Unkelbach

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/



Donnerstag, 18. Februar 2016
20:51 Uhr

Query über COEP, AUFK und FMFINCODE für Einzelposten Istkosten Innnenauftrag mit Stammdaten aus CO und PSM-FM sowie Spalten für Ertrag und Aufwand - Erster Teil Infoset als Datengrundlage

Ausgangslage
Aus "erweiterten" KollegInnenkreis (andere Hochschule) wurde mir basierend auf eine CO Schulung mit SAP Query die Idee die Stammdaten eines CO Innenauftrages mit einer Einzelpostenliste zu kombinieren und dabei eine Spalte für die Ertrag und eine Spalte für Aufwand inklusive Abschreibungen auszuweisen vorgestellt, so dass am Ende nach Selektion bestimmter Merkmale aus den CO Stammdaten eine passende Einzelpostenauswertung erstellen zu können, die dann auch noch nach Innenaufträgen summiert werden können.

Diese Idee habe ich im kommenden Artikel aufgegriffen und um den ein oder anderen Punkt erweitert. Insgesamt kommt so eine Liste vergleichbar der Transaktion KOB1 (Aufträge Einzelposten Istkosten anzeigen) heraus. Als Summenbericht ist eine solche Auswertung problemlos im Report Writer / Painter möglich, wie im Artikel "Erweiterung Report Writer Berichtsbibliothek 1CT zur Darstellung rollierendes Geschäftsjahr für Kostenstelle und Innenauftrag" beschrieben. Allerdings können hier nicht alle Stammdaten des auszuwertenden CO-Objekt in unseren Fall also der Innenauftrag als Information oder auch als Selektionsfeld ausgewählt werden.

Entsprechend verfolgen wir mit einer neuen Query einen vergleichbaren Ansatz zu der Query im Artikel "Query Einzelpostenliste IST über CO Objekte (Auflösen von Innenauftrag, Kostenstelle) sowie Benutzerstammdaten und Erfassungsdatum". Jedoch sollen hier nicht einfach die CO-Objekte als Kostenstelle oder Innenauftrag ausgegeben werden sondern gerade die Innenaufträge als Auswertungsmerkmal gesondert betrachtet werden um beispielsweise alle Innenaufträge mit einen bestimmten Merkmal (zum Beispiel über das Feld "Arbeitsgenehmigung liegt vor" oder anhand der verantwortlichen Kostenstelle) auszuwerten. So kann das CHECKIN Feld zum Beispiel zur Kennzeichnung von vollkostenpflichtigen Projekten genutzt werden.

Wie bereits in der Überschrift  erwähnt, wird dieser Artikel in zwei Teilen erscheinen. Im ersten Teil wird die Grundlage für die Auswertung in Form eines Infoset erstellt werden. Hierbei sind auch viele kleine neueren Erkenntnisse rund um die Kombination von Stammdaten aus PSM-FM und CO mit eingebunden. Ferner wird innerhalb des Infoset dank Zusatzfeldcoding auch manches Datum schon vorbereitet wofür es in vorherigen Artikeln relativ umfassende komplexe Berechnungen in der Query gab. Es lohnt sich also tatsächlich diesen recht langen Artikel komplett zu lesen.
 

Infoset Stammdaten Innenauftrag und CO Einzelposten im Ist

Hierzu wurde als erstes ein Join über folgende Tabellen angelegt.

Stammdaten CO Innenauftrag AUFK verkn�pft mit CO Ist-Einzelposten (COEP und COBK)

Das Infoset ist dabei vergleichbar des oben beschriebenen Artikel angelegt, so dass sowohl die Einzelpositionen des CO Beleg als auch die Belegkopfdaten ausgewertet werden können. ACHTUNG: Dabei ist jedoch zu beachten, dass der Left Outer Join zwischen CSKB und COEP und nicht CSKU und COEP gesetzt werden sollte. Hier ist die Darstellung leider fehlerhaft.

Nun sollen aber zu den Stammdaten aus CO (beziehungsweise der Tabelle AUFK "Auftragsstammdaten") noch weitere Informationen über Zusatzfelder und Zusatztabellen mit ausgegeben werden.

Bisherige Vorgehensweise (wird im weiteren Verlauf dieses Artikels erheblich verbessert)

Hier bietet sich die Gelegenheit die in der Artikelserie

  1. "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck oder auch Status GESPERRT bei Innenaufträgen"
  2. "Query über verantwortliche Kostenstelle des Innenauftrag - Bestimmung der Lehreinheit im Fachbereich durch Teil der Kostenstellennummer"
  3. "SAP Query - Auswertung Merkmale der Klassifizierung am Beispiel Fonds in PSM-FM"
  4. "Weitere Zusatzfelder im Infoset mit ABAP Coding zur Verwendung in SAP Query über die Tabellen AUFK und FMFINCODE"

bereits vorgestellten Methoden sinnvoll zu aktualisieren und die zum Beispiel im Artikel "SAP Query innerhalb des SAP Moduls PSM FM beziehungsweise Haushaltsmanagement" gewonnenen Erkenntnisse ebenfalls einzuarbeiten und hier ein wenig das Infoset anzupassen beziehungsweise für mich neure und in meinen Augen auch intelligentere Methoden zwecks Verknüpfung von Stammdaten aus CO und PSM-FM zu erstellen. Daneben hat sich auch bei der Erstellung eines Feldes zur Darstellung der virtuellen Lehreinheit eine Menge entwickelt, so dass diese nun direkt im Infoset als Zusatzfeld ermittelt werden kann.


Da dieses Vorhaben etwas umfangreicher ist, wurde dieser Artikel in einen Teil zur Datengrundlage (Infoset) und der Auswertung des Infoset in Form einer Query aufgeteilt.
 

Erweiterung des Infoset über Zusatzfelder


Über die Schaltfläche Zusätze (F5) bzw. innerhalb der Transaktion SQ02 (Pflege des Infosets) über  SPRINGEN-> ZUSÄTZE ZUM KNOTEN kann ein zusätzliches Feld in ein Infoset definiert werden, welches nicht direkt in der auszuwertenden Tabelle erscheint. Ich möchte im folgenden Artikel vier Zusatzfelder anlegen um hier wesentlich weitergehende Auswertungsmöglichkeiten als das Lesen einer Tabelle oder eines Infoset zu ermöglichen.

Innerhalb des nun aufgerufenen Register Zusätze kann über die Schaltfläche "Anlegen" ein Zusatzfeld erstellt werden. Es erscheint eine Maske in der der Name des Zusatzfeldes angegeben werden soll und die Art der Zusatzinformation.

Im Einzelnen können dieses Zusatztabelle, Zusatzfeld, Zusatzstruktur und Coding sein. In den folgenden drei Abschnitten soll hier Zusatzfelder erstellt werden. Wobei eines davon später für das Einfügen einer Zusatztabelle genutzt wird. Wichtig ist es nach Eingabe des Zusatzfeldes auch die Eigenschaften wie Langtext, Überschrift sowie Textlänge und Typ definiert werden. Teilweise kann hier auch mit LIKE Referenz gearbeitet werden, so dass die Feldeigenschaften eines referenzierten Tabellenfeldes entsprechen.

Damit ist dann grundsätzlich ein Feld angelegt allerdings enthält es (anders als beim Einfügen einer Zusatztabelle, die direkt mitsamt ihren Daten ins Infoset geladen wird) keine Werte. Um nun eine entsprechende Wertzuweisung im Infoset zu bekommen kann hier mit Coding zum Feld gearbeitet werden.

Nachdem ein Feld jedoch angelegt ist kann über die Schaltfläche "Coding zum Zusatz" ein passendes ABAP Coding für das Feld hinterlegt werden über das wiederum eine Datenbankabfrage erfolgen kann. In den folgenden Abschnitten habe ich das von mir eingefügte Coding angegeben und kurz erläutert.

Berechtigungen für Zusatzfelder mit ABAP Coding

Für die Pflege von Zusatzcoding sind jedoch weiter gehende Basisberechtigungen erforderlich. Hierzu werden die Berechtigungen auf das Berechtigungsobjekt S_DEVELOP und die Berechtigungsfeldwerte Objekttyp PROG, Objektname AQ* sowie die Aktivitäten 01 und 02 geprüft. Da es sich hier um recht weitgehende Berechtigungen handelt, sollten diese auch nur im Entwicklungssystem vergeben werden. Die Berechtigungsprüfung erfolgt ebenfalls, wenn die Query, wie im Artikel "Transport von SAP Queries (DL/UL)" beschrieben, per Dateiupload ins Testsystem oder Produktivsystem transportiert werden soll. Das Infoset selbst lässt sich nach einem erfolgreichen Upload noch bearbeiten, lediglich das Coding ist durch die Berechtigungsprüfung vor weiteren Änderungen geschützt.

In den folgenden Abschnitten wird auf die einzelnen Zusatzfelder mit ihren Eigenschaften und zugehörigen Coding zum Zusatzfeld eingegangen.


Zusatzfeld Gesperrt (Sperrkenzeichen auswerten)

Auch hier wird wieder ausgewertet, ob ein Innenauftrag den Systemstatus Gesperrt (in der Transaktion KO02 "Innenauftrag ändern" per Bearbeiten->Sperre setzen) hat.

Hierzu wird ein Zusatzfeld GESPERRT mit den Eigenschaften Typ C (Charcter) und einer Länge von 001 angelegt. Dahinter wird als Coding folgende Anweisung hinterlegt:

DATA: L_AUFKOBJ type AUFK-OBJNR.
DATA: L_TEMP type AUFK-OBJNR.
L_AUFKOBJ = AUFK-OBJNR.
SELECT  SINGLE objnr FROM JEST into L_TEMP
    WHERE stat = 'I0043'
    AND objnr = L_AUFKOBJ
    AND inact = ''.
IF sy-subrc <> 4.
GESPERRT = 'X'.
ELSE.
CLEAR GESPERRT.
ENDIF.

Damit der Sperrstatus ermittelt werden kann wird anhand der Objektnummer des Innenauftrag (Feld AUFK-OBJNR) in der Tabelle JEST geprüft ob der Status I0043  gesetzt ist.

Zur Verdeutlichung des Zusammenhang sei auf folgende Grafik verwiesen:

Darstellung Infoset aus AUFK, JEST (mit TJ02) und JCDS
Wobei das Thema Systemstatus auch sehr umfassend in den beiden Artikeln:
erklärt ist und für diese Auskunft lediglich die Information ausreicht, ob der aktuelle Innenuaftrag gesperrt ist oder eben nicht.


 

Zusatzfeld VLE zur Darstellung virtueller Lehreinheit aus Teilstring der verantwortlichen Kostenstelle sofern nicht in einen anderen Feld ein Wert steht

Innerhalb der Kostenstellen einer Hochschule sind auch entsprechend Lehreinheiten mit den ersten vier Ziffern verschlüsselt. Sofern abweichend zu den ersten vier Ziffern innerhalb der Fachbereichskostenstellen eine andere Lehreinheit der Kostenstelle zugeordnet werden soll, ist diese im Feld Teletexnummer (welches nicht mehr für andere Zwecke verwendet wird, ausgewiesen.

Die Ausgabe der verantwortlichen Kostenstelle ist relativ aufwändig innerhalb von lokalen Zusatzfeldern in einer Query gelöst worden. Die hier genutzte Vorgehensweise ist im Artikel "Query über verantwortliche Kostenstelle des Innenauftrag - Bestimmung der Lehreinheit im Fachbereich durch Teil der Kostenstellennummer" beschrieben worden.

Diese Methode hat jedoch den Nachteil, dass jede Query erneut solche Felder und Formeln definiert bekommen muss. Entsprechend positiv wäre es natürlich, wenn eine solche Erhebung direkt im Infoset zum Beispiel über ein Zusatzfeld mit passenden Coding erfolgen kann.

Ein Auslesen der ersten vier Ziffern einer Kostenstelle über eine IF Bedingung ist mir soweit auch gelungen, allerdings hatte ich Probleme eine Abfrage zu erstellen, dass sofern das Feld Teletexnummer gefüllt ist, diese als Lehreinheit genommen wird.

Auf fico-forum.de hatte ich hier eine sehr hilfreiche Unterhaltung mit MrBojangles (Autor des Blog  SAPManDoo) im Beitrag "Query: Auslesen Stammdaten (Zusatzcoding ABAP) Problem SELECT Statement AUFK-KOSTV und CSKS-TELTX".

Das Ergebnis unserer Unterhaltung, inklusiver einer Anpassung für den Fall, dass die Kostenstelle nicht nur numerisch sondern auch Buchstaben enthält habe ich dann wie folgt als Coding zum Zusatzfeld VLE eingebaut.

Hierbei hat das Zusatzfeld VLE durch LIKE-Referenz die Eigenschaften des Tabellenfeldes CSKS-TELTX erhalten (Typ C und Länge 030).

Rahmenbedingungen:
Es werden achtstellige Kostenstellen verwendet, sofern die verantwortliche Kostenstlele des Innenauftrag zwischen 10000000 und 12345678 liegt sollen die ersten vier Ziffern der Kostenstelle als Wert für die Lehreinheit genommen werden.

Ein Sonderfall stellt nun noch die Kostenstelle 47110000 dar. Hier soll als Lehreinheit die 1047BE ausgegegeben werden. Ferner sollen die Kostenstellen der betrieblichen Einrichtung der Kostenstellen 20815000 bis 20815999  der Lehreinheit 208BE und 24300000 bis 24399999 der Einrichtung 243BE zugeordnet werden.

In allen anderen Fällen soll die verantwortliche Kostenstelle des Innenauftrages (aus der Tabelle AUFK-KOSTV) ausgewiesen werden.

Problematisch dabei ist, dass wir zwar achtstellige Kostenstellen nutzen, in SAP jedoch insgesamt zehn Stellen vorgesehen sind, so dass die Kostenstelle aus dem  Tabellenfeld  AUFK-KOSTV mit führenden 00 ausgegeben würden. Mein erster Gedanke wäre daher den erhaltenen Wert mit * 1 zu multiplizieren und so eine Zahl zu erhalten. Hier wurde ich im Forum zu Recht darauf hingewiesen, dass sobald die Kostenstelle auch nur einen Buchstaben enthält ein "ABAP Dump" erzeugt wird. Hier ist eine wesentlich schönere Variante durch die Anweisung NO-ZERO die führenden 00 aus dem Feld zu entfernen und deiesen Wert als VLE zu speichern.

Abschliessend soll nun noch geprüft werden, ob das Feld CSKS-TELTX (Teletexnummer im Kostenstellenstammsatz) mit einen Wert gefüllt ist und dieser Wert in jeden Fall unabhängig der anderen Bedingungen ausgegeben werden.

Hierzu ist eine entsprechende SELECT Abfrage über die Kostenstellen durchgeführt worden. Besonders gelungen empfinde ich hierbei, dass die Gültigkeit des Kostenstellenstammsatzes dahingehend überprüft wird, ob die Information zum Datum der Auswertung (SY-DATUM auch gültig ist, da sich das Feld ja auch auf Basis von zeitabhängigen Daten bei der Kostenstelle ändern kann. Durch ne space wird auch direkt festgehalten, ob die Teletexnummer einen Wert enthält. Sollte dieses der Fall sein, bekommt das Zusatzfeld VLE den Wert der lokalen Variable L_CSKSTELTX zugewiesen, andernfalls den Wert, der anhand der IF Bedingung ermittelt wurde.

Das auf diese Anforderungen erstellte (beziehungsweise angepasste) Coding sieht dann wie folgt aus:

DATA: L_CSKSTELTX type CSKS-TELTX.
IF AUFK-KOSTV => '0010000000' AND AUFK-KOSTV =< '0012345678'.
WRITE AUFK-KOSTV(6) TO VLE NO-ZERO .
ELSEIF AUFK-KOSTV = '0047110000'.
  VLE = '1047BE'.
ELSEIF AUFK-KOSTV => '0020815000' AND AUFK-KOSTV =< '0020815999'.
  VLE = '208BE'.
ElSEIF AUFK-KOSTV => '0024300000' AND AUFK-KOSTV =< '0024399999'.
  VLE = '243BE'.
ELSE.
  WRITE AUFK-KOSTV TO VLE NO-ZERO .
ENDIF.
* bei gefülltem TELTX VLE auf TELTX setzen
SELECT teltx FROM csks INTO L_CSKSTELTX up to 1 rows
  WHERE kokrs = AUFK-KOKRS
  AND kostl = AUFK-KOSTV
  and datbi >= SY-DATUM
  and teltx ne space.
ENDSELECT.
IF sy-subrc = 0.
    VLE = L_CSKSTELTX.
ENDIF.


Nebenbei ist ein solcher fachlicher Austausch mit ein Grund, warum ich immer noch Blogs, Foren und Wikis als ein sehr hilfreiches Arbeitsmittel betrachte und sehr froh darüber bin, dass es immer noch eine Community gibt in der sich gegenseitig geholfen wird. Ein wenig hoffe ich sowohl hier im Blog als auch in einigen Onlineforen meinen Part dazu beitragen zu können. Sehr allgemein habe ich dieses Thema  im Artikel "Praktische Nutzung von social media Diensten für meinen Arbeitsalltag" angesprochen.

Stammdatenfelder aus Fond (PSM-FM) ergänzend zum Innenauftrag ausgegeben

In den beiden Artikeln "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck oder auch Status GESPERRT bei Innenaufträgen" und  "Weitere Zusatzfelder im Infoset mit ABAP Coding zur Verwendung in SAP Query über die Tabellen AUFK und FMFINCODE" wurden einzelne Felder aus der Tabelle FMFINCODE durch eine Select Abfrage und SHIFT Anweisung ausgelesen und einzeln dem Infoset hinzugefügt.

Hintergrund ist, dass das Feld AUFK-AUFNR  in der Datenbank als Character mit 12 Zeichen und das Feld FMFINCODE-FINCODE als Character mit 10 Zeichen definiert ist.

Selbst wenn die Auftragsnummer und die Nummer des Fond übereinstimmen können beide Felder nicht miteinander in Form eines Infoset verknüpft werden, da diese eine "illegale Verknüpfung" wäre, da rein technisch die Felder nicht übereinstimmen.

Innerhalb des Abschnitt "Zusatzfeld ZAUFNR (Übernahme AUFK-AUFNR als FMFINCODE-FINCODE" im Artikel "SAP Query innerhalb des SAP Moduls PSM FM beziehungsweise Haushaltsmanagement" wurde nun eine clevere Alternative dargestellt.

Zusatzfeld ZAUFNR zur Verknüpfung von Innnenauftrag und Fond

Hierzu wurde das Zusatzfeld ZAUFNR mit per LIKE-Referenz FMFINCODE-FINCODE erstellt was in den folgenden Abschniten als Hilfsfeld genutzt werden kann.

Als erläuternde Überschrift und Langtext kann "Auftragsnummer 10 stellig" genommen werden.

Das in meinen Augen clevere Coding beschränkt sich auf einen Einzeiler in dem dem Feld per Offset die Auftragsnummer aus der Tabelle AUFK zugewiesen wird.

Für eine achtstellige Projektnummer (Innenauftrag) lautet das Coding wie folgt:

ZAUFNR = AUFK-AUFNR+4(8).

Hierbei bedient sich das Coding der Technik eines Offsets.

Durch die optionalen Angaben eines Offsets +<o> und eine Länge (<l>) direkt hinter dem Feldnamen <f>, wird der Teil des Felds, der auf Position <o>+1 beginnt und die Länge <l> hat, als eigenes Datenobjekt angesprochen.  In unseren Fall wird also für die Variable ZAUFNR das Feld AUFK-AUFNR (wir erinnern uns die zwölfstellige Auftragsnummer) eingelesen und ab der vierten Stelle insgesamt acht Stellen eingelesen. Da in der Datenbank die Auftragsnummer mit führenden 0000 hinterlegt wird erhalten wir also statt des Datenbankwerte 000012345678 die tatsächliche Auftragsnummer 12345678.

Sollten Sie eine andere Länge bei den Aufträgen oder Fonds definiert haben ist das Coding natürlich entsprechend anzupassen.

Im Ergebnis haben wir nun das Feld ZAUFNR, welches die gleichen Eigenschaften wie das Feld FINCODE innerhalb der Tabelle FMFINCODE hat.

Nun kann das Feld für verschiedene Formen der Verknüpfung genutzt werden.

SAP Query: Reihenfolge des Codeabschnittes

Beim Hinzufügen eines Zusatzfeldes oder einer Zusatztabelle kann am Punkt  Reihenfolge des Codeabschnitts gewählt werden. Auch wenn die Hilfe nicht in diese Richtung zu lesen ist, verstehe ich den Punkt so, dass wenn man Bezug auf vorab definierte Zusatzfelder nehmen möchte die hier nutzenden Felder im nachgeordneten Codeabschnitt liegen sollten.

Da ich in beiden kommenden Fällen mit den neu angelegten Feld ZAUFNR gearbeitet werden soll, werden beide kommenden Fälle im Codabschnitt 2 hinterlegt.

Zusatztabelle FMFINCODE

Anstatt eines Zusatzfeld kann im Register Zusätze über die Schaltfläche ANLEGEN auch eine ganze Tabelle eingefügt werden. Hierzu tragen wir als Name FMFINCODEfür die Stammdatentabelle der Fonds ein und wählen als Art der Zusatzinformation die Option ZUSATZTABELLE..

Im Feld "Reihenfolge des Codeabschnitts" wird nun eine 2 aus den geschilderten Gründen eingetragen.

Hintergrund ist dass erst das Feld ZAUFNR definiert sein soll, bevor Sie mit der Zusatztabelle arbeiten.

Nun erfolgt eine Abfrage über SELECT SINGLE * FROM FMFINCODE WHERE ...
in der folgedene (hervorgehobene) Bedingungen erfüllt sein sollen.

WHERE FIKRS  =  AUFK-BUKRS

da Finanzkreis und Buchungskreis identisch sind, können hier beide Felder sowohl in der Tabelle AUFK als auch FMFINCODE verwendet werden.

AND FINCODE = ZAUFNR

Hierdurch werden dann tatsächlich Fonds und Innenauftrag miteinander verknüpft und es steht die gesamte Tabelle FMFINCODE im Infoset zur Verfügung.
 

Merkmal aus Klassifizierung mit auswerten

Nehmen wir an, dass im Rahmen der Klassifizierung von Fonds im Modul PSM-FM die Projektbewertung in ein Merkmal festgehalten wird. Dann ist auch die im Artikel "SAP Query - Auswertung Merkmale der Klassifizierung am Beispiel Fonds in PSM-FM" erheblich erleichtert.

Hierzu wird ebenfalls ein Zusatzfeld bspw. PBW für Projektbewertung mit Langtext und Überschrift Projektbewertung erstellt.

Dieses hat als Eigenschaften eine LIKE-Referenz auf AUSP-ATWRT.

Ferner wird im unteren Abschnitt des Fenster bei Reihenfolge des Codeabschnitts ebenfalls eine 2 eingetragen.

Danach wird als Coding zum Zusatzfeld ein passendes Coding zum Zusatzfeld hinterlegt, dass aus der Variable (Zusatzfeld) ZAUFNR und den Buchungskreis bzw. Finanzkreis eine Objektnummer erstellt, die dem Feld AUSP-OBJEK. entspricht.


Unter der Annahme eines dreistelligen Finanzkreis KRK und dass das Merkmal die Interne Merkmalsnummer (Feld ATINN) folgenden Wert hat 0000000022 hat wird folgendes Coding zum Feld hinterlegt:

DATA: L_objfond TYPE AUFK-AUFNR.
DATA: L_MERKMALPBW type AUSP-ATWRT.

CONCATENATE  'KRK ' ZAUFNR INTO L_OBJFOND RESPECTING BLANKS.

SELECT SINGLE ATWRT INTO L_MERKMALPBW FROM AUSP
 WHERE OBJEK = L_OBJFOND AND ATINN ='0000000022' AND KLART = '042'.
IF sy-subrc <> 0.
  CLEAR PBW.
ELSE.
  PBW = L_MERKMALPBW.
ENDIF.


Im Ergebnis enthält nun das Feld PBW die in der Klassifizierung hintelregte Projektbewertung des Fond.

Zum Abschluss können alle Zusatzfelder und die Felder der Zusatztabelle als Felder in den Feldgruppen des Infoset übernommen werden.

Persönlich habe ich mir angewöhnt, für die Zusatztabelle eine eigene Feldgruppe anzulegen und auch die Zusatzfelder in einer Extra Feldgruppe mit aufzunehmen.

Schematisch betrachtet sieht der technische Aufbau unseres Infoset nun wie folgt aus:
Infoset inklusive Zusatztabellen und Zusatzfelder f�r AUFK, FMFINCODE und COEP

ACHTUNG: Auch hier hat sich in der Zeichnung ein Fehler reingeschlichen, da der left outer join zwischen CSKB und COEP und nicht CSKU und COEP sein sollte.

Damit können in einer Query nun sowohl Stammdaten aus CO / PSM-FM als auch die Ist-Einzelposten ausgewertet werden. Daher sollten auch alle Tabellenfelder mit in das Infoset in Feldgruppen mit aufgenommen werden. So kann später die Query auch sehr flexibel angepasst werden.

Die Idee der eingangs angesprochenen freundlichen Hochschule aus der Nachbarschaft die einzelnen Felder nach Art der Verwendung zu gruppieren wird im zweiten Teil dieses Artikel dargestellt. Hier soll nur erst einmal die Datengrundlage für die Query geschaffen werden.

Der zweite Teil ist im Artikel "Query Einzelpostenliste Innenauftrag mit Ausweis Ertrag und Aufwand Zweiter Teil Query zur Datenaufbereitung" ebenfalls online zu finden.

 

Hinweis:

Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.




Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
SAP Weiterbildung
ein Angebot von Espresso Tutorials
SAP Weiterbildung - so wirksam wie eine gute Tasse Espresso

unkelbach.link/et.books/

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/



Tags: Query PSM CO Berichtswesen Stammdaten

- SAP

Artikel datenschutzfreundlich teilen

🌎 Facebook 🌎 Twitter 🌎 LinkedIn


Diesen Artikel zitieren:
Unkelbach, Andreas: »Query über COEP, AUFK und FMFINCODE für Einzelposten Istkosten Innnenauftrag mit Stammdaten aus CO und PSM-FM sowie Spalten für Ertrag und Aufwand - Erster Teil Infoset als Datengrundlage« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 18.2.2016, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=682 (Abgerufen am 19.3.2024)

Diesen und weitere Texte von finden Sie auf http://www.andreas-unkelbach.de


Keine Kommentare

Kommentare und Anmerkungen

Für diesen Beitrag ist die Kommentarfunktion gesperrt. Sollten Sie eine Anmerkung oder Frage zu diesen Artikel haben freue ich mich über eine Rückmeldung per Mail. Meine Kontaktdaten finden Sie unter Kontakt aber auch am Ende dieser Seite. Neben Mail stehen hier auch verschiedene "soziale Netzwerke" zur Verfügung.



* Amazon Partnerlink/Affiliatelinks/Werbelinks
Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.
Weitere Partnerschaften sind unter Onlineshop und unter Finanzierung und Transparenz aufgeführt. Hinauf






Logo Andreas-Unkelbach.de
Andreas Unkelbach Blog
ISSN 2701-6242

© 2004 - 2024 Andreas Unkelbach
Gießener Straße 75,35396 Gießen,Germany
andreas.unkelbach@posteo.de

UStID-Nr: DE348450326 - Kleinunternehmer im Sinne von § 19 Abs. 1 UStG

Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter XING

Linkedin Mastodon Bluesky

Amazon Autorenwelt Librarything

Buchempfehlung
Schnelleinstieg ins SAP®-Controlling (CO) – 2., erweiterte Auflage

29,95 € Amazon* Autorenwelt

Espresso Tutorials

unkelbach.link/et.reportpainter/

unkelbach.link/et.migrationscockpit/

Privates

Kaffeekasse 📖 Wunschliste