15:00 Uhr
Weitere Zusatzfelder im Infoset mit ABAP Coding zur Verwendung in SAP Query über die Tabellen AUFK und FMFINCODE
Das grundsätzliche Infoset zur Auswertung von Innenaufträgen ist in folgender Darstellung bereits im entsprechenden Artikel erläutert.
Neben den schon erwähnten Feld Finanzierungszweck aus den Stammdaten des Fonds sind auch weitere Felder noch über ein Zusatzfeld und dahinter liegenden Coding zu ermitteln.
Alle hier aufgeführten Coding befinden sich im Codeabschnitt 1. Für die Merkmale der Klassifizierung ist der Codeabschnitt 3 verwendet worden und wird im Artikel "SAP Query - Auswertung Merkmale der Klassifizierung am Beispiel Fonds in PSM-FM".
In den Folgenden Beispielen wird davon ausgegangen dass sich die PSM-FM Stammdaten alle im Finanzkreis FIK befinden.
Die einzelnen Zusatzfelder werden als erstes mit ihren Verweis auf die Eigenschaften des jeweilige Tabellenfeld definiert. Danach folgt eingerückt das zugehörige ABAP-Coding zum Zusatzfeld.
Zusatzfeld: Ist ein Fond zum Innennauftrag vorhanden?
Es wird das Zusatzfeld FONDS angelegt um in der Tabelle FMFINCODE nach einen mit identischer Nummer zum Innenauftrag angelegten Fond im Modul PSM-FM zu suchen.FONDS like FMFINCODE-FINCODE.
Das entsprechende Coding zum Zusatzfeld sieht wie folgt aus:
DATA: l_fincode TYPE FMFINCODE-FINCODE.
DATA: l_aufnr TYPE aufk-aufnr.
l_aufnr = aufk-aufnr.
SHIFT l_aufnr BY 4 PLACES LEFT.
l_fincode = l_aufnr.
SELECT SINGLE FINCODE FROM FMFINCODE INTO l_fincode
WHERE fikrs = 'FIK'
AND FINCODE = l_fincode.
IF sy-subrc <> 0.
CLEAR fonds.
ELSE.
fonds = l_fincode.
ENDIF.
Zusatzfeld: Bezeichnung des Fond
Sofern ein passender Fond gefunden wurde soll auch die Bezeichnung des Fond mit ausgewertet werden. Hierzu soll das Feld BEZEICH aus der Tabelle FMFINT ausgewertet werden.
BEZEICHNUNG Like FMFINT-BEZEICH
Das entsprechende Coding sieht dabei wie folgt aus:
DATA: l_bezeich TYPE fmfint-bezeich.
DATA: l_fincodebezeichnung Type FMFINCODE-FINCODE.
DATA: l_aufnrbezeichnung TYPE aufk-aufnr.
l_aufnrbezeichnung = aufk-aufnr.
SHIFT l_aufnrbezeichnung BY 4 PLACES LEFT.
l_fincodebezeichnung = l_aufnrbezeichnung.
SELECT SINGLE bezeich FROM fmfint INTO l_bezeich
WHERE fikrs = 'FIK'
AND fincode = l_fincodebezeichnung.
IF sy-subrc <> 0.
CLEAR bezeichnung.
ELSE.
bezeichnung = l_bezeich.
ENDIF.
Zusatzfeld: Gültigkeit des Fond
Neben Arbeitsbeginn und Arbeitsende soll auch die Gültigkeit des Fonds ausgewertet werden.
Hierzu sollen die beiden Felder DATAB und DATBIS der Tabelle FMFINCODE ausgewertet werden. Entsprechend sind hier zwei Zusatzfelder angelegt worden.
DATUM_AB Like FMFINCODE-datab
Das entsprechende Coding lautet:
DATA: l_datab TYPE FMFINCODE-datab.
DATA: l_fincodedatab Type FMFINCODE-FINCODE.
DATA: l_aufnrdatab TYPE aufk-aufnr.
l_aufnrdatab = aufk-aufnr.
SHIFT l_aufnrdatab BY 4 PLACES LEFT.
l_fincodedatab = l_aufnrdatab.
SELECT SINGLE datab FROM FMFINCODE INTO l_datab
WHERE fikrs = 'FIK'
AND FINCODE = l_fincodedatab.
IF sy-subrc <> 0.
CLEAR datum_ab.
ELSE.
datum_ab = l_datab.
ENDIF.
DATUM_BIS Like FMFINCODE-datbis
Das entsprechende Coding lautet:
DATA: l_datbis TYPE FMFINCODE-datbis.
DATA: l_fincodedatbis Type FMFINCODE-FINCODE.
DATA: l_aufnrdatbis TYPE aufk-aufnr.
l_aufnrdatbis = aufk-aufnr.
SHIFT l_aufnrdatbis BY 4 PLACES LEFT.
l_fincodedatbis = l_aufnrdatbis.
SELECT SINGLE datbis FROM FMFINCODE INTO l_datbis
WHERE fikrs = 'FIK'
AND FINCODE = l_fincodedatbis.
IF sy-subrc <> 0.
CLEAR datum_bis.
ELSE.
datum_bis = l_datbis.
ENDIF.
Zusatzfeld: Fondsart
Innerhalb des Haushaltsmanagement können einzelne Fonds einer Fondart zugewiesen werden, die dann für Reportingzwecke verwendet werden können.
Hierzu soll das Tabellenfeld TYPE in der Tabelle FMFINCODE ausgewertet werden.
FONDSART Like FMFINCODE-TYPE
Das Coding lautet dabei wie folgt:
DATA: l_type TYPE FMFINCODE-TYPE.
DATA: l_fincodefondsart Type FMFINCODE-FINCODE.
DATA: l_aufnrfondsart TYPE aufk-aufnr.
l_aufnrfondsart = aufk-aufnr.
SHIFT l_aufnrfondsart BY 4 PLACES LEFT.
l_fincodefondsart = l_aufnrfondsart.
SELECT SINGLE type FROM FMFINCODE INTO l_type
WHERE fikrs = 'FIK'
AND FINCODE = l_fincodefondsart.
IF sy-subrc <> 0.
CLEAR fondsart.
ELSE.
fondsart = l_type.
ENDIF.
Zusatzfeld: Budgetprofil
Über das Budegtprofil lassen sich verschiedene Budgetsteuerungen (bspw. Unterscheidung Jahresbudget, Gesamtbudget oder auch Zeithorizonte) festlegen. Die Customizing-Einstellungen sind im Artikel "Budgetprofil klassische Budgetierung" und die Budgetierung an sich im Artikel "SAP PSM-FM klassische Budgetierung mit unterschiedlichen Budgetversionen" näher vorgestellt. Innerhalb des Infosets soll jedoch nur das zugeordnete Budgetprofil zum jeweiligen Fond mit ausgegeben werden. Dieses ist im Tabellenfeld PROFIL der Tabelle FMFINCODE gespeichert.Entsprechend wurde folgendes Zusatzfeld angelegt:
BUDGETPROFIL Like FMFINCODE-PROFIL
Das dahinter liegende Coding hat dabei folgenden Aufbau:
Soweit wären hier alle relevanten Stammdaten der Transaktion FM5S (Fond anzeigen) aufgeführt. Eine Erweiterung der Stammdaten um einzelne Merkmale der Klassifizierung ist im Artikel "SAP Query - Auswertung Merkmale der Klassifizierung am Beispiel Fonds in PSM-FM" ausführlich beschrieben. Hier sind die einzelnen Zusatzfelder (für die Merkmale der Klassifizierung innerhalb des Abschnit 3 zu hinterlegen, da diese sich auf das Zusatzfeld OBJNFOND im Abschnitt 2 bezieht.DATA: l_profil TYPE FMFINCODE-PROFIL.
DATA: l_fincodebudgetprofil TYPE FMFINCODE-FINCODE.
DATA: l_aufnrbudgetprofil TYPE aufk-aufnr.
l_aufnrbudgetprofil = aufk-aufnr.
SHIFT l_aufnrbudgetprofil BY 4 PLACES LEFT.
l_fincodebudgetprofil = l_aufnrbudgetprofil.
SELECT SINGLE profil FROM FMFINCODE INTO l_profil
WHERE fikrs = 'FIK'
AND FINCODE = l_fincodebudgetprofil.
IF sy-subrc <> 0.
CLEAR budgetprofil.
ELSE.
budgetprofil = l_profil.
ENDIF.
OBJNFOND like AUSP-OBJEK
Die einzelnen Merkmale aus der Tabelle AUSP müssen dann jedoch noch über die Tabelle CABN anhand des Felds ATINN ausgewertet werden. Dieses ist aber im entsprechenden Artikel wesentlich ausführlivher erläutert.CONCATENATE 'FIK ' FONDS INTO OBJNFOND RESPECTING BLANKS.
Hinweis: Query Stammdaten CO Innenauftrag PSM-FM Fond
Dieser Artikel ist Teil einer Serie um Stammdaten von CO Innenaufträgen und PSM-FM Fonds miteinander zu verknüpfen.- "SAP Query ABAP Coding im Zusatzfeld für Verknüpfung Innenauftrag und Fond bzw. Finanzierungszweck oder auch Status GESPERRT bei Innenaufträgen"
- "Query über verantwortliche Kostenstelle des Innenauftrag - Bestimmung der Lehreinheit im Fachbereich durch Teil der Kostenstellennummer"
- "SAP Query - Auswertung Merkmale der Klassifizierung am Beispiel Fonds in PSM-FM"
- "Weitere Zusatzfelder im Infoset mit ABAP Coding zur Verwendung in SAP Query über die Tabellen AUFK und FMFINCODE"
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.
ein Angebot von Espresso Tutorials
unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Weitere Zusatzfelder im Infoset mit ABAP Coding zur Verwendung in SAP Query über die Tabellen AUFK und FMFINCODE« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 19.12.2014, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=580 (Abgerufen am 5.12.2024)
Keine Kommentare - Permalink - SAP
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Twitter 🌎 LinkedIn