Ansicht
Dokumentation

/SAPAPO/CL_EXM_IM_PDEM_DEM_CAT - Beispiel-Implementierung zur BAdI: /SAPAPO/PDEM_DEM_CAT

/SAPAPO/CL_EXM_IM_PDEM_DEM_CAT - Beispiel-Implementierung zur BAdI: /SAPAPO/PDEM_DEM_CAT

Addresses (Business Address Services)   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

In dieser Beispielimplementierung ist die Logik für die Ermittelung kundenspezifischer Bedarfskategorien realisiert. Das System prüft die Kundenauftragspositionen, die im Importparameter IS_DATA_STRUCTURE enthalten sind, gegen die in der Datenbanktabelle /SAPAPO/PDEMCAT definierten Suchkriterien und ermittelt dann eine Bedarfskategorie für diese Kundenauftragspositionen.

Die Hauptmethode in dieser Klasse ist GET_DEMAND_CATEGORY, in der eine Bedarfskategorie ermittelt wird. Innerhalb dieser Methode ruft das System folgende Methoden auf:

  • INITIALIZATION: In dieser Methode werden die in der Datenbanktabelle /SAPAPO/PDEMCAT definierten Suchkriterien und die Semantik-Mappings anhand einer DataSource vorbereitet.
  • INITIALIZATION_OLD: In dieser Methode werden die in der Datenbanktabelle /SAPAPO/PDEMCAT definierten Suchkriterien und die Semantik-Mappings anhand einer InfoSource vorbereitet.
  • GET_DATA_ELEMENT: Diese Methode gibt ein Datenelement eines Feldes in der Struktur IS_DATA_STRUCTURE zurück.
  • GET_AN_FIELD_VALUE_FROM_STRU: Diese Methode gibt einen Wert eines Feldes in der Struktur IS_DATA_STRUCTURE zurück.

Definieren von Suchbedingungen

Sie müssen die Suchbedingungen in der Datenbanktabelle /SAPAPO/PDEMCAT angegeben haben. Diese Tabelle enthält folgende Felder:

  • Mandant

  • Kundennummer

  • Positionsvorgangsart

  • Kennzeichen: außergewöhnlicher Bedarf

  • Bedarfskategorie

Wie Sie die Suchenbedingungen definieren hängt von der Logik in der Methode GET_DEMAND_CATEGORY ab.

Für die Standard-Bedarfskategorie NONE muss die Tabelle folgendermaßen gefüllt sein:

  • Kundennummer: SPACE
  • Positionsvorgangsart: SPACE
  • Kennzeichen: außergewöhnlicher Bedarf: SPACE
  • Bedarfskategorie: NONE

Andere Suchenbedingungen können je nach der Logik in der Methode GET_DEMAND_CATEGORY hinzufügen.

INITIALIZATION

  1. Diese Methode übernimmt die Inhalte aus der Tabelle /SAPAPO/PDEMCAT in die Puffertabelle MT_FC_COMM_STRUC.
  2. Die Methode ermittelt anhand des Importparameters IV_DATASOURCE_NAME die entsprechenden Semantiken, Feldnamen, Datenelemente usw. und sichert diese in der Puffertabelle MT_FC_COMM_STRUC.

INITIALIZATION_OLD

  1. Diese Methode übernimmt die Inhalte aus der Tabelle /SAPAPO/PDEMCAT in die Puffertabelle MT_FC_COMM_STRUC.
  2. Die Methode ermittelt anhand des Importparameters IV_INFOSOURCE_NAME die entsprechenden Semantiken, InfoObjekt-Namen, Datenelemente usw. und sichert diese in der Puffertabelle MT_FC_COMM_STRUC.

GET_DATA_ELEMENT

Diese Methode ermittelt ein Datenelement anhand der Semantik in der Puffertabelle MT_FC_COMM_STRUC.

GET_AN_FIELD_VALUE_FROM_STRU

Diese Methode ermittelt einen Wert anhand der Semantik in der Struktur IS_DATA_STRUCTURE .

GET_DEMAND_CATEGORY

Diese Methode setzt die folgende Logik ein und legt fest, welche der in der Tabelle /SAPAPO/PDEMCAT definierten Bedarfskategorien das System einer Kundenauftragsposition zuordnen soll:

  1. Das System prüft, ob die Importparameter korrekt gefüllt sind. Es darf nur entweder IV_DATASOURCE_NAME oder IV_INFOSOURCE_NAME gefüllt sein, nicht beide gleichzeitig.
  2. Wenn sie nicht bereits aufgerufen ist, ruft das System die Methode INITIALIZATION oder INITIALIZATION_OLD auf.
  3. Das System prüft, ob die Werte folgender Datenfelder aus der Struktur IS_DATA_STRUCTURE in der Tabelle MT_DEMAND_CATEGORY mit einem Eintrag in der Tabelle MT_DEMAND_CATEGORY übereinstimmen:
  • Kundennummer

  • Positionsvorgangsart

  • Kennzeichen: außergewöhnlicher Bedarf

Wenn dies der Fall ist, übernimmt das System die Bedarfskategorie, die in diesem Eintrag angegeben ist.
Anderenfalls fährt das System mit Schritt 4 fort.
  1. Das System prüft die Daten in der Struktur IS_DATA_STRUCTURE in der Tabelle MT_DEMAND_CATEGORY daraufhin, ob sie mit der Kombination aus zwei der oben genannten Datenfelder übereinstimmt. Das heißt, das System prüft, ob ein Eintrag in der Tabelle MT_DEMAND_CATEGORY mit einer der folgenden Kombinationen übereinstimmt:
  • Positionsvorgangsartund Kennzeichen: außergewöhnlicher Bedarf

  • Kundennummer und Positionsvorgangsart

  • Kundennummerund Kennzeichen: außergewöhnlicher Bedarf

Wenn dies der Fall ist, übernimmt das System die Bedarfskategorie, die Sie für diesen Eintrag in der Tabelle MT_DEMAND_CATEGORY definiert haben.
Anderenfalls fährt das System mit Schritt 5 fort.
  1. Das System prüft die Daten in der Struktur IS_DATA_STRUCTURE in der Tabelle MT_DEMAND_CATEGORY auf das Datenfeld Kennzeichen: außergewöhnlicher Bedarf. Wenn dieses Kennzeichen gesetzt ist, übernimmt das System die entsprechende Bedarfskategorie, die in der Suchkriterien für diesen Fall definiert ist. Wenn das Kennzeichen nicht gesetzt ist, weist das System der Kundenauftragsposition die Bedarfskategorie 'NONE' zu. (Dies ist, wie oben beschrieben, die Standardbedarfskategorie für die Kombination Kundennummer = SPACE, Positionsvorgangsart= SPACE, Kennzeichen: außergewöhnlicher Bedarf = SPACE).
  2. Wenn das System keine Bedarfskategorie findet, löst es eine Ausnahme aus.

Beziehungen

Beispiel

Hinweise

Weiterführende Informationen

Weitere Informationen finden Sie in der Beschreibung des Business Add-Ins (BAdI) /SAPAPO/PDEM_DEM_CAT und in der Beschreibung der Methode

GET_DEMAND_CATEGORY






BAL Application Log Documentation   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8024 Date: 20240426 Time: 045509     sap01-206 ( 94 ms )