Ansicht
Dokumentation

RKE_CHACO_PAOBJNR_1 - Umsetzen Ergebnisobjekte in Sendertabellen

RKE_CHACO_PAOBJNR_1 - Umsetzen Ergebnisobjekte in Sendertabellen

TXBHW - Original Tax Base Amount in Local Currency   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ACHTUNG: Dieses Programm sollte nur nach Absprache mit der CO-PA-Entwicklung verwendet werden. Es ist sicherzustellen, dass vor dem Einsatz des Programms in einem Produktivsystem eine Datensicherung des gesamtem Systems erstellt worden ist.

Verwendung

Dieses Programm kann zum Einsatz kommen, falls aufgrund von Änderungen in der Organisationsstruktur eines Unternehmens die Zuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen geändert werden soll.

Genauer kann es für den Fall verwendet werden, daß ein oder mehrere Ergebnisbereiche durch genau einen neuen Ergebnisbereich ersetzt werden sollen.

Nach einer Änderung der Customizingzuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen können mit Hilfe dieses Programms ungültig gewordene Ergebnisobjekte in den Belegtabellen der Module SD, FI, MM bzw. CO umgesetzt werden.

Integration

Im Rahmen der Werteflüsse des ERP-Systems wird für Belegzeilen, die in die Ergebnisrechnung CO-PA fortgeschrieben werden, in den Belegtabellen der Module SD, FI, MM bzw.CO im Feld PAOBJNR die sogenannnte Ergebnisobjektnummer fortgeschrieben. Der Ergebnisbereich, in dem diese Ergebnisobjektnummer Gültigkeit besitzt, bestimmt sich indirekt aus den in den Belegtabellen gespeicherten Organisationseinheiten, sowie aus der im Customizing hinterlegten Unternehmensstruktur.

Wird in einem System die Zuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen nachträglich geändert, so können anschließend die vor dieser Zuordnungsänderung in den Belegtabellen abgelegten Ergebnisobjekte vom System nicht mehr korrekt interpretiert werden. Aufgrund der geänderten Zuordnung des Kostenrechnungskreises wird ein betroffenes Ergebnisobjekt fälschlicherweise im neuen Ergebnisbereich gesucht, obwohl es ursprünglich im alten Ergebnisbereich angelegt wurde und nur in diesem Ergebnisbereich interpretiert werden kann.

Beim Versuch, eine gegebene Ergebnisobjektnummer mit Bezug auf einen falschen Ergebnisbereich zu interpretieren, können zwei Fälle unterschieden werden. Existiert die Ergebnisobjektnummer im neuen Ergebnisbereich nicht, so kommt es in diesem Fall regelmäßig zu einem Short Dump mit der Meldung KE499. Existiert hingegen im neuen Ergebnisbereich zufällligerweise ein Ergebnisobjekt mit der gleichen Nummer, so arbeitet das System mit den Merkmalsausprägungen dieses Ergebnisobjekts. Dies führt dann entweder zu Folgefehlern in der weiteren Belegverarbeitung oder schlimmstenfalls zur Fortschreibung falscher Daten in der Ergebnisrechnung.

Um dieses Problem zu umgehen, kann das Programm RKE_CHACO_PAOBJNR_1 verwendet werden.

Mit Hilfe des Programms werden in den Belegtabellen der Module SD, FI, MM bzw. CO ungültig gewordene Ergebnisobjektnummern des alten Ergebnisbereichs systematisch durch Ergebnisobjektnummern des neuen Ergebnisbereichs ersetzt. Das Programm kann dabei Daten mehrerer alter Ergebnisbereiche, die dem gleichen neuen Ergebnisbereich zugeordnet werden sollen, im gleichen Lauf konvertieren.

Voraussetzungen

Die aktivierte Form der Ergebnisrechnung in den alten Ergebnisbereichen und dem neuen Ergebnisbereichen ist für die Ausführung des Programms unerheblich.

Eine Voraussetzung für das Programm ist, daß die Änderung der Customizingzuordnungen zwischen Kostenrechnungskreisen und Ergebnisbereichen vorAusführung des untenstehenden Abschnitts 'Aktivitäten'noch nichtdurchgeführt wurde, was vom Programm allerdings nicht verprobt werden kann.

Ansonsten könnten im neuen Ergebnisbereich bereits Ergebnisobjekte bestimmt und in den Belegtabellen des SD, FI, MM bzw. CO verbucht worden sein. Das Programm wäre beim Umsetzen der Belegtabellen jedoch nicht in der Lage zu erkennen, ob ein Ergebnisobjekt aus einem alten oder dem neuen Ergebnisbereich stammt. Der Grund hierfür ist, daß die Nummernkreisintervalle für die Ergebnisobjekte immer vom Ergebnisbereich abhängen und die Bestimmung des Ergebnisbereichs indirekt aus den Organisationseinheiten der Belegtabellen erfolgt. Fälschlicherweise könnten damit Ergebnisobjekte aus dem neuen Ergebnisbereich umgesetzt werden, weil das Programm sie für Ergebnisobjekte aus einem alten Ergebnisbereich hielte.

Es werden folgende Szenarien für die Änderung der Zuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen unterstützt:

  1. Ein Ergebnisbereich soll durch einen anderen ersetzt werden. Alle Kostenrechnungskreise, die dem alten Ergebnisbereich zugeordnet waren, werden einem neuen Ergebnisbereich zugeordnet.
  2. Mehrere Kostenrechnungskreise, die mehreren Ergebnisbereichen zugeordnet waren, sollen einem neuen Ergebnisbereich zugeordnet werden.

Die nachfolgenden Beispiele sollen dies für die Kostenrechnungskreise '1000' und '2000', sowie die Ergebnisbereiche 'C001', 'D001' und 'E001' verdeutlichen.

Beispiel 1
Alte Zuordnungen Neue Zuordnungen
  1000 --> C001 1000 --> E001
  2000 --> C001 2000 --> E001


Beispiel 2
Alte Zuordnungen Neue Zuordnungen
  1000 --> C001 1000 --> E001
  2000 --> D001 2000 --> E001

Beachten Sie, daß immer alle einem alten Ergebnisbereich zugeordneten Kostenrechnungskreise umgehängt werden müssen und daß alle dem gleichen neuen Ergebnisbereich zuzuordnen sind.

Funktionsumfang

Mit Hilfe des Programms kann zunächst der Nummernkreisstand des Nummernkreisobjekts COPA_OBJ für die Ergebnisobjektnummern im neuen Ergebnisbereich auf einen Wert erhöht werden, der größer als die bereits gebuchten Ergebnisobjektnummern der alten Ergebnisbereiche ist. Dadurch sind im neuen Ergebnisbereich neu erzeugte Ergebnisobjektnummern eindeutig von denjenigen der alten Ergebnisbereiche unterscheidbar, was eine Wiederaufsetzbarkeit des Programms im Fall eines Abbruchs z.B. aufgrund von Datenbankproblemen ermöglicht.

Das Programm unterstützt zwei verschiedene Varianten der Umsetzung:

,,Fall 1

Vor dem Umhängen der Ergebnisbereiche werden zunächst die alten Customizingzuordnungen gesichert. In Anschluß daran erfolgt im Customizing die Änderung der Zuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen. Das Programm RKE_CHACO_PAOBJNR_1 muss für die Kombination aus alten Ergebnisbereichen und neuem Ergebnisbereich zur Ausführung gebracht werden.

Beim Ausführen des Programms wird die jeweils ausgewählte Belegtabelle verarbeitet. Aus den in der Belegtabelle gespeicherten Organisationseinheiten wie Werk, Verkaufsorganisation, Buchungskreis oder Kostenrechnungkreis wird gemäß der zuvor abgespeicherten alten Customizingzuordnungen bestimmt, ob ein Ergebnisobjekt zu einem der gerade abzuarbeitenden alten Ergebnisbereiche gehört. Ist dies der Fall, wird im neuen Ergebnisbereich ein neues Ergebnisobjekt bestimmt und in die Belegtabelle zurückgeschrieben.

,,Fall 2

Die Zuordnung zwischen Kostenrechnungskreisen und Ergebnisbereichen wird vor der Ausführung des Programms nicht geändert. In diesem Fall brauchen die alten Customizingzuordnungen nicht gesichert zu werden. Das Programm muß für die Kombination aus alten Ergebnisbereichen und neuem Ergebnisbereich gestartet werden.

Beim Ausführen des Programms wird die jeweils ausgewählte Belegtabelle verarbeitet. Aus den in der Belegtabelle gespeicherten Organisationseinheiten wie Werk, Verkaufsorganisation, Buchungkreis oder Kostenrechnungskreis wird gemäß den aktuellen Customizingzuordnungen bestimmt, ob ein Ergebnisobjekt zu einem der gerade abzuarbeitenden alten Ergebnisbereiche gehört. Ist dies der Fall wird im neuen, noch keinem Kostenrechnungskreis zugeordneten Ergebnisbereich ein neues Ergebnisobjekt bestimmt und in die Belegtabelle zurückgeschrieben.

In beiden beschriebenen Fällen wird immer das Feld PAOBJNRder jeweiligen Belegtabelle umgesetzt. Bei einigen ausgewählten Belegtabellen sind jedoch Besonderheiten zu beachten:

  • Tabelle COBRB: Hier wird zusätzlich das Feld REC_OBJNR1 ('Objektnummer des Abrechnungsempfängers') umgesetzt, da in diesem Feld bei Abrechnungsvorschriften an Ergebnisobjekt der Ergebnisbereich mitverschlüsselt ist. Das Feld REC_OBJNR1 wird dazu verwendet, den Text eines Abrechnungsempfängers aus dessen Stammsatz lesen zu können. Außerdem wird gleichzeitig das Feld SORT('Sortierfeld für Abrechnungsvorschrift') in Tabelle COBRA konvertiert, da in diesem Feld bei Abrechnungsvorschriften an Ergebnisobjekt ebenfalls der Ergebnisbereich mitverschlüsselt ist. Das Feld wird in einen Anzeigereport für Abrechnungsvorschriften verwendet.
  • Tabelle AUAA: Hier wird zusätzlich das Feld COOBJNR ('Objektnummer') umgesetzt, da in diesem Feld wie in den ersten beiden Fällen der Ergebnisbereich mitverschlüsselt ist. Das Feld wird bei der Abrechnung verwendet, u.a. beim Stornieren bereits erfolgter Abrechnungen.

Anschließend können die Zuordnungen zwischen Kostenrechnungskreisen und Ergebnisbereichen im Customizing abgeändert werden.

Aktivitäten

Vorab können Sie zunächst das Datenvolumen für die Belegtabellen der Module SD, FI, MM bzw. CO bestimmen lassen, die beim Ausführen des Programms umgesetzt werden, um einen Überblick über die Anzahl der zu bearbeitenden Tabellenzeilen zu erhalten. Wählen Sie hierzu auf dem Selektionsbildschirm den Menüpunkt

,,'Zusätze --> Datenvolumen bestimmen'

und beantworten Sie die Abfrage, ob Sie fortfahren möchten, mit 'Ja'. Da die Bestimmung des Datenvolumens längere Zeit in Anspruch nehmen kann, muß sie im Hintergrund gestartet werden. Das Programm erstellt einen Job ZZRKE_CHACO_CHECK_SIZE_1, für den Sie auf dem folgenden Bild einen Starttermin auswählen können. Der Job wird automatisch eingeplant und freigegeben. Die Ergebnisse werden in der Spoolliste des Jobs gesichert, die Sie über den Menüpunkt

,,'Springen --> Job-Übersicht'

erreichen können.

Nachfolgend werden die Schrittebeschrieben, die für die Durchführung des Programms notwendig sind. Dabei wird nach obenstehenden beiden Fällen 1 und 2 unterschieden.

,,Fall 1

Schritt 1

Stellen Sie sicher, daß während der Ausführung des Programms im System keine Belege gebucht werden.

Schritt 2

Starten Sie das Programm RKE_CHACO_PAOBJNR_1 und wählen Sie auf dem Selektionsbildschirm den Menüpunkt

,,'Zusätze --> Alte Customizingzuordnungen sichern'.

Das Programm sichert die derzeit im Customizing hinterlegten alten Customizingzuordnungen, insbesondere diejenigen zwischen Kostenrechnungskreisen und Ergebnisbereichen.

Schritt 3

Über den Menüpunkt

,,'Zusätze --> Alte Customizingzuordnungen anzeigen'

können Sie sich die gesicherten Zuordnungen anzeigen lassen.

Schritt 4

Ändern Sie im Customizing unter

,,'Unternehmensstruktur --> Zuordnung --> Controlling --> Kostenrechnungskreis - Ergebnisbereich ,,zuordnen'

die Zuordnungen aller Kostenrechnungskreise der alten Ergebnisbereiche zum neuen Ergebnisbereich.

Schritt 5

Aktivieren Sie, falls notwendig, im Customizing der Ergebnisrechnung unter

,,'Werteflüsse im Ist --> Ergebnisrechnung aktivieren'

den neuen Ergebnisbereich.

Schritt 6

Starten Sie das Programm für die Kombination aus alten Ergebnisbereichen und neuem Ergebnisbereich.

Dabei sind auf dem Selektionsbild folgende Bereiche auszufüllen:

'Ergebnisbereiche'

'Alte Ergebnisbereiche' / 'Neuer aktiver Ergebnisbereich':

Geben Sie hier die alten Ergebnisbereiche, sowie den neuen aktiven Ergebnisbereich ein.

Beispiel 1
Alte Zuordnungen Neue Zuordnungen
1000 --> C001 1000 --> E001
2000 --> C001 2000 --> E001

In diesem Fall ist das Programm für die Kombination 'C001' ('Alte Ergebnisbereiche') und 'E001' ('Neuer aktiver Ergebnisbereich') zu starten.

Beispiel 2
Alte Zuordnungen Neue Zuordnungen
  1000 --> C001 1000 --> E001
  2000 --> D001 2000 --> E001

In diesem Fall ist das Programm für die Kombination 'C001' / 'D001' ('Alte Ergebnisbereiche') und 'E001' ('Neuer aktiver Ergebnisbereich') zu starten.

'Neuer aktiver Ergebnisbereich bereits zugeordnet' / 'Neuer aktiver Ergebnisbereich noch nicht zugeordnet':

Wählen Sie im Fall 1 die Option 'Neuer aktiver Ergebnisbereich bereits zugeordnet'. Das Programm bestimmt anhand der in den Belegtabellen abgespeicherten Organisationseinheiten sowie unter Berücksichtigung der zuvor gesicherten Customizingzuordnungen den alten Ergebnisbereich.

Im Fall 2 wählen Sie die Option 'Neuer aktiver Ergebnisbereich noch nicht zugeordnet'.

'Steuerparameter'

'Testlauf mit einem Ergebnisobjekt':

Diese Option bietet die Möglichkeit, das Programm für ein Ergebnisobjekt aus einem der alten Ergebnisbereiche zu starten. Wenn diese Option ausgewählt wird, kann im Feld 'Selektion Ergebnisobjekt' eine Ergebnisobjektnummer eines alten Ergebnisbereichs eingegeben werden. In der Selektionsoption 'Alte Ergebnisbereiche'muß in diesem Fall genau ein alter Ergebnisbereich angegeben werden. Nach dem Ausführen des Programms wird ein Protokoll angeboten, das den Merkmalsvektor im alten und neuen aktiven Ergebnisbereich ausgibt. Es wird dargestellt,

  • welche Merkmale aus dem alten in den neuen aktiven Ergebnisbereich übernommen wurden
  • welche Merkmale im unter 'Umsetzen der Ergebnisobjekte'(siehe unten) beschriebenen User-Exit umgesetzt wurden
  • welche Merkmale im neuen aktiven Ergebnisbereich neu abgeleitet wurden, falls die Option 'Ableitung im neuen aktiven Erg.ber. aufrufen'(siehe unten) ausgewählt wurde. In diesem Fall kann außerdem in die Ableitungsanalyse verzweigt werden.

'Testlauf':

Bei dieser Option wird das Programm ist Testlauf für den im Bereich 'Bearbeitungsschritte'gewählten Schritt bzw. die gewählte Anwendung ausgeführt. Die Verarbeitung kann im Vordergrund oder im Hintergrund erfolgen. Das Programm erzeugt ein Protokoll und gibt Fehler aus, wenn solche in der Merkmalsableitung oder Merkmalswertverprobung aufgetreten sind.

Um das Protokoll übersichtlich zu halten wird die Verarbeitung beendet, falls mehr als einhundert Fehler aufgetreten sind. In diesem Modus werden keine Ergebnisobjektnummern in den Belegtabellen umgesetzt. Das System merkt sich, für welche Anwendung der Testlauf gestartet wurde und ob er ohne Fehler durchgelaufen ist.

'Echtlauf':

Bei dieser Option wird das Programm im Echtlauf für den im Bereich 'Bearbeitungsschritte' gewählten Schritt bzw. die gewählte Anwendung ausgeführt. Die Verarbeitung sollte im Hintergrund erfolgen, da sonst die Gefahr eines Time Out besteht.

Das Programm läßt sich nur dann im Echtlauf ausführen, wenn zuvor bereits ein Testlauf für den ausgewählten Schritt bzw. die ausgewählte Anwendung ohne Fehler durchgelaufen ist.

'Tabelle CE4XXXX_FLAG umsetzen':

Ab Release 4.6C wird in Tabelle CE4XXXX_FLAG die Information gespeichert, ob für ein Ergebnisobjekt auf dem CO-PA-Kontierungsbild manuelle Eingaben getätigt wurden. Daher existiert nicht für jedes Ergebnisobjekt ein Eintrag in dieser Tabelle. Sie muß jedoch trotzdem umgesetzt werden.

Diese Option ist nicht eingabebereit und wird erst ab Release 4.6C angezeigt, da Tabelle CE4XXXX_FLAG bis Release 4.6B nicht existierte.

Zur Logik der Konvertierung der Tabelleneinträge siehe unten 'Umsetzen der Ergebnisobjekte'.

'Sperren Ergebnisbereich (für Option 'Echtlauf'):

Diese Option ist nur im 'Echtlauf' relevant. Sie sperrt die alten Ergebnisbereiche und den neuen aktiven Ergebnisbereich gegen Buchungen. Benutzer, die in diese Ergebnisbereiche buchen möchten, erhalten eine entsprechende Fehlermeldung.

'Ableitung im neuen aktiven Erg.ber. aufrufen':

Diese Option ermöglicht es, den umgesetzten Merkmalsvektor im neuen aktiven Ergebnisbereich neu abzuleiten (siehe unten 'Umsetzen der Ergebnisobjekte').

'Merkmale im neuen aktiven Erg.ber. verproben':

Diese Option ermöglicht es, für den umgesetzten Merkmalsvektor im neuen aktiven Ergebnisbereich eine Merkmalswertverprobung durchzuführen (siehe unten 'Umsetzen der Ergebnisobjekte').

'User-Exit für Feldzuordnung':

Diese Option ermöglicht es, über einen User-Exit die Merkmalszuordnung zwischen alten Ergebnisbereichen und neuem aktiven Ergebnisbereich individuell zu gestalten (siehe unten 'Umsetzen der Ergebnisobjekte')

'Identifizierung':

Diese Option ist nur verfügbar, falls die Auswahlmöglichkeit 'User-Exit für Feldzuordnung'eingestellt wurde. Sie ermöglicht es, den User-Exit eindeutig zu identifizieren.

Umsetzen der Ergebnisobjekte:

Im folgenden wird beschrieben nach welcher Logik ein in einem alten Ergebnisbereich angelegtes Ergebnisobjekt in eines des neuen aktiven Ergebnisbereichs überführt wird.

Bitte beachten Sie, daß im Programm grundsätzlich zunächst immer ein MOVE-CORRESPONDING zwischen gleichnamigen Feldern des alten und des neuen aktiven Ergebnisbereichs durchgeführt wird. Dies gilt ab Release 4.6C auch für Einträge von Tabelle CE4XXXX_FLAG.

Zusätzlich besteht die Möglichkeit, CO-PA-Merkmale nach einer in einem User-Exit hinterlegten Logik aus dem alten in den neuen aktiven Ergebnisbereich zu übernehmen. Der Exit wird, falls aktiviert, für jedes Ergebnisobjekt nach dem MOVE-CORRESPONDING-Schritt angesprungen. Felder des neuen aktiven Ergebnisbereichs, die über die MOVE-CORRESPONDING-Logik bereits gefüllt wurden, können im Exit nachträglich verändert werden. Auch die konvertierten Einträge von Tabelle CE4XXXX_FLAG können ab Release 4.6C in diesem Exit angepaßt werden.

Um den Exit zu aktivieren muß in Tabelle TKEEXITS ein Eintrag eingefügt werden. Die Tabelle kann über Transaktion SE16 wie folgt gepflegt werden:

EXITID 'KE_CHACO_CE4'
  APPL 'KE'
  SEQNO '001'
  ISACTIVE 'X'
  REPORT Programmname eines ZZ...-Programms
  FORM Name einer Formroutine in Programm REPORT

Damit der Exit überhaupt angesprungen wird, muß das Flag 'User-Exit für Feldzuordnung' gesetzt werden. Im dahinterliegenden Feld 'Identifizierung' ist dann ein dreistelliges Kürzel zu hinterlegen.

Die Implementierung des Exit-Logik erfolgt in der Formroutine FORM des Programms REPORT. Übergabeparameter der Formroutine sind die folgenden Parameter in der hier angegebenen Reihenfolge, wobei die letzten drei Parameter erst ab Release 4.6C vorhanden sind:

  • Alter Ergebnisbereich
  • Neuer aktiver Ergebnisbereich
  • Identifizierung für den Exit: Es wird die auf dem Selektionsbild eingegebene Kennung des Exits übergeben.
  • Kennzeichen, ob der Exit aktiv ist und bei den folgenden Durchläufen noch aufgerufen werden soll: Dieses Kennzeichen ist im Coding zu setzen, damit der Exit für die nachfolgenden Ergebnisobjekte weiterhin aufgerufen wird.
  • Merkmalsvektor des alten Ergebnisbereichs: Der Merkmalsvektor wird in der Struktur CE4XXXX übergeben, wobei 'XXXX' den alten Ergebnisbereich bezeichnet.
  • Merkmalsvektor des neuen aktiven Ergebnisbereichs nach dem MOVE-CORRESPONDING-Schritt: Der Merkmalsvektor wird in der Struktur CE4YYYY übergeben, wobei 'YYYY' den neuen aktiven Ergebnisbereich bezeichnet.
  • Kennzeichen, ob ein Eintrag in Tabelle CE4XXXX_FLAG gefunden wurde, wobei 'XXXX' den alten Ergebnisbereich bezeichnet
  • Eintrag von Tabelle CE4XXXX_FLAG im alten Ergebnisbereich: Der Eintrag wird in der Struktur CE4XXXX_FLAG übergeben, wobei 'XXXX' den alten Ergebnisbereich bezeichnet.
  • Eintrag von Tabelle CE4YYYY_FLAG im neuen aktiven Ergebnisbereich nach dem MOVE-CORRESPONDING-Schritt: Der Eintrag wird in der Struktur CE4YYYY_FLAG übergeben, wobei 'YYYY' den neuen aktiven Ergebnisbereich bezeichnet.

Beispiel :

Wenn

  • 'S001' den alten Ergebnisbereich
  • 'IDEA' den neuen aktiven Ergebnisbereich
  • 'ABC' die Identifizierung des User-Exits

bezeichnet und das Merkmal 'Kunde' (KNDNR) im neuen aktiven Ergebnisbereich immer dann auf '0000001001' gesetzt werden soll, wenn es im alten Ergebnisbereich die Ausprägung '0000001000' hat, könnte eine Implementierung des Exits nachfolgendes Aussehen haben. Da das Merkmal 'Kunde' ein festes Merkmal jedes Ergebnisbereichs ist, würde ein Eintrag aus Tabelle CE4S001_FLAG, bei dem das Merkmal 'Kunde' manuell kontiert worden wäre, bereits durch den MOVE-CORRESPONDING-Schritt in den Eintrag für Tabelle CE4IDEA_FLAG überführt, d.h. im Exit müßten keine Änderungen vorgenommen werden.

Eintrag in Tabelle TKEEXITS:

EXITID 'KE_CHACO_CE4'
  APPL 'KE'
  SEQNO '001'
  ISACTIVE 'X'
  REPORT ZZKE_CHACO_CE4
  FORM MODIFY_CHARACTERISTICS

Implementierung des Exits in Programm ZZKE_CHACO_CE4:

REPORT ZZKE_CHACO_CE4.

....
FORM MODIFY_CHARACTERISTICS
  CHANGING I_ERKRS_OLD   LIKE TKEBB-ERKRS
           I_ERKRS_NEW   LIKE TKEBB-ERKRS
           I_EXITID      TYPE KEDRSTEPID
           I_EXIT_ACTIVE TYPE C
           IS_CE4_OLD    TYPE ANY
          IS_CE4_NEW    TYPE ANY
           I_CE4FLAG     TYPE C
           IS_CE4FLAG_O  TYPE ANY
           IS_CE4FLAG_N  TYPE ANY.

  DATA: LS_CE4S001 LIKE CE4S001,
        LS_CE4IDEA LIKE CE4IDEA.

  CASE I_EXITID.
    WHEN 'ABC'.
      IF I_ERKRS_OLD = 'S001' AND I_ERKRS_NEW = 'IDEA'.
        I_EXIT_ACTIVE = 'X'.,,,,"Activate for further processing
        LS_CE4S001 = IS_CE4_OLD.
        LS_CE4IDEA = IS_CE4_NEW.
        IF LS_CE4S001-KNDNR = '0000001000'.
          LS_CE4IDEA-KNDNR = '0000001001'.
        ENDIF.
        IS_CE4_NEW = LS_CE4IDEA.,,,,"Return characteristics of the
,,,,,,,,,,,,,,"new active operating concern
      ENDIF.
  ENDCASE.

ENDFORM.
....

Für Einträge von Tabelle CE4XXXX_FLAG sind an dieser Stelle keine weiteren Änderungen möglich, lediglich für den ermittelten Merkmalsvektor.

Falls das Flag 'Ableitung im neuen akt. Erg.ber. aufrufen' ausgewählt wurde, wird nach dem Durchlaufen des Exits für den ermittelten Merkmalsvektor die Merkmalsableitung im neuen aktiven Ergebnisbereich durchlaufen.

Tritt bei der Merkmalsableitung ein Fehler auf, wird dieser im Verarbeitungsmodus 'Testlauf mit einem Ergebnisobjekt'als Informationsmeldung ausgegeben. Die Ursache des Fehlers kann in diesem Fall über die Ableitungsanalyse herausgefunden werden, die vom Protokoll aus erreichbar ist.

Im 'Testlauf'oder 'Echtlauf' wird lediglich die Fehlermeldung ins Protokoll geschrieben. Beim 'Echtlauf'wird mit dem unabgeleiteten Merkmalsvektor eine Ergebnisobjektnummer im neuen aktiven Ergebnisbereich bestimmt. Gegebenenfalls können die Ergebnisobjekte, für die ein Fehler aufgetreten ist, im neuen aktiven Ergebnisbereich durch Zuordnungsänderungen angepaßt werden.

Um die Merkmalswerte auf ihre Gültigkeit zu verproben, kann das Flag 'Merkmale im neuen akt. Erg.ber. verproben'gesetzt werden. Die Verprobung findet nach Aufruf des Exits und vor der Merkmalsableitung statt. Eine Verprobung der Merkmalswerte ist nur sinnvoll, wenn der User-Exit zum Einsatz kommt. Werden in der Ableitung Merkmalswerte geändert, prüft die Ableitung deren Existenz automatisch.

Wie bei der Ableitung wird eine Fehlermeldung im Modus 'Testlauf mit einem Ergebnisobjekt' als Informationsmeldung ausgegeben. Im 'Testlauf'bzw. ''Echtlauf' wird die Fehlermeldung lediglich ins Protokoll geschrieben. Das Programm fährt in den letzten beiden Fällen trotz Fehlermeldung mit der Verarbeitung fort.

'Selektion Ergebnisobjekt':

Diese Option ist nur für den Modus 'Testlauf mit einem Ergebnisobjekt' verfügbar. Hier kann eine Ergebnisobjektnummer eines alten Ergebnisbereichs eingegeben werden und wird automatisch auf Existenz verprobt.

'Neuer Nummernkreisstand':

Diese Option ist nur für den Schritt 'Nummernkreisobjekt COPA_OBJ im neuen aktiven Erg.ber. hochsetzen'verfügbar. Hier kann explizit ein neuer Nummernkreisstand für die Ergebnisobjektnummern (Objekt COPA_OBJ) im neuen aktiven Ergebnisbereich mitgegeben werden. Das System schlägt automatisch einen Stand vor, der größer als das Maximum der bisher in den alten Ergebnisbereichen gebuchten Nummern ist. Dieser kann manuell erhöht werden.

'Bearbeitungsschritte (für Option 'Testlauf' und 'Echtlauf')'

Führen Sie das Programm für die gewählte Kombination von alten Ergebnisbereichen, neuem aktiven Ergebnisbereich, sowie der entsprechenden Zusatzoptionen, zunächst für den nachfolgenden Schritt A und anschließend für die unter Schritt B aufgeführten neun Anwendungen aus.

Schritt A: 'Nummernkreisobjekt COPA_OBJ im neuen aktiven Ergebnisbereich hochsetzen':

Bei diesem Schritt setzt das Programm den Nummernkreisstand für die Ergebnisobjektnummern (Objekt COPA_OBJ) im neuen aktiven Ergebnisbereich auf einen Wert, der größer als das Maximum der Ergebnisobjektnummern in den alten Ergebnisbereichen ist. Das Programm schlägt dabei im Feld 'Neuer Nummernkreisstand'einen solchen Wert vor, der jedoch nach oben korrigiert werden kann. Der neue Nummernkreisstand wird vom Programm gesichert, da er für die Wiederaufsetzbarkeit bei einem Programmabbruch, z.B. aufgrund von Datenbankproblemen notwendig ist. Neue Buchungen in den neuen aktiven Ergebnisbereich würden daher Ergebnisobjektnummern erhalten, die größer als dieser neu gesetzte Nummernkreisstand wären.

Schritt B: 'Fakturabelege'
'Verkaufsbelege'
'Lieferungen'
'Finanzbuchhaltung'
'Abrechnungsvorschriften'
'Controlling'
'Materialwirtschaft'
'Profit-Center-Rechnung'
'Sonstige Tabellen'

Auf dem Selektionsbildschirm des Programms sind hinter dem Namen der aufgeführten neun Anwendungen die Datenbanktabellen angegeben, die jeweils umgesetzt werden. Es kann immer nur eine der aufgeführten Anwendungen in einem Programmlauf bearbeitet werden.

Das Programm selektiert dabei aus den jeweiligen Tabellen alle Sätze mit Ergebnisobjekt im Feld PAOBJNR, deren Ergebnisobjektnummer zwischen eins und dem in Schritt A gesetzten neuen Nummernkreisstand für das Objekt COPA_OBJ im neuen aktiven Ergebnisbereich liegt. Dies ist ausreichend, da Zeilen mit höheren Ergebnisobjektnummern bereits im neuen aktiven Ergebnisbereich erzeugt worden sein müssen.

Umgesetzt wird für jede Belegtabelle das Feld PAOBJNR. Außerdem konvertiert das Programm für Tabelle

  • COBRB, in der die Abrechnungsvorschriften abgelegt sind, das Feld REC_OBJNR1 ('Objektnummer des Abrechnungsempfängers'), sowie gleichzeitig für Tabelle COBRA, in der die Kopfeinträge der Abrechnungsvorschriften abgelegt sind, das Feld SORT('Sortierfeld für Abrechnungsvorschrift'),
  • AUAA, in der die Abrechnungsbelege abgelegt sind, das Feld COOBJNR ('Objektnummer').

Diese Felder enthalten für die Ergebnisrechnung Objekte der Form 'EOXXXXYYYYYYYYYY'. Dabei bezeichnet 'XXXX' den Ergebnisbereich und 'YYYYYYYYYY' die Ergebnisobjektnummer. Das Feld COBRB-REC_OBJNR1 wird dazu verwendet, den Text eines Abrechnungsempfängers aus dessen Stammsatz lesen zu können. COBRA-SORT wird in einem Anzeigereport für Abrechnungsvorschriften benutzt. AUAA-COOBJNR enthält das Empfängerobjekt eines Abrechnungsbelegs und wird u.a. bei der Stornierung von Abrechnungen verwendet.

Bricht das Programm in Schritt B ab, kann es mit den gleichen Selektionen wiederaufgesetztwerden. Das ist möglich, da neue Buchungen in den neuen aktiven Ergebnisbereich Ergebnisobjektnummern erhalten, die größer als der in Schritt A gesetzte neue Nummernkreisstand sind und da dies also auch für bereits mit dem Programm RKE_CHACO_PAOBJNR_1 umgesetzte Ergebnisobjekte gilt.

Wie der Umsetzungsstatusder einzelnen Schritte ist, wird auf dem Selektionsbildschirm des Programms über die neben den Schritten angezeigten Ampeln ersichtlich. Diese zeigen den Status für den jeweiligen Schritt und eine spezielle Kombination von alten Ergebnisbereichen und neuem aktiven Ergebnisbereich an. Ist die Ampel

  • grün, ist bereits ein erfolgreicher Echtlauf durchgeführt worden.
  • gelb, ist bereits ein erfolgreicher Testlauf, aber noch kein erfolgreicher Echtlauf ausgeführt worden.
  • rot, ist noch kein erfolgreicher Testlauf gelaufen.

Zum Löschen von Statussätzen kann der Menüpfad

,,'Zusätze --> Statusinformationen löschen'

gewählt werden. Auf dem erscheinenden Übersichtsbild können Sie die zu löschenden Statussätze wie auf dem Selektionsbild des Programms gemäß den Bereichen 'Ergebnisbereiche', 'Steuerparameter'und 'Bearbeitungsschritte' auswählen. Beantworten Sie die anschließende Sicherheitsabfrage mit 'Ja'.

Schritt 7

Falls erwünscht können nach vollständiger und erfolgreicher Umsetzung die alten Customizingzuordnungen über den Menüpfad

,,'Zusätze --> Alte Customizingzuordnungen löschen'

entfernt werden. Dies ist jedoch nicht unumgänglich notwendig.

Schritt 8

Mit den in den alten Ergebnisbereichen bereits gebuchten Ergebnisobjekten und Bewegungsdaten kann unterschiedlich verfahren werden.

Ist in den alten Ergebnisbereichen und dem neuen aktiven Ergebnisbereich die kalkulatorische Ergebnisrechnug aktiv, können Sie mit Hilfe des Programms COPA_COPY die kalkulatorischen Bewegungsdaten aus den alten Ergebnisbereichen in den neuen aktiven Ergebnisbereich kopieren.

Die Ergebnisobjekte und kalkulatorischen Bewegungsdaten können trotzdem in den alten Ergebnisbereichen verbleiben, falls weiterhin Berichte auf den bereits gebuchten Daten ausgeführt werden sollen.

Sollen die kalkulatorischen Bewegungsdaten aus den alten Ergebnisbereichen gelöscht werden, kann das CO-PA-Archivierungstool mit dem Objekt COPA1_XXXXverwendet werden, wobei 'XXXX' den jeweiligen alten Ergebnisbereich bezeichnet.

Ist zusätzlich in den alten Ergebnisbereichen und dem neuen aktiven Ergebnisbereich buchhalterische Ergebnisrechnung aktiv, können Sie mit Hilfe des Programms RKE_CHACO_PAOBJNR_2 die buchhalterischen Daten von den alten Ergebnisbereichen auf den neuen aktiven Ergebnisbereich umsetzen.

Sollen auch die betroffenen Ergebnisobjekte aus den alten Ergebnisbereichen gelöscht werden, kann dies ebenfalls über das CO-PA-Archivierungstool unter Anwendung von OSS-Hinweis 383728 erfolgen. Allerdings sollte dies erst erfolgen, wenn die Programme COPA_COPY und RKE_CHACO_PAOBJNR_2, sofern notwendig, gelaufen sind.

,,Fall 2

Dieser Fall kann analog zu Fall 1 behandelt werden. Es fallen lediglich die Schritte 2 bis 5 weg. Auf dem Selektionsbild des Programms sollte in diesem Fall die Option 'Neuer aktiver Ergebnisbereich noch nicht zugeordnet'ausgewählt werden. Die Schritte 4 und 5 können nach einer erfolgreichen Umsetzung durchgeführt werden.






CL_GUI_FRONTEND_SERVICES - Frontend Services   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 41482 Date: 20240601 Time: 024502     sap01-206 ( 660 ms )