Ansicht
Dokumentation

AAIR0001 - IM-IS: User-Wertfelder im MAnf-Reporting

AAIR0001 - IM-IS: User-Wertfelder im MAnf-Reporting

BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Hintergrund

Die Erweiterung AAIR001 entspricht der Funktionalität der Erweiterung AAIP0002 für Rechercheberichte, die Maßnahmenanforderungen nicht über ein Investitionsprogramm auswerten.

Diese Berichte können zum Beispiel über die Transaktion IMD0 gestartet werden und lassen sich der F4-Hilfe zu dieser Transaktion entnehmen.

Im Standardreporting für Maßnahmenanforderungen werden im wesentlichen Budget-, Plan- und Verfügtwerte ausgewiesen. Ebenfalls können eigene Recherchen definiert werden, in denen rechnerische Kombinationen der genannten Grundwertfelder definiert sind.

Sollen darüber hinaus im Reporting Wertfelder ausgewiesen werden, die durch die oben genannten Funktionen nicht abgedeckt sind, müssen diese Wertfelder mit Hilfe der SAP-Erweiterung AAIR0001 realisiert werden.

Aktivierung und Programmierung der SAP-Erweiterung AAIR0001

Bitte gehen Sie wie folgt vor.

  1. Definieren Sie Namen (= Festwerte) und Kurzbezeichnungen für die gewünschten Benutzerwertfelder.
Pflegen Sie hierzu die Festwerte der Domäne IM_USERVAL im Data Dictionary (Transaktion SE11). Legen Sie für jedes Benutzerwertfeld ein maximal 4-stelliges Kürzel sowie eine Kurzbeschreibung fest.
  1. Nehmen Sie die SAP-Erweiterung AAIR0001 in ein Erweiterungsprojekt auf (beliebiger Schlüssel).
Benutzen Sie hierfür die Funktion Projektverwaltung von SAP-Erweiterungen (Transaktion CMOD).
  1. Legen Sie das ABAP-Programm ZXAIRU01 als Includeprogramm an.
  2. Programmieren Sie im Programm ZXAIRU01 die Versorgung der benutzerdefinierten Wertfelder.
Das Coding dieses Includes wird je Maßnahmenanforderung, zugeordneter Variante und Maßnahme genau einmal durchlaufen.
  1. Generieren Sie das Programm SAPLXAIR.

Nach diesen Vorbereitungen können Sie eigene Recherecheberichte definieren, die das neue Benutzerwertfeld auswerten: Definieren Sie hierzu bitte Formulare, in denen auch das Merkmal "ID für Userwertfeld" in den entsprechenden Zellen festgelegt ist.

Parameter

Im Programm ZXAIR01 stehen Ihnen folgende Parameter zur Verfügung:

  • Objektart I_OBART.
Die Objektart beschreibt, welches Objekt gerade bearbeitet wird:
  • IQ = Maßnahmenanforderung

  • IO = zugeordnete Variante

  • OR = zugeordneter Auftrag

  • PR = zugeordnetes PSP-Eelement

  • Feld I_POSNR
Das Feld enthält die Nummer der aktuell bearbeiteten Maßnahmenanforderung.
  • Feld I_VARNT
Das Feld enthält die Nummer der aktuell bearbeiteten Variante (jedoch nur wenn I_OBART = IO).
  • Feldleiste I_AUFKV
Der Satz hat die Struktur der Dictionary-Tabelle AUFKV.
Er beinhaltet Felder zu dem aktuellen Auftrag (jedoch nur, wenn I_OBART = OR).
  • Feldleiste I_PRPS
Der Satz hat die Struktur der Dictionary-Tabelle PRPS.
Er beinhaltet Felder zu dem aktuellen PSP-Element (jedoch nur, wenn I_OBART = PR).
  • Tabelle I_RAIMACT.
Die Sätze der Tabelle haben die Struktur der Dictionary-Struktur RAIMACT.
Die Tabelle enthält die (verdichteten) Istwerte (jedoch nur, wenn I_OBART = OR oder I_OBART = PR).
Die Felder eines Satzes von T_RAIMACT haben folgende Bedeutung:
  • OBJNR = CO-Objektnummer

  • ABRKZ = Abrechnungskennzeichen

00 - noch nicht abgerechneter Istwert
01 - abgerechnet an Anlage
02 - abgerechnet an Kostenstelle
  • IPPOS = Budgetart

  • WRTTP = Werttyp

  • KSTAR = Kostenart

  • GJAHR = Geschäftsjahr

  • WKG = Betrag in Kostenrechnungskreiswährung

  • Tabelle I_BPGE
Die Sätze der Tabelle haben die Struktur der Dictionary-Tabelle BPGE.
Die Tabelle enthält die (verdichteten) Budgetgesamtwerte. Die Felder eines Satzes von T_BPGE haben folgende Bedeutung (Auszug):
  • OBJNR = CO-Objektnummer (für Maßnahme bzw. Variante der Anforderung)

  • WRTTP = Werttyp

01 = Plan (Maßnahme)
41 = Budget (Maßnahme)
39 = Plan (Maßnahmenanforderung)
  • VORGA = Vorgang (Orginal, Nachtrag, Rückgabe, ... )

  • WLGES = Wert in Kostenrechnungskreiswährung

  • Tabelle I_BPJA
Die Sätze der Tabelle haben die Struktur der Dictionary-Tabelle BPJA.
Die Tabelle enthält die (verdichteten) Budgetjahreswerte. Die Bedeutung der Felder der Tabelle I_BPJA sind denen der Tabelle I_BPGE völlig analog. Unterschiede: zusätzlich kommt noch das Feld
GJAHR = Geschäftsjahr
hinzu und die Wertfeld heißt etwas anders:
WLJHR = Wert in Kostenrechnungskreiswährung
  • Tabelle I_BPCOSU
Die Sätze der Tabelle haben die Struktur der Dictionary-Tabelle BPCOSU. Die Tabelle enthält die Summe der additiven Planwerte aus der Kostenartenplanung auf den Maßnahmen (jedoch nur, wenn I_OBART = OR oder I_OBART = PR).
Die Bedeutung der Felder der Tabelle I_BPCOSU sind denen der Tabelle I_BPJA völlig analog. Der Werttyp ist hier nicht enthalten, da es sich stets um den Typ 01 (Plan auf Maßnahmen) handelt. Werte zum Geschäftsjahr 0000 sind Gesamtwerte.
Das Wertfeld lautet in der Tabelle I_BPCOSU:
COSUM = Wert in Kostenrechnungskreiswährung.
  • Tabelle E_RIPASW
Die Sätze der Tabelle haben die Struktur der Dictionary-Struktur RIPASW.
Diese Tabelle muß mit den Benutzerwertfeldern gefüllt werden!
Füllen Sie daher die Felder bitte wie folgt:
  • USERVAL = 4-stelliges Kürzel des Benutzerwertfeldes (defin. Festwert)

  • GJAHR = Geschäftsjahr

  • WERT = Wert

Beispiel 1

Wir nehmen an, daß wir uns besonders für den Teil der Verfügtwerte interessieren, der bereits ins Anlagevermögen abgerechnet wurde.

Wir definieren daher zunächst in den Festwerten der Domäne IM_USERVAL einen Wert FXAV. Sodann legen wir das Include ZXAIRU01 mit folgendem Coding an:

*--------------------------------------------------------------------*
*   INCLUDE ZXAIRU01                                                 *
*--------------------------------------------------------------------*

IF I_OBART EQ 'OR' OR I_OBART EQ 'PR'. " Only for measures

REFRESH E_RIPASW.

LOOP AT I_RAIMACT
  WHERE ABRKZ EQ '01'.                 " Setteled to FXA ...
  CLEAR E_RIPASW.                      " ... to be shown ...
  E_RIPASW-USERVAL = 'FXAV'.           " ... as USER-values.
  E_RIPASW-GJAHR = I_RAIMACT-GJAHR.    " Fiscal year.
  E_RIPASW-WERT  = 0 - I_RAIMACT-WKG.  " Setteled value ...
  COLLECT E_RIPASW.                    " ... = year value
  E_RIPASW-GJAHR = '0000'.             "
  COLLECT E_RIPASW.                    " ... as well as overall value.
ENDLOOP.

ENDIF.
*---------------------------------------------------------------------*

Bitte beachten Sie folgende wichtige Besonderheit, die in diesem Beispiel verdeutlicht wird: Plan- und Budgetwerte liegen stets entweder als Jahres- oder als Gesamtwerte vor. Um Istwerte sowohl mit Jahres- als auch mit Gesamtwerten vergleichbar zu machen muß aus technischen Gründen in Tabelle E_RIPASW sowohl ein Eintrag mit dem zugehörigen Geschäftsjahr als auch ein geschäftsjahresunabhängiger Eintrag (GJAHR = 0000) erzeugt werden!

Beispiel 2

Der User-Exit kann auch dazu verwendet werden, bestimmte Kostenarten aus den Istwerten des IM-Reporting zu "stornieren". Dies kann z.B. dann sinnvoll sein, wenn gar keine "echten" Abrechnungen der Maßnahmen in das Anlagevermögen oder auf Kostenstellen stattfinden, sondern die Istwerte der Maßnahmen nur durch gewöhnliche Entlastungen reduziert werden. In diesem Falle müssten die Kostenarten, mit denen die Entlastungen stattfinden, aus den Istwerten im Reporting storniert werden.

Wir definieren daher zunächst in den Festwerten der Domäne IM_USERVAL einen Wert STOR für die Stornosätze.

Ist z.B. "Entlastungskostenart" = 699999, so müsste daß Stornieren dieser Kostenart im Include ZXAIRU01 wie folgt programmiert werden:

*--------------------------------------------------------------------*
*   INCLUDE ZXAIRU01                                                 *
*--------------------------------------------------------------------*

IF I_OBART EQ 'OR' OR I_OBART EQ 'PR'. "only for measures

LOOP AT I_RAIMACT
     WHERE KSTAR EQ '0000699999'.
  CLEAR E_RIPASW.
  E_RIPASW-USERVAL = 'STOR'.            "as USER-value
  E_RIPASW-WRTTP   = I_RAIMACT-WRTTP.   "...with the same WRTTP
  E_RIPASW-GJAHR   = I_RAIMACT-GJAHR.   "...and the same fiscal year
  E_RIPASW-WERT    = 0 - I_RAIMACT-WKG. "...but negativ value
  APPEND E_RIPASW.
ENDLOOP.

ENDIF.
*--------------------------------------------------------------------*

Bitte beachten Sie, daß anders als im ersten Beispiel nun auch das Feld E_RIPASW-WRTTP mit einem Wert versehen wurde.

Dadurch wirkt sich diese Änderung in allen vordefinierten Standardberichten bei der Anzeige der Verfügtwerte aus. Eine Definition eigener Berichte, die das Userwertfeld interpretieren, kann daher entfallen.






ROGBILLS - Synchronize billing plans   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 13299 Date: 20240419 Time: 020310     sap01-206 ( 84 ms )