SAP ABAP IMG Activity OKCM_TR_USER_EXIT (SAP enhancements for data transfer)
Hierarchy
BBPCRM (Software Component) BBPCRM
   CRM (Application Component) Customer Relationship Management
     CRM_APPLICATION (Package) All CRM Components Without Special Structure Packages
       KC (Package) Cost Accounting Controlling EIS
IMG Activity
ID OKCM_TR_USER_EXIT SAP enhancements for data transfer  
Transaction Code S_ALR_87000025   IMG Activity: OKCM_TR_USER_EXIT 
Created on 19981222    
Customizing Attributes OKCM_TR_USER_EXIT   User exits in data transfer 
Customizing Activity OKCM_TR_USER_EXIT   User exits in data transfer 
Document
Document Class SIMG   Hypertext: Object Class - Class to which a document belongs.
Document Name OKCM_TR_USER_EXIT    

Es existieren vier Customer-Exits für die Datenübertragung, beziehungsweise für die Umsetzung von IDOC-Segmenten. Die Exits sind in der Erweiterung KKCD0001 enthalten. Sobald die Customer-Exits aktiviert sind, werden sie für alle Senderstrukturen beziehungsweise Segmente ausgeführt. Die ersten zwei Customer-Exits müssen mit einem minimalem Coding versehen werden, sobald sie aktiviert sind. Der Begriff Senderstruktur wird beim Laden von Daten in das SAP-System verwendet. Der Begriff Segment wird im Zusammenhang mit der Verteilung des SAP-Systems verwendet. Es handelt sich dabei jeweils um einen Satz von Daten, die zu übertragen beziehungsweise umzusetzen sind. Es empfiehlt sich also, innerhalb der Customer-Exits eine CASE-Anweisung zu codieren, in der nach Senderstruktur (REPID) beziehungsweise Segment unterschieden, verschiedenes Coding angesprungen wird. Im Parameter REPID steht bei der Umsetzung von IDOC-Segmenten der Name der Umsetzungsregel. Der Parameter GRPID wird bei der Umsetzung von IDOC-Segmenten nicht gefüllt. Innerhalb der CASE-Anweisung sollten Sie einen WHEN OTHERS-Zweig vorsehen, in dem der 'SENDER_SET' dem 'SENDER_SET_NEW' bzw. der 'RECEIVER_SET' dem 'RECEIVER_SET_NEW' zugewiesen wird, sonst bleibt der Rückgabewert jeweils initial. Eine mögliche Lösung können Sie im Code-Beispiel ansehen.

Der erste Customer-Exit wird vor der Verdichtung beziehungsweise Umsetzung angesprungen. Er wird wie folgt aufgerufen:

CALL CUSTOMER-FUNCTION '001'
     EXPORTING
          GRPID          = GRPID       "Herkunft
          REPID          = REPID       "Senderstruktur
          SENDER_SET     = SENDER_SET  "Sendersatz
     IMPORTING
          SENDER_SET_NEW = SENDER_SET  "modifizierter Sendersatz
          SUBRC          = SUBRC.      "Returncode

  • Falls die Variable 'SUBRC' initial ist, wird der modifizierte Satz weiter bearbeitet, ansonsten übersprungen.
  • Der Importparameter 'SENDER_SET_NEW' muß in dem Customer-Exit gefüllt werden, denn nur dieses Feld und nicht das Feld 'SENDER_SET' wird weiter bearbeitet. Dies bedeutet insbesondere auch, daß Sie dem Importparameter 'SENDER_SET_NEW' den Wert von 'SENDER_SET' für Sätze zuweisen müssen, für die sonst keine Sonderbehandlung durchgeführt werden soll.
  • Der zweite Customer-Exit wird nach der Verdichtung und vor der Verbuchung, bzw. nach der Umsetzung angesprungen:

CALL CUSTOMER-FUNCTION '002'
  EXPORTING
    REPID            = REPID           "Senderstruktur
    GRPID            = GRPID           "Herkunft
    RECEIVER_SET     = RECEIVER_SET    "verdichteter Satz
  IMPORTING
    RECEIVER_SET_NEW = RECEIVER_SET    "modifizierter verdichteter Satz
    SUBRC            = SUBRC.          "Returncode

  • Der modifizierte Satz wird nur verbucht, wenn die Variable 'SUBRC' initial ist.
  • Der Importparameter 'RECEIVER_SET_NEW' muß in dem Customer-Exit gefüllt werden, denn nur dieses Feld und nicht das Feld 'RECEIVER_SET' wird verbucht.

Der dritte Customer-Exit dient zur Ersetzung von Variablenwerten. Er wird beim Laden der Übertragungsregeln aufgerufen.

  CALL CUSTOMER-FUNCTION '003'
    EXPORTING
      REPID = REPID
      GRPID = GRPID
      VARIA = VARIA
      RFELD = RFELD
      VARTP = VARTP
    CHANGING
      KEYID = KEYID
    EXCEPTIONS
      VARIABLE_ERROR = 1.

Die Parameter REPID und GRPID werden mit der Senderstruktur und der Herkunft versorgt. Im Feld VARIA steht der Name der Variablen. Im Parameter RFELD steht der Name des Empfängerfeldes. Im Feld VARTP steht der Typ der Variablen. Gültige Typen sind Festwerte der Domäne KCD_VARTYP. Den Wert der Variablen übergeben Sie in dem Parameter KEYID. Falls ein Fehler auftritt, lösen Sie die Ausnahme VARIABLE_ERROR aus.

Der vierte Customer-Exit wird nur in der Komponente EC-EIS benötigt und nach der Verdichtung und vor der Ermittlung der Kennzahlen aufgerufen. Er ist eine notwendige Ergänzung zum zweiten Customer-Exit, da Veränderungen in den Schlüsseln berücksichtigt werden, bevor auf der Datenbank nachgelesen wird, ob zu den gebildeten Schlüsseln Sätze vorhanden sind.

Die Funktion wird wie folgt aufgerufen:

CALL CUSTOMER-FUNCTION '004'
 CHANGING
   RECEIVER_SET = R
   SUBRC = UE_SUBRC.

Der Parameter RECEIVER_SET enthält den zu ändernden Empfängersatz. Der Parameter RECEIVER_SET ist ein Changing Parameter. Damit müssen keine Änderungen in dem Funktionsbaustein vorgenommen werden, falls er nicht benutzt wird.

Die Customer-Exits befinden sich im Modulpool 'SAPFKCIM'. Falls Sie die Customer-Exits benutzen wollen, können Sie ein Projekt anlegen und die Customer-Exits mit der Transaktion 'CMOD' aktivieren. Die Erweiterung, die Sie dabei benutzen müssen, heißt KKCD0001.

Business Attributes
ASAP Roadmap ID 257   Create User Exits 
Mandatory / Optional 2   Optional activity 
Critical / Non-Critical 2   Non-critical 
Country-Dependency A   Valid for all countries 
Assigned Application Components
Documentation Object Class Documentation Object Name Current line number Application Component Application Component Name
SIMG OKCM_TR_USER_EXIT 0 HLA0009491 Data Collection 
Maintenance Objects
Maintenance object type C   Customizing Object 
Assigned objects
Customizing Object Object Type Transaction Code Sub-object Do not Summarize Skip Subset Dialog Box Description for multiple selections
CMOD L - Logical transport object CMOD EC-EIS_TR Enhancements 
History
Last changed by/on SAP  19990301 
SAP Release Created in