14:25 Uhr
Buchveröffentlichung »Berichtswesen im SAP®-Controlling«
So ist dann relativ zeitnah die Idee zum neuen Buch entstanden, dass die Möglichkeiten zum Aufbau eines internen Berichtswesen im SAP Modul Controlling beschreibt. Dabei werden sowohl vorhandene Berichte vorgestellt als auch einige praktische Kniffe zum Berichtswesen beschrieben und auch die Entwicklung eigener Berichte sei es mit Report Painter, Rechercheberichte oder auch SAP Query vorgestellt.
In guter Tradition hat mich ein Kollege schon auf das Titelbild angesprochen, dass nun nach Erbsen ein realistisches Tortendiagramm darstellt.
Paperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Dieses Diagramm sieht allerdings nicht nur nett anzusehen aus sondern zeigt auch einen weiteren Punkt der im Buch behandelt wird. Eine wichtige Frage ist auch wie diese Berichte den einzelnen Usern zur Verfügung gestellt werden und wo sowohl ein Informationssystem in Form eines Management-Cockpits für die einzelnen Verantwortungsbereiche zur Verfügung stellen, um an einer zentralen Stelle alle Informationen sammeln und direkt auswerten zu können. Diese Informationen sind nicht nur für die Unternehmensleitung und das Management, sondern auch für andere Verantwortliche im Unternehmen relevant.
Mein erster Blick ins Buch hat mich tatsächlich begeistert, was unschwer am Bild zu sehen ist.

Persönlich bin ich sehr zufrieden das Ergebnis in Händen zu halten und bin tatsächlich außerordentlich begeistert vom Ergebnis. Mein Buch richtet sich an erfahrenere Beschäftigte im Bereich Controlling, die im SAP-Modul CO ein Berichtswesen aufbauen oder erweitern wollen. Daneben können einzelne Beispiele nicht nur für Key-User, sondern auch für fortgeschrittene Sachbearbeiter im Controlling nützlich sein, um für regelmäßig genutzte Berichte kleinere Kniffe zur Arbeitserleichterung zu liefern. Die einzelnen Berichtsanforderungen sind im Buch so allgemein gehalten, dass es damit möglich sein sollte, die vorgestellten Methoden auf eigene Berichtsanforderungen zu übertragen bzw. als Grundlage zur Entwicklung eines eigenen Berichtswesens zu verwenden.
Ich würde mich sehr über ein entsprechendes Feedback freuen sei es hier im Blog, auf Amazon oder auch per Mail.
Sollte ich ein wenig Neugierde auf dieses Buch entfaltet haben, verweise ich gerne auf meine Seite Veröffentlichungen wo meine bisherigen Veröffentlichung aufgelistet sind sowie auf die Seite "Internes Berichtswesen im SAP ERP Modul Controlling (CO)" auf der eine ausführliche Rezension zum Buch »Berichtswesen im SAP®-Controlling« zu finden ist.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
14:14 Uhr
Gießen local-global 2017 - Symposium zum Reformationsjubiläum 22. bis 25. Juni 2017
Hierzu sind Entwicklungsexperten aus Afrika, Asien und Lateinamerika nach Gießen eingeladen die gemeinsam die Themenfelder Jugendbeschäftigung, Migration und Gemeinwesenarbeit in Gießen und weltweit besprechen wollen. Orientierungspunkte sind die Entwicklungsziele der „Agenda 2030“ der Vereinten Nationen.
Am Donnerstag, den 22. Juni von 18 bis 21 Uhr im Gießener Rathaus und am Samstag, den 24. Juni ab 19:30 in der Werkstattkirche Gießen, Ederstraße 13 wird diese Diskussion öffentlich geführt.

Foto:Schepp Plakat:J. Müller -
Weitere Informationen sind auf der Seite des evangelischen Dekanat Gießen im Artikel "Entwicklungstagung in Gießen zum Luther-Jubiläum Die Welt gerechter machen" sowie in folgenden verlinkten Flyer zu finden.
Flyer_Symposium_2017_Giessen-local-global.pdf
Neu auf Partnerschaft und Gerechtigkeit weltweit schauen
Interessieren Sie sich für Entwicklungspolitik? Für Partnerschaftsarbeit? Oder engagieren Sie sich in der Flüchtlingshilfe, für die Jugendwerkstatt oder für das Gemeinwesen? Welche neuen Möglichkeiten haben wir, die globalisierte Welt mitzugestalten und weltweite Beziehungen aufzubauen?
Diese Frage wird das Evangelische Dekanat Gießen auf dem Internationalen Symposium „Gießen lokalglobal: Neue Perspektiven weltweiter Partnerschaft und Gerechtigkeit. Reformatorische Herausforderungen 2017“ diskutieren und neue Möglichkeiten der Zusammenarbeit praktisch erleben.
Martin Luther fand vor 500 Jahren aus seiner Angst heraus eine neue Sichtweise auf Gott und auf eine Gerechtigkeit für den einzelnen Menschen. Heute ängstigt uns weniger die Furcht vor einem strafenden Gott, als viel mehr die Unsicherheit in der globalisierten
Welt.
Bei den Vereinten Nationen wird ein Perspektivwechsel in der Entwicklungspolitik diskutiert. Mit einer gegenseitigen Beratung auf Augenhöhe sollen die globalen Herausforderungen neu angegangen werden.
Wir bringen internationale Gäste zu den Themen Gemeinwesenarbeit, Jugendbeschäftigung und Migration zusammen. Wir tauschen mit ihnen Erfahrungen aus und wollen Denkanstöße in unsere Kirche und in unsere Stadt geben.
Dabei sind Fachleute aus der Praxis aus Lateinamerika, Afrika, unserer Partnerdiözese Amritsar Indien, und auch aus unserer Region.
Ich würde mich freuen, wenn auch Sie Interesse an dieser Veranstaltung haben und gebe auch gerne weitere Informationen weiter. Gerne können Sie beiliegenden Flyer auch vor Ort an Interessierte verteilen.
17:44 Uhr
Query zur Auswertung von Klassifizierungsmerkmale PSM Fonds zu CO Innenauftrag und Datumsfelder mit Konvertierung von FLOAT zu DATUM
Hier hatte ich über ein Zusatzfeld OBJNFOND aus Finanzkreis und FOND eine Auswertung der Klassifizierungsmerkmale beschrieben, so dass die einzelnen Felder der Tabelle CABN
In diesen Artikel habe ich über ein Zusatzfeld OBJNFOND aus Finanzkreis und einen Zusatzfeld FONDS, dass aus der CO-Innenauftragsnummer die Nummer des PSM Fond bildet, die PSM Objektnummer erstellt um hier einzelne Merkmale aus den Tabellen CABN "Merkmal" in der die einzelnen Merkmale gespeichert sind und AUSP "Ausprägungswerte der Sachmerkmale" in der zum Objekt (Fond) die Werte der einzelnen Merkmale gespeichert sind auswertete.
Im Rahmen des Artikel "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" hatte ich das Coding und die Zusatzfelder noch ein wenig optimiert allerdings war hier noch der Nachteil vorhanden, dass die entstandene Query fest den Finanzkreis hinterlegt hatte und so nicht an andere Einrichtungen übertragen werden konnte.
Daher möchte ich in diesen Artikel noch einmal das Thema Verknüpfung von CO Innenauftrag und PSM Fonds sowie die Auswertung der Klassifizierung angehen um danach auf eine Besonderheit einzugehen, sofern es sich beim Merkmal um ein Datumsfeld handelt.
Verknüpfung von CO Innenauftrag und PSM Fond
Statt wie im ersten Artikel beschrieben ein kompliziertes Feld OBJNFOND anzulegen ist es wesentlich leichter mit den Zusatzfeld ZAUFNR zu arbeiten. Dieses hat gleichzeitig den Vorteil, dass die Stammdaten des Fonds problemlos als Zustztabelle eingebunden werden können.Wie schon in den anderen Artikeln erwähnt sind die beiden Stammdatentabellen von CO Innenaufträgen (AUFK) und PSM Fonds (FMFINCODE) nicht über die Auftragsnummer beziehungsweise Fond verknüpfbar. 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.
Im zweiten Artikel wurde hierfür das Zusatzfeld ZAUFNR angelegt um aus der Innenauftragsnummer eine kompatibles Feld zum Fond zu machen.
Hierzu wurde das Zusatzfeld ZAUFNR mit per LIKE-Referenz FMFINCODE-FINCODE erstellt was in den folgenden Abschniten als Hilfsfeld genutzt werden kann. Nun muss "nur" noch die Auftragsnummer in dieses Feld zugewiesen werden.
Da auf Fond und Innenauftrag Drittmittelprojekte abgebildet werden, ist es das Ziel die Projektnummer vom Innenauftrag auch als Fond zu verwenden. Dazu möchte ich zwei Möglichkeiten für das Zusatzfeldcoding darstellen.
ZAUFNR mit fester Länge der Projektnummer des Innenauftrag
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.
ZAUFNR mit festzulegender Länge der Projektnummer
Sollten Sie eine andere Länge bei den Aufträgen oder Fonds definiert haben ist das Coding natürlich entsprechend anzupassen.Damit hier nicht selbst die Länge und Position für die Offsetermittlung errechnet werden muss habe ich hier das Coding wie folgt angepasst:
Damit kann durch Zuweisung eines Zahlenwertes die Position ab der die Projektnummer gespeichert ist direkt ermittelt werden.DATA L_AUFNR type i.
DATA L_OFFSET type i.
* Tragen Sie hier die Länge ihrer Projektnummer ein
* Standard: 8 stellige Auftragsnummer
L_AUFNR = 8.
* Nun wird die Position im Feld AUFK-AUFNR ermittelt
* ab der die Projektnummer ohne 0 gespeichert ist.
L_OFFSET = 12 - L_AUFNR.
* Maximial 12 Zeichen sind in AUFK-AUFNR vorhanden
ZAUFNR = AUFK-AUFNR+L_OFFSET(L_AUFNR).
Grundsätzlich könnte die Länge der Projektnummer als Variable L_AUFNR natürlich auch als Abfrageparameter, vergleichbar zum Artikel "Neue Wertgrenze für Investitionen bei Finanzstatistik oder Abfrageparameter in SAP Query zur Übernahme von Werten aus Selektionsbild" abgefragt werden, jedoch muss für das spätere Ergänzen der Klassifizierungsmerkmale hier ohnehin das Coding angepasst werden und in der Regel ändert sich die Länge der Projektnummer nicht, so dass diese als Selektionsparameter nur zur Verwirrung und möglichen Fehler führen würde.
Stammdaten Fond ergänzen per Zusatztabelle FMFINCODE
Durch das Zusatzfeld ZAUFNR ist es uns nun wesentlich einfacher möglich die Stammdaten der Fonds aus der Tabelle FMFINCODE ergänzend zur CO Stammdatnetabelle AUFK für die Innenaufträge mit ins Infoset aufzunehmen.Ein wichtiger Punkt ist dabei die Reihenfolge der Codingabschnitte.
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.
Klassifizierungsmerkmal aus AUSP auswerten
Bisher bin ich bei Klassifizierungsmerkmalen so verfahren, dass ich anhand ATINN den gespeicherten Merkmalswert aus der Tabelle AUSP ausgelesen habe und entsprechend mit ausgegeben habe.Welche Merkmale sind vorhanden?
Die einzelnen Merkmale sind in der Tabelle CABN hinterlegt und werden über das Feld ATINN mit der Tabelle AUSP mit entsprechenden Inhalten verknüpft.Entsprechend ist es Möglich für jedes Merkmal ein eigenes Zusatzfeld anhand der Merkmalsnummer (ATINN) zu erstellen.Die entsprechenden Einzelmerkmale können hierbei bspw. mit der Transaktion SE16 und der Auswertung der Tabelle CABN betrachtet werden.
Eines dieser Merkmale ist die Projektbewertung PBW.
Hierzu wird ebenfalls ein Zusatzfeld mit der Bezeichnung 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.
AUSP-OBJEK Objektnummer mit vorgegebenen Finanzkreis
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 hinterlegte Projektbewertung des Fond.
Objektnummer aus Buchungskreis identisch zum Finanzkreis ermitteln
Wesentlich eleganter ist es jedoch, sofern Finanzkreis und Buchungskreis übereinstimmen, diesen aus der Stammdatentabelle AUFK auszulesen.Hierzu habe ich das Coding an einer Zeile angepasst.
DATA: L_objfond TYPE AUFK-AUFNR.
DATA: L_MERKMALPBW type AUSP-ATWRT.
CONCATENATE AUFK-BUKRS 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.
Durch die Codingzeile:
CONCATENATE AUFK-BUKRS ZAUFNR INTO L_OBJFOND RESPECTING BLANKS.
wird der Buchungskreis unter Berücksichtigung von Leerzeichen mit den Zusatzfeld ZAUFNR verknüpft, so dass hier von dreistellige ebenso wie vierstellige Finanz- bzw. Buchungskreise berücksichtigt werden.
Datentyp beim Klassifizierungsmerkmal Unterschied AUSP-ATWRT und AUSP-ATFLP
Sofern die einzelnen Klassifizierungsmrerkmale in der Merkmalsverwaltung als Datentyp ZEICHENFORMAT definiert sind, kann hier das Thema schon abgeschlossen werden und die Query kann direkt genutzt werden.
Seitens einer anderen Hochschule bin ich jedoch darauf angesprochen worden, dass das Tabellenfeld AUSP-ATWRT leer ist und bei IHnen das Feld AUSP-ATFLP gefüllt ist. Dieses liegt daran, dass Sie als Klassifizierungsmerkmal den Datentyp DATUM gewählt haben um hier ein Datum zu hinterlegen.
Hierzu muss man wissen, dass die Tabelle AUSP "Ausprägungswerte der Sachmerkmale" die einzelnen Merkmalswerte in zwei Feldern speichert, je nachdem welcher Art die Daten sind.
Die Characterwerte (Zeichenformat) werden wie in oberen Beispiel beschrieben im Tabellenfeld AUSP-ATWRT "Merkmalswert" als Character mit 30 Zeichen gespeichert.
Handelt es sich jedoch um einen nummerischen Wert werden diese als Fließkommazahl (FLOAT) in das Tabellenfeld AUSP-ATFLV als Gleitpunktzahl mit 16 Stellen gespeichert.
Das Problem ist nun aus diesen Wert wieder ein Datumsfeld zu erhalten.
Gleitpunktzahl FLOAT in Datum (DATE) konvertieren
Zur Verdeutlichung des Problems habe ich einmal ein Merkmal als Datum definiert und den gespeicherten Wert in der Tabelle AUSP näher angesehen:| Datum | Wert als Float AUSP-ATFLV |
|---|---|
| 01.01.2018 | 2,0180101000000000E+07 |
| 14.05.2017 | 2,0170514000000000E+07 |
| 13.07.2017 | 2,0170713000000000E+07 |
Nun stellt sich für die QUery die Frage, wie aus den FLOAT Wert ein Datumswert ermittelt werden kann.
Im ersten Schritt legen wir ein Zusatzfeld mit ATFLV1 an um den Wert zum Merkmal 0000000043 welches als Datentyp Datum definiert bekommen hat auszulesen. Analog zum ATWRT lautet das Coding im Abschnitt 2 dann wie folgt:
DATA: L_objfond TYPE AUFK-AUFNR.
DATA: L_ATFLVDATUM1 type AUSP-ATFLV.
CONCATENATE AUFK-BUKRS ZAUFNR INTO L_OBJFOND RESPECTING BLANKS.
SELECT SINGLE ATFLV INTO L_ATFLVDATUM1 FROM AUSP
WHERE OBJEK = L_OBJFOND AND ATINN ='0000000043' AND KLART = '042'.
IF sy-subrc <> 0.
CLEAR ATFLV1.
ELSE.
ATFLV1 = L_ATFLVDATUM1.
ENDIF.
Nun ist also im Feld ATFLV1 das Datum als FLOAT gespeichert. Jetzt gibt es drei Möglichkeiten um daraus ein Datum zu erhalten.
Funktionsbaustein CTCV_CONVERT_FLOAT_TO_DATE
Der Funktionsbaustein CTCV_CONVERT_FLOAT_TO_DATE wandelt einen Datumswert im Gleitpunktformat (Typ F) in das Datumsformat (Typ D) um.Hier kann dann der Aufruf des Funktionsbaustein aus ATFLV1 ein Datum ausgeben.
Hierzu legen wir ein Zusatzfeld DATUM1 vom Typ D an (Länge von 8 wird automatisch vorgegeben) und können über folgendes Coding
DATA : L_datum1 LIKE ausp-atwrt,
L_datumsformat LIKE sy-datum.
CLEAR T_DATUM.
IF AUSP-ATFLV <> 0.
CALL FUNCTION 'CTCV_CONVERT_FLOAT_TO_DATE'
EXPORTING
FLOAT = ATFLV1
IMPORTING
DATE = L_datum1
.
WRITE L_datum1 TO L_datumsformat DD/MM/YYYY.
DATUM1 = L_datumsformat.
ENDIF.
Float in Integer und Integer in Datum umwandeln
Hier kann ATFLP über weitere Hilfsvariablen in ein Datumsfeld umgewandelt werden.Dazu wird ein Zusatzfeld vom Typ D für Datum angelegt und nun mit folgenden Code das ermittelte Feld ATFLV1 umgewandelt. Das Zusatzfeld erhält hier die Bezeichnung DATUM2.
DATA
ZL_integer TYPE I,
ZL_datum TYPE D.
ZL_integer = ATFLV1.
WRITE ZL_integer TO ZL_datum.
DATUM2 = ZL_DATUM.
Beide hier kurz vorgestellte Methoden sind im Formumsbeitrag "Convert float to date" unter https://archive.sap.com/discussions/thread/154147 ausführlicher beschrieben.
Umwandeln ATFLV in Datum durch lokale Felder in Query
Da wir uns bei der Verwendung obiger ABAP Coding nicht sicher waren, ob diese problemlos funktionieren haben wir eine dritte Variante genutzt in der das Feld ATFLP1 als Zusatzfeld im Infoset zur Verfügung gestellt wird und erst in der Query eine Umwandlung erfahren soll.
Hierzu erhält das Feld Datumsmerkmal auch die Kurzbezeichnung ATFLP1 in der Query. Dieses ist in der SQ01 in der Query zum Infoset über
- SPRINGEN
- FELDAUSWAHL
- FELDAUSWAHL
möglich indem über
- BEARBEITEN
- KURZBEZEICHNUNGEN
- EIN/AUSSCHALTEN
diese eingeschaltet werden und das Feld eine entsprechende Kurzbezeichnung erhält.
Nun ist es erforderlich über
- BEARBEITEN
- LOKALE FELD
- ANLEGEN
mehrere lokale Zusatzfelder mit Formeln und Bedingungen anzulegen.
Als erstes wird ein Feld angelegt, dass die Gleitpunktzahl in eine bearbeitbare Zahl verwandelt.
Dazu legen wir das Feld DATUM als Rechenfeld mit 9 Ziffern und 8 Dezimalstellen an.
Als Berechnungsvorschrift erhält es
ATFLV1/100000000
und als Bedingung
ATFLV1<>0
Damit haben wir nun statt
2,0180101000000000E+07
die Dezimalzahl
0,20180101
erhalten.
Mit dieser arbeiten wir nun weiter und legen für die Datumsbestandteile folgende lokale Felder an.
Das lokale Feld DATUMTXT erhält die Eigenschaften Textfeld mit 10 Zeichen.
und als Berechnungsvorschrift
DATUM
bei der Bedingung
DATUM<>0
Hierduch ist aus der Zahl ein String entstanden und dieser String kann wie im Artikel "Query Stammdatenvergleich Profit-Center und Auslesen von Textbestandteilen (Teilstring aus Variable)" ausgelesen werden.
Dieses nutzen wir für drei lokale Felder die Teile der Dezimalzahl verwenden um Jahr, Monat und Tag zu erhalten.
DATUMTXT[3:6]
bei der Bedingung DATUM <>0
Folgerichtig ist das Feld Monat ein Textfeld mit 2 Zeichen und der Formel DATUMTXT[7:8] bei Datum <> 0.
Abschliessend fehlt noch der Tag als Textfeld mit zwei Zeichen und der Formel DATUMTXT[9:10] ebenfalls bei DATUM <>0.
Aus Jahr Monat und Tag lässt sich das Datum zumindest als Zahl ausdrücken.
Hierzu wird das Feld DATUMZAHL als Textfeld mit 8 Zeichen definiert und bekommt folgende Formel JAHR * 10000 + MONAT * 100 + TAG bei DATUM <> 0
Im Ergebnis ist das Datum hier statt 0,20180101 als 20180101 hinterlegt.
Das spannende ist nun aber das Feld DATUMATFLV1 dieses ist als Datumsfeld definiert und hat folgende Formel DATUMZAHL bei Datum<>0.
Zur besseren Übersicht habe ich die einzelnen Felder noch einmal in folgender Tabelle aufgeführt.
| Feld | Format | Berechnungsvorschrift | Bedingung |
|---|---|---|---|
| ATFLV1 | Zusatzfeld aus Infoset entspricht AUSP-ATFLV | ||
| DATUM | Rechenfeld 9 Ziffern 8 Dezimalstellen |
ATFLV1/100000000 | ATFLV1<>0 |
| DATUMTXT | Textfeld 10 Zeichen |
DATUM | DATUM<>0 |
| JAHR | Textfeld 4 Zeichen |
DATUMTXT[3:6] | DATUM<>0 |
| MONAT | Textfeld 2 Zeichen |
DATUMTXT[7:8] | DATUM<>0 |
| TAG | Textfeld 2 Zeichen |
DATUMTXT[9:10] | DATUM<>0 |
| DATUMZAHL | Textfeld 8 Zeichen |
JAHR * 10000 + MONAT * 100 + TAG | DATUM<>0 |
| DATUMATFLV1 | Datumsfeld | DATUMZAHL | DATUM<>0 |
Damit ist das Feld ATFLV1 erfolgreich in ein Datum umgewandelt worden.
Der entsprechende Abschnitt der Query (inklusive der Hilfsfelder, die man sonst natürlich nicht mit in der Grundliste übernehmen würde sieht wie folgt aus:
| ATFLV1 | DATUM | DATUMTXT | JAHR | MONAT | TAG | DATUMZAHL | DATUMATFLV1 |
|---|---|---|---|---|---|---|---|
| 2,0180101000000000E+07 | 0,20180101 | 0.20180101 | 2018 | 01 | 01 | 20180101 | 01.01.2018 |
| 2,0170514000000000E+07 | 0,20170514 | 0.20170514 | 2017 | 05 | 14 | 20170514 | 14.05.2017 |
Im Ergebnis ist hier also tatsächlich ein korrekt beziehungsweise lesbares Datum aus den Feld entstanden. Somit können also auch Datumswerte innerhalb der Klassifizierung mit ausgewertet werden. Allerdings sind diese allerdings etwas umständlicher gespeichert. Dafür hat das Erarbeiten einer gemeinsamen Lösung tatsächlich Freude gemacht.
Glücklicherweise haben wir keine als Datum formatierten Merkmale, sonst würde das je Datumsfeld ein etwas umständliches Coding erfordern. Vermutlich würde ich mich dann auch eher mit den oben erwähnten Funktionsbaustein beschäftigen, aber so war dieses für ein einzelnes Datum auch eine praktische Übung beziehungsweise Herausforderung durch die Kollegen an einer anderen Hochschule.
Hinweis:
In der späteren Query bietet es sich dann allerdings tatsächlich an das Feld in der Grundliste mit der Option Feld nur ausgegeben wenn <>0 zu markieren. Andernfalls wird als Dautm 00.00.0000 ausgegeben.
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.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
21:30 Uhr
Grundlagen in Excel Verweisfunktionen SVERWEIS WVERWEIS und VERWEIS
Hierbei habe ich die drei Verweisfunktionen (SVERWEIS, WVERWEIS und VERWEIS) anhand eines kurzen Beispiels in Excel dargestellt.
Beispiel SVERWEIS
Die Funktion SVERWEIS sucht zeilenweise eine Matrix nach einen vorgegebenen Kriterium ab und liefert den Spaltenindex beim positiven Fund zurück.Hierbei kann das Suchkriterium in eine Zelle stehen auf die entsprechend Bezug genommen wird.
Nehmen wir einmal eine konkrete Tabelle als Beispiel in der Kostenartengruppen als Spalten und Kostenstellen als Zeilen hinterlegt sind.
Die Tabelle sieht nun wie folgt aus:

In gelb ist hier die Matrix (in unseren Fall die Datentabelle hervorgehoben) über die einzelnen Spalten der Tabelle ist der Spaltenindex hervorgehoben (die erste Spalte ist 1, die zweite Spalte 2 und so weiter). Bei der Verwendung von SVERWEIS kommt der ersten Spalte eine besondere Bedeutung zu, diese ist gleichzeitig das Suchkriterium über das per SVERWEIS eine Kontrolle erfolgt. Hier muss also das Suchkriterium stets am Anfang der Spalte stehen. Die Ausgabe erfolgt anhand des Spaltenindex welcher in Pfeilrichtung dargestellt ist. Konkret möchten wir nun also für die Kostenstelle 102 den aktuellen Saldo erhalten. Dazu verwenden wir nun die SVERWEIS Funktion wie in folgender Abbildung zu sehen.

Die Formel SVERWEIS ist wie folgt aufgebaut:
Als erstes Argument wird das Suchkriterium übergeben (in unseren Beispiel die Kostenstelle 102, danach folgt die Matrix welche durchsucht wird (unsere Datentabelle nach Kostenstellen und Kostenarten), der Spaltenindex um anzugeben welche Spalte ausgegeben wird und als Abschlussparameter FALSCH damit nur genaue Übereinstimmungen ausgegeben werden sollen.=SVERWEIS(Suchkriterium;Matrix;Spaltenindex;FALSCH)
Im Ergebnis haben wir hier also tatsächlich den Saldo in Höhe von 78,00 für die Kostenstelle 102.
Beispiel WVERWEIS
Was ist aber wenn unser Suchkriterium nicht am Anfang der Zeile sondern in der Spalte steht? Hier kann die Formel WVERWEIS verwendet werden in der die Matrix anhand des Zeilenindex ausgegeben wird. Als konkretes Beispiel haben wir wieder eine Tabelle mit Kostenstellen als Zeilen und den Saldo des entsprechenden Geschäftsjahres als Spalten.
Hier soll nun für die ein ausgewähltes Geschäftsjahr die einzelnen Werte der Kostenstellen ausgegeben werden. Das Ziel ist es zum Beispiel die einzelnen Salden für das Jahr 2015 auszugeben. Anhand des Geschäftsjahres ist auch schon ersichtlich, wann ich diese Dokumentation erstellt hatte ;-).
Die Formel ist dabei wie folgt aufgebaut:

Hier ist nun das Suchkriterium das Geschäftsjahr und jede Kostenstelle hat einen eigenen Index zur Ausgabe der im Geschäftsjahr relevanten Salden.
Technisch betrachtet lautet die Formel wie folgt:
Das Suchkriterium ist das in Zelle B22 angegebene Geschäftsjahr, die Matrix die Datentabelle und als Zeilenindex wird die Position (Zeile) der relevanten Kostenstelle angegeben. Selbstverständlich sollen im Controlling auch nur exakte Werte angegeben werden, daher ist abschliessend auch der Parameter FALSCH mit übergeben.=WVERWEIS(Suchkriterium;Matrix;Zeilenindex;FALSCH)
Beispiel VERWEIS
Was ist aber, wenn wir eine im Berichtswesen gar nicht so unübliche Tabelle mit einer Vielzahl von Spalten haben? Ist es hier tatsächlich erforderlich die einzelnen Zeilen oder Spalten abzuzählen nur um die relevanten Ergebnisse zu definieren?Wie nicht anders zu erwarten ist die Antwort auf die Frage eindeutig NEIN. Hier kann die Funktion VERWEIS genutzt werden durch die die durchsuchenden Werte und die Ergebnisse tatsächlcih voneinander getrennt sind. Zur Verdeutlichung auch wieder ein kurzes Beispiel.

Bei der Verweisfunktion sollen die einzelnen Kostenstellen nach den Suchkriterium durchsucht werden (diese werden als Suchvektor bezeichnet) und innerhalb der Budgetwerte die auf gleicher Position befindlichen Budgetwerte ausgegeben werden. Dabei können die Kostenstellen und die Budgetwerte an vollständigen unabhängigen Positioinen der Tabelle stehen (die Kostenstellen könnten sogar senkrecht und die Budgetwerte waagrecht hinterlegt sein) wichtig ist nur, dass der Suchvektor und Ergebnisvektor identisch viele Anzahl an Zellen in einer Richtung umfasst.
Die sehr übersichtliche Formel ist dann in folgender Abbildung abgebildet:

Die Formel lautet dabei technisch wie folgt:
Dabei ist das Suchkriterium in der Zelle A 40 die Kostenstelle 102 und als Suchvektor wird nun geschaut an welche Position diese Kostenstelle im Suchvektor auftaucht (es ist der dritte Wert) und im Ergebnis wird auch diese Position im Ergebnisvektor ausgegeben.=VERWEIS(Suchkriterium;Suchvektor;Ergebnisvektor)
Damit ist diese Funktion schon eine der flexibleren Funktionen (sofern man sich nicht mit INDEX auseinander setzen mag) und ermöglicht so ein schnelles Ergebnis.
Was aber wenn die Suche nicht erfolgreich war?
So schön die Funktion VERWEIS auch ist, hat diese doch einen erheblichen Nachteil gegenüber SVERWEIS und WVERWEIS, sofern das Suchkriterium nicht gefunden wird.Folgende Abbildung stellt das nicht vorhandene Ergebnis auf der Suche nach D in allen drei Formeln gegenüber.

Im Artikel "XVERWEIS statt SVERWEIS, WVERWEIS und INDEX VERGLEICH: Vorfreude!!!" erläutert Katharina Schwarzer (Soprani Software) :
Vielen Dank an dieser Stelle für den Hinweis."Der Unterschied ist vor allem beim Nicht-Finden – VERWEIS bringt nur dann #NV, wenn der Suchwert kleiner als der kleinste Wert im Suchvektor ist. Damit ist es für viele Verweise unbrauchbar, weil es sonst mit dem nächstkleineren matcht."
Fazit
Natürlich können diese Verweisfunktionen auch etwas komplizierter ausfallen. Im Artikel "Prüfung inwieweit ein Wert, bspw. eine Kostenstelle, innerhalb eines Intrevalls (Gruppe) liegt in Excel" hatte ich die Verweisfunktion genutzt ob ein Wert innerhalb eines vorgegebenen Intervall liegt. Im Artikel "SVERWEIS ohne NV und dynamische Größen für Datenbereiche" bin ich auf das Thema eingegangen welche Vorkehrung getroffen werden kann, wenn ein Wert nicht gefunden wird.Hinweis INDEX / VERGLEICH als Alternative
Wer sich nicht aus Nostalgiegründen an die Verweisfunktionen klammert kann aber auch die Funktionen INDEX / VERGLEICH nutzen die auch im Ergebnis bei Artur von excel-koenig.de im Artikel "5 Excel Formeln, die du kennen solltest" Anfang 2017 zusammengestellt worden sind.Hier kann ich unter anderen auf einen Artikel von Martin Weiß (tabellenexperte.de) zum Thema "Ein echtes Dream-Team: INDEX und VERGLEICH" hinweisen.
Im Artikel "Index und Vergleich statt SVERWEIS endlich verstanden und Suche über Verweis nur, wenn es auch etwas zu finden gibt" bin ich ebenfalls darauf eingegangen.
Praxisbeispiele Verweisfunktionen
Persönlich bin ich wieder auf die Entwurfsversion dieses Beitrag aufmerksam geworden nachdem ich die Zusammenstellung mehrere Artikel zu Verweisfunktionen von Gerhard Pundt von clevercalcul (siehe Beitrag "29 empfehlenswerte Artikel zu SVERWEIS / VLOOKUP" im Feedreader als ToRead gefunden hatte :-). Wobei ich gerade bemerke, dass er auch im Artikel "3 Verweisfunktionen von Excel, die du kennen solltest" praktische Anwendungsbeispiele für diese Funktionen findet.
Wie schon im Kommentar erwähnt empfinde ich die VERWEIS Funktion tatsächlich als flexibel, jedoch muss ich zugeben, dass der Vorteil, dass anhand der Formelnamens direkt klar ist, woran sich die Formel orientiert ebenfalls charmant. Insbesondere wenn die Formel auch noch mit Spalte() als Index genutzt wird.
Schnelleinstieg ins SAP®-Controlling (CO) – 2., erweiterte Auflage (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
21:38 Uhr
Neue Wertgrenze für Investitionen bei Finanzstatistik oder Abfrageparameter in SAP Query zur Übernahme von Werten aus Selektionsbild
Ausgangslage: Änderung Anforderungen Finanzstatistik für Wertgrenze bei Investitionen
Im Rahmen eines Finanzberichtes werden die Investitionsausgaben über Sachkonten in bestimmte Kontengruppe unterteilt. Dabei gibt es für die Investitionsausgaben eine Aufteilung in vier Spalten (oder auch Gruppen). Laut Kontierungsplan sind dabei die zugeordneten Konten so gestaltet, dass diese eine Wertgrenze von bis 5.000 und ab 5.000 seitens der Finanzbuchhaltung zugeordnet bekommen haben.Nun sollen jedoch die sonstigen Investitionsausgaben unterschieden werden in Investitionsausgaben mit einem Anschaffungswert bis 1.000 Euro und solche mit einem Anschaffungswert über 1.000 Euro. Dieses ist jedoch über die reinen Sachkonten nicht möglich, so dass hier eine entsprechende Korrektur im Finanzberichts auf Basis der Einzelposten erfolgen müssen.
In der Gruppe Investitionen bis 1.000 Euro sind durch die Vorgaben der Finanzbuchhaltung (Stichwort Kontierungsrichtlinie oder Kontierungshandbuch) einzelne Sachkonten bis 5.000 Euro zugeordnet (bspw. Lizensen bis 5.000 Euro) und in der Gruppe "Investitionsausgaben mit einen Anschaffungswert über 1.000 Euro" sind nur die Konten hinterlegt die ab 5.000 Euro vorgesehen sind (bspw. Lizensen ab 5.000 Euro).
Entsprechend muss hier tatsächlich anhand der Einzelbelege die Werthöhe betrachtet werden.
Die identifizierten Werte müssen also anhand der Werthöhe gegebenenfalls umgebucht werden. Der fachliche Hintergrund dieser Auswertung bzw. die Anforderungen sind auch im Artikel "Pivottabellen ab Excel 2010 dynamischer filtern mit Datenschnitten am Beispiel Hochschulfinanzstatistik" näher erläutert worden.
Nun stellt sich die Frage, wie diese Werte ausgewertet und eine entsprechende Korrekturbuchung ermöglicht werden könnte. Die Auswertung erfolgt für die Jahressicht durch eine Plankopie, so dass hier ein Planwert auf Profit-Center und Kostenart erfolgt.
Das Thema Auswertung von Investitionen habe ich in den Artikeln "Zusammenfassung Query über Anlagenzugang - Auswertung Investitionen aus Profit-Center-Rechnung" sowohl aus der Profit-Center-Rechnung als auch aus der Anlagenbuchhaltung beschrieben. 2008 hatte ich im Artikel "Kurzanleitung Anlage einer SAP Query Auswertung ANBWA in der Profit-Center-Rechnung über ANBW und GLPCA" schon die Möglichkeit über die Tabelle GLPCA beschrieben. Über die Zuordnung von Tabellen und Identiifikation mag ich daher nicht weiter eingehen.
Für einen Quartalsbericht werden die Anlagenzugänge über die gesamte Einrichtung über die Transaktion S_ALR_87012050 (Anlagenzugänge) im SAP Menü unter
- Rechnungswesen
- Finanzwesen
- Anlagen
- Infosystem
- Berichte zur Anlagenbuchhaltung
- Tagesgeschäft
- International
- Anlagenzugänge (S_ALR_87012050)
Nach ein wenig Diskussion mit Kolleginnen und Kollegen haben wir im Ergebnis dann eine Auswertung anhand der Tabelle GLPCA und einer Übergabe eines Abfrageparameters gefunden.
Die gefundene Lösung mag ich nun hier beschreiben, da diese Anforderung ein schönes Beispiel für die Verwendung von Parametern innerhalb SAP Query ist.
Infoset anlegen zur Auswertung der Profit-Center-Einzelposten
Im Artikel "Kurzanleitung Anlage einer SAP Query Auswertung ANBWA in der Profit-Center-Rechnung über ANBW und GLPCA" hatte ich noch einen Join über die Tabellen GLPCA und TABWT erstellt um zur Anlagenbewegungsart auch direkt den Text dazu zu erhalten. Mittlerweile hat sich aber gezeigt dass in der Grundliste der Query unter Zusatzfelder das Feld "Text:Analagen-Bewgungsart" ( TEXT_GLPCA_ANBWA ) vorhanden ist und so eine Verknüpfung beider Tabellen nicht erforderlich ist.Daher wurde als Datenquelle die Option Direktes Lesen der Tabelle GLPCA gewählt und alle Felder ins Infoset übernommen. Nun wollen wir aber beim Auswerten der Einzelposten der Query anhand unserer Selektion überprüfen, ob eine Umbuchung für die Selektierten Konten erforderlich ist. Dazu möchten wir im Selektionsfeld mit übergeben, welche Konten wir auswerten wollen (über einen dreistelligen SYF-Code (Systemfinanzierungscode) und über diesen dann anhand des Buchungswertes überprüfen ob hier eine Korrektur erforderlich ist.
Zusatzfeldern beim Aufruf einer Query mit Wert versehen
Hierzu sind zwei Schritte erforderlich. Zum einen muss der Wert in der Selektionsmaske mit übergeben werden und zum anderen muss dieser Wert später in einem Zusatzfeld dann in der Query auch verarbeitet werden.Zwar ist bei Zusatzfeldern ohne Probleme möglich weitere Informationen aus Datenbanken anhand der ausgewerteten Daten zu erlangen (siehe zum Beispiel "Query über IBAN und Stammdaten Kreditor oder Debitor (Zusatztabellen in SAP Query)" oder auch "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") aber es ist nicht möglich diese Zusatzfelder als Selektionskriterium für eine Wertübergabe zu verwenden.
Abgrenzungen im Infoset Unterschied Parameter und Selektion
Dieses ist allerdings in der Definition der Query über die Schaltfläche "Zusätze" und hier im Register Abgrenzungen möglich.Über die Schaltfläche anlegen kann nun eine Abgrenzung als Selektionskriterium oder Parameter angelegt werden.
Der Unterschied ist, dass beim Parameter nur ein einzelner Wert während beim Selektionskriterium auch mehrere Werte oder ganze Intervalle hinterlegt werden können.
Für unseren Fall entscheiden wir uns für einen Parameter ZP_SYF da wir ja nur einen Einzelwert (die auszuwertenden SYF Codes hinterlegen wollen).
Als Bedeutung und Selektionstext legen wir "SyfCode Auswertung (Variante)" fest und als Format Typ C (Character) mit einer Länge von 3.
Die Option als Default auf Selektionsbild lassen wir deaktiviert, da diese Abgrenzung nur genutzt werden soll, wenn wir auch mit der Query arbeiten wollen. Somit würde sich hier eine Abgrenzung also auch eignen um in einer Selektionsvartiante noch einen bestimmten HInweis zu hinterlegen der gar nicht weiter beachtet werden soll.
Verwendung der Abgrenzung (Parameter) im Zusatzfeld
Nachdem die Abgrenzung angelegt ist stellt sich noch die Frage, wie mit dieser später in der Query gearbeitet werden kann. Hierzu legen wir im Register Zusätze ein Zusatzfeld an.Dieses Zusatzfeld bekommt die Bezeichnung ZSEL_SYF und als Langtext und Überschrift den Hinweis "Syf Code Auswahl" . Ferner erhält es ebenfalls das Format C und die Länge 3.
Ergänzend erhält es aber über die Taste "Coding zum Feld" noch folgendes Coding
CLEAR ZSEL_SYF.
ZSEL_SYF = ZP_SYF.
Damit wird in der ersten Zeile das Zusatzfeld geleert um es in der zweiten Zeile mit den Wert aus dem Selektionsfeld versehen zu werden.
Dieses Zusatzfeld kann über die Schaltfläche Feldgruppen in eine eigene Feldgruppe übernommen werden.
Zusammenfassung Abgrenzung und Zusatzfelder:
Die Selektionsmaske der späteren Query erhält also den Abgrenzungsparameter und die Query kann später auf das Zusatzfeld zugreifen und damit arbeiten.
Man könnte diese Zusatzfeld-Abgrenzungparameter Kombination mit einen Abfrageparameter in Access für eine Abfrage vergleichen wo dann ebenfalls zur Laufzeit eine Auswertung erfolgen wird.
Nachdem wir nun alle Felder der Tabelle GLPCA sowie das Zusatzfeld in das Infoset übernommen haben kann das Infoset generiert werden.
Das Zusatzfeld haben wir dabei direkt in eine eigene Feldgruppe Zusatzfelder angelegt.
Query anlegen und mit lokalen Zusatzfeldern und Abfrageparametern arbeiten
Bei der Anlage der Query zum eben angelegten Infoset, welche in der gleichen Benutzergruppe zugeordnet sein sollten, springen wir im Menü über- SPRINGEN
- FELDAUSWAHL
- FELDAUSWAHL
- BEARBEITEN
- KURZBEZEICHNUNGEN
- Ein/ausschalten
In unserer Feldgruppe EC-PCA: Ist-Einzelposten (die Tabelle GLPCA) geben wir folgenden Werten eine eigene Kurzbezeichnung.
- Kontonummer: = KONTO
- Betrag in Profit-Center-Hauswährung = BETRAG
Und in der Feldgruppe (Sachgruppe) Zusatzfelder geben wir unseren Zusatzfeld ebenfalls eine Kurzbezeichnung zu:
- Syf Code Auswahl = SEL_SYF
Dazu legen wir zwei lokale Felder an um die Buchung anhand der Werthöhe ggf. anderen SYF Code zuzuweisen.
Dieses ist im Menü über
- BEARBEITEN
- LOKALES FELD
- ANLEGEN
1. Lokales Feld SYF (Wertgrenze)
Das erste Feld erhält die Bezeichnung Kurzbezeichnung SYF und folgende EigenschaftenFeldbezeichnung / Überschrift:
SyF-Code Finanzstatistik
gleiche Eigenschaften wie Feld
SEL_SYF (also unser Zusatzfeld)
Als Berechnungsvorschrift kann nun eine komplexe Berechnung eingefügt werden.
1. BEDINGUNG
(BETRAG < -1000 OR BETRAG > 1000) AND SEL_SYF <> '561'
Formel
'565'
Hintergrund ist, dass nur die SYF Code 562 und 563 eine Wertgrenzenunterscheidung haben. Wenn der Wert 1.000 Euro übersteigt soll der SYF Code 565 genommen werden.
2. BEDINGUNG
SEL_SYF = 565 AND BETRAG <= 1000 AND BETRAG >= -1000
Formel
'563'
Sollte innerhalb der Auswertung zu 565 ein Betrag unter kleiner als 1000 liegen ist eine Korrektur von 565 nach 563 erforderlich.
SONST
SEL_SYF
Sofern keine der oberen Bedingungen erfüllt ist (also die Wertgrenze nicht greift) kann der übergebene Selektionsparameter als Wert für die Buchung beibehalten werden.
2. lokales Feld CHK_SYF (Ampel)
Als nächstes wird das lokale Feld CHK_SYF mit Feldbezeichnung / ÜberschriftCHK SyfCode
angelegt.
Als Eigenschaften soll hier IKONE gewählt werden.
Die komplexe Berechnungsvorschrift lautet einfach:
BEDINGUNG
SEL_SYF = SYF
Formel
ICON_GREEN_LIGHT
SONST
ICON_RED_LIGHT
Nun kann über die Schaltfläche Grundliste mit den einzelnen Feldern gearbeitet werden.
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:
Tabelle GLPCA "EC-PCA: Ist-Einzelposten"
Geschäftsjahr (L,S) GLPCA-RYEAR
Konto (L,S) GLPCA-RACCT
Belegnummer (L) GLPCA-DOCNR
Soll Haben Kennzeichen (L) GLPCA-DRCRK
Profit-Center (L) GLPCA-RPRCTR
Betrag in Profit-Center-Hauswährung (L) GLPCA-KSL
Wenn nur eine Währung im SAP System verwendet wird kann es hier sinnvoll sein die Option kein Währungsfeld zu aktivieren.
Buchungsdatum (L) GLPCA-BUDAT
Anlage-Hauptnummer (L) GLPCA-ANLN1
Anlagenunernummer (L) GLPCA-ANLN2
Anlagen Bewegungsart (L,S) GLPCA-ANBWA
Zusatzfelder
Text:Anlagen-Bewegungsart (L) TEXT_GLPCA_ANBWA
Syf Code Auswahl (L) ZSEL_SYF
Dieses Feld muss tatsächlich nicht als Selektionsfeld markiert werden, da die Selektion ja über den Abgrenzungsparameter erfolgt und keine Abfrage nach ZSEL_SYF erfolgen soll sondern dieses Feld beim Start der Query mit einen Wert versehen wird.
Lokale Zusatzfelder
Nun werden die einzelnen lokalen Zusatzfelder noch übernommen:
SyF-Code Finanzstatistik (L)
CHK Syfcode (L)
Letzteres Feld ist unsere Ampel.
in der Query kann nun das Feld CHK Syfcode auf die Werkzeugleiste SORTIERFELDER gezogen werden (hierbei nicht über die Spaltenüberschrift sondern durch Ziehen aus den Beispieldatensatz.
Die Sortierung kann dann noch absteigend markiert sein und wir erhalten für jede Auswertung nach den einzelnen SYF Codes auch direkt einen Hinweis darauf welche Belege umgebucht werden müssen.
Fazit Anwendbarkeit von Abgrenzungen als Parameter für SAP Query
Mit der Query ist nun eine Auswertung möglich in der durch eine Ampel direkt erkannt werdne kann, welche Korrekturbuchungen für die Statistik in der CO Planversion notwendig sind.Daneben können aber Abgrenzungen als Parameter auch für viele weitere dynamische Anwendungen innerhalb einer Query verwandt werden. Ein Beispiel wurde ja schon genannt um hier als Beispiel einen Stundenlohn zu übergeben um eine Anzahl an bestimmter Personen anhand der Personalkosten zu ermitteln. Ein weiteres Beispiel könnten aber auch Zuschlagssätze sein oder Rechenoperatoren die innerhalb der Query dynamisch gesetzt werden können.
Hier empfinde ich die Möglichkeiten als ähnlich weit gehend wie das Coding innerhalb der Zusatzfelder, wobei beides ja eigentlich auch zusammen gehört. Insgesamt hat das gemeinsame Arbeiten an einer Lösung zur Beachtung einer neuen Wertgrenze aus einer Anforderung einer Finanzstatistik sehr viel Freude gemacht und ein weiteres Anwendungsgebiet und Möglichkeit innerhalb der SAP Query erschlossen.
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.
Abschlussarbeiten im SAP S/4HANA Controlling (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt


Keine Kommentare - Permalink - SAP