Ansicht
Dokumentation

CRM_ISU_PROD_SEL_EXPAMPLE - Beispiel-Implementierung zur BAdI-Definition CRM_ISU_PRODSEL

CRM_ISU_PROD_SEL_EXPAMPLE - Beispiel-Implementierung zur BAdI-Definition CRM_ISU_PRODSEL

PERFORM Short Reference   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

User-Exit zum Produktvorschlag

Dieses Business AddIn wird dazu verwendet, um die neu in die Suchhilfe CRM_ISU_GET_PRODUCT aufgenommenen Felder in diese zu integrieren.

Dazu stehen sieben Methoden zur Verfügung (siehe Beispiel-Coding):

1.) CHANGE_SELECTION_OPTIONS:

Diese Methode wird dazu verwendet, um falsche Eingaben auf dem Selektionsdynpro zu verarbeiten. Wird beispielsweise eine Branche eingegeben, die im System nicht vorhanden ist, so hat der Anwender die Möglichkeit, eine entsprechende Meldung auszugeben.

2.) COLLECT_SELECTION_OPTIONS:

Diese Methode wird dazu verwendet, um die Feldnamen der Suchhilfe-Schnittstelle auf die Feldnamen der Datenbank-Tabelle CRM_ISU_PROD zu mappen. Dies ist notwendig, da die Feldnamen der Tabelle CRM_ISU_PROD generiert sind und wie folgt beginnen: "FF00xx".

Des weiteren wird die Methode dazu benötigt, um aus den Eingaben auf dem Selektions-Popup eine Tabelle mit allen Selektionskriterien aufzubauen.

3.) COMPLETE_OUTPUT_STRING:

Diese Methode wird dazu verwendet, um die Trefferliste aufzubereiten. Es werden jeweils nur die Werte der Felder in den Ausgabe-String geschrieben, die auf der Trefferliste erscheinen sollen. Dies ist vorher im Customizing zu definieren.

Zuvor müssen in dieser Methode kundeneigene Selektionen programmiert werden, um die kundeneigenen Felder als Selektionskriterien berücksichtigen zu können. Geschieht dies nicht, so werden nur die Standardfelder als Selektionskriterien verwendet und die kundeneigenen Felder bleiben unberücksichtigt.

4.) FILL_FIELDS_ON_DYNPRO:

Diese Methode wird dazu verwendet, um die neu in die Suchhilfe CRM_ISU_GET_PRODUCT aufgenommenen Felder auf dem Selektionsdynpro vorbelegen und ggf. nicht eingabebereit zu machen.

5.) FILL_GRID_LEVEL_VALUE_TABLE:

Diese Methode wird dazu verwendet, um die Wertetabelle der Netzebene (Feld GRID_LEVEL) dynamisch in Abhängigkeit der Sparte zu füllen. Im Standard wird die Wertetabelle CRM_ISU_GRIDLEV2 nur gefüllt, wenn die Sparte 01 (Strom) gefunden wurde. Bei allen anderen Sparten bleibt die Tabelle leer und diese Methode muss ausgeprägt werden, um dies aufzufangen.

6.) READ_FURTHER_ENVIRONEMNT:

Diese Methode wird dazu verwendet, um zusätzliche Daten / Informationen aus dem Bereich des Anschlussobjekts, der Verbrauchsstelle und des Zählpunkts zu lesen. Diese werden u.U. dazu benötigt, die neu in die Suchhilfe CRM_ISU_GET_PRODUCT aufgenommenen Felder auf dem Selektionsdynpro vorzubelegen.

7.) SELECT_VIA_CUSTOMER_CRITERIA:

Diese Methode wird dazu verwendet, um Produkte nur über kundeneigene Selektionskriterien auswählen zu können. Sie wird allerdings nur verwendet, wenn über die Standardkriterien kein Produkt gefunden werden kann. Andernfalls wird die Methode COMPLETE_OUTPUT_STRING verwendet.

Beziehungen

Beispiel

Anbei finden Sie die Beispiel-Implementierung der Methode CHANGE_SELECTION_OPTIONS. Weitere Beispiele entnehmen Sie bitte dem Beispiel-Coding.

METHOD if_ex_crm_isu_prodsel_exit~change_selection_options.

* This implementation is only an example of how to use this method!

* IMPORTANT:

* This method is used for an error handling. It's necessary to handle wrong user inputs because otherwise no products

* would be selected at all. For example: if you choose DIVISION '12' and this isn't valid in the system, a message

* should appear warning the use.

* data declaration

DATA: lv_division TYPE crm_isu_division.

* change selection options if there is a wrong user input

CASE is_selopt-shlpfield.

WHEN 'DIVISION'.

* Sparte

SELECT SINGLE spart FROM ecrm_isu_tspa INTO lv_division WHERE spart = is_selopt-low.

IF sy-subrc <> '0'.

* DIVISION chosen by the user is not valid in this system

lv_division = is_selopt-low.

DELETE TABLE ct_shlp_selopt FROM is_selopt.

* information message warning the user

MESSAGE ID 'CRM_UTIL_PROD_SEL' TYPE 'I' NUMBER '001' WITH lv_division.

ENDIF.

CLEAR lv_division.

ENDCASE.

ENDMETHOD.

Hinweise

Weiterführende Informationen

siehe Beispiel-Coding






Addresses (Business Address Services)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4901 Date: 20240329 Time: 083450     sap01-206 ( 95 ms )