Ansicht
Dokumentation

SH_EXIT_SHOW_AFABER_FOR_AFAPL - Suchhilfe-Exit: Anzeige der Bereiche für Bewertungsplan

SH_EXIT_SHOW_AFABER_FOR_AFAPL - Suchhilfe-Exit: Anzeige der Bereiche für Bewertungsplan

ABAP Short Reference   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein dient als Suchhilfe-Exit.

Zu einem Bewertungsplan werden alle Bewertungsbereiche samt Langtext geladen und auf der Suchhilfe-Liste ausgegeben. Hierzu werden aus der T093 alle Bewertungsbereiche des Bewertungsplans gelesen. Zu diesen Bewertungsbereichen werden die Langtexte in der momentanen System-Sprache aus der Tabelle T093T geholt. Das Ergebnis wird in der internen Tabelle IT_T093 gespeichert und über den Service-Baustein "F4_RESULTS_MAP" in die Übergabestruktur für die Suchhilfe-Steuerung übertragen.

Als Besonderheit ist die Steuerung der Zeitpunkte bei einem Suchhilfe-Exit zu beachten. Es kommt vor allem auf die Zeitpunkte

  • PRESEL: Vor der Selektion der Daten, d.h. auch vor dem Senden eines Selektions-Dynpros
  • SELECT: Zeitpunkt der Daten
  • DISP: Zeitpunkt der Anzeige der selektierten Daten
  • EXIT: Abbruch der Suchhilfe-Verarbeitung

an.

Sind zum Zeitpunkt PRESEL auf dem Pflege-Dynpro schon Werte zur Selektion vorgegeben, darf das Selektionsdynpro nicht gerufen werden. Dies ist an der Tabelle SHLP-SELOPT (Selektionstabelle) zu erkennen. Da in diesem Exit nur die Werte für AFAPL interessant sind, wird über die Selektionstabelle geloopt und der maximal eine Wert geholt, der für den Bewertungsplan vorgegeben wurde. Konnte kein Wert geholt werden, wird das Selektionsdynpro gerufen, andernfalls wird der Zeitpunkt auf SELECT umgesetzt und die Verarbeitung geht nahtlos weiter.

Problematisch ist der Fall, daß der Bewertungsplan über das Selektions-Dynpro eingegeben wurde. Danach ist nämlich schon der Zeitpunkt SELECT gesetzt. Trotzdem muß der Wert für "AFAPL" aus der Selektionstabelle extrahiert werden. Das zugehörige Coding ist aber schon für den Zeitpunkt PRESEL vorhanden, und doppeltes Coding ist grundsätzlich wartungsunfreundlich. Delhalb wurde folgender Trick angewandt:

  • Konnte zum Zeitpunkt PRESEL kein Bewertungsplan extrahiert werden, wird das Flag "FLG_DISPLAY_SELECT" gesetzt (statische Variable). Das Coding zum Extrahieren wird so erweitert, daß es sowohl für PRESEL als auch zum Zeitpunkt SELECT angesprungen wird, falls das Flag gesetzt wurde. Damit wird sicher gestellt, daß ein Bewertungsplan vorhanden ist, wenn die Verarbeitung der Tabellen gestartet wird.
  • Sobald ein Bewertungsplan extrahiert werden konnte, wird das Flag gelöscht und der Zeitpunkt auf SELECT gesetzt. Damit beginnt die Verarbeitung der Tabellen T093x.

Verwendet man diesen Trick nicht, wird die Selektion nicht ausgeführt. Dadurch läuft die Suchhilfe ohne Daten in den Zeitpunkt DISP und bringt die Meldung "Keine Werte selektiert". Danach startet sie wieder mit PRESEL, hat jetzt eine gefüllte Selektionstabelle vom vorherigen Durchgang und bringt Werte zur Anzeige. Das Anzeigen von Werte verbunden mit der Meldung "Keine Werte selektiert" ist natürlich unschön.

Hinweise

Siehe auch Beispielbausten "F4IF_SHLP_EXIT_EXAMPLE"





Parameter

CALLCONTROL
RECORD_TAB
SHLP
SHLP_TAB

Ausnahmen

Funktionsgruppe

ACC_AA

Addresses (Business Address Services)   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3593 Date: 20240523 Time: 102203     sap01-206 ( 89 ms )