Ansicht
Dokumentation

/TDAG/SAPLRCS_PRP_C1H0 - EHS: Bausteine für Stoff suchen/anzeigen

/TDAG/SAPLRCS_PRP_C1H0 - EHS: Bausteine für Stoff suchen/anzeigen

ABAP Short Reference   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Beschreibung

Die Funktionsgruppe enthält die erweiterten Suchbausteine für den Einstieg in die Spezifikationsverwaltung und das Spezifikationsinformationssystem sowie die Ausgabefunktionen des Spezifikationsinformationssystems.

Es folgt eine Beschreibung über Aufbau und Schnittstelle der jeweiligen Komponenten.

Ein erweiterter Suchbaustein besteht aus drei Funktionsbausteinen:

  • der Parameterfunktion zur Eingabe der Parameter durch den Benutzer
  • der Kommandofunktion zur Manipulation der Parameter und zum Ändern des Verhaltens des Suchbausteins
  • der eigentlichen Suchfunktion zur Durchführung der Suche

Damit ein erweiterter Suchbaustein im Einstiegsdialog erscheint, müssen folgende Bedingungen erfüllt sein:

  • Die eigentliche Suchfunktion muss im Customizing der Grunddaten und Werkzeuge in der IMG-Aktivität User-Exits verwalten unter dem Typ SUB_QUERY registriert sein.
  • Die Suchfunktion und die Parameterfunktion müssen aktiv vorhanden sein.
  • Um alle Funktionen der erweiterten Suche nutzen zu können, muss eine Kommandofunktion implementiert sein.

Die Parameterfunktion

Die Parameterfunktion eines erweiterten Suchbausteins dient der Eingabe der Suchparameter durch den Benutzer. Sie wird aufgerufen, wenn der Benutzer im Einstiegsdialog die Drucktaste @1F@ der entsprechenden Suchfunktion betätigt.
Sie muss folgender Namenskonvention genügen: Name des Funktionsbausteines = Name der eigentlichen Suchfunktion + _PARA.
Beispiel: Name der eigentlichen Suchfunktion = C1H0_SUB_FIND_EXMPL, Name der Parameterfunktion = C1H0_SUB_FIND_EXMPL_PARA.

Die Schnittstelle der Parameterfunktion muss folgendermaßen definiert sein:
FUNCTION C1H0_SUB_FIND_EXMPL_PARA
IMPORTING
VALUE(I_VALDAT) LIKE ESTRH-VALFR DEFAULT SY-DATUM
VALUE(I_FLG_SHOW_ONLY) TYPE ESP1_BOOLEAN
EXPORTING
VALUE(E_FLG_PARA_EXIST) TYPE ESP1_BOOLEAN
VALUE(E_FLG_CANCEL) TYPE ESP1_BOOLEAN
CHANGING
REFERENCE(X_ADDITIONAL_PARAMS) TYPE ESP12_EXTSEA_PARAFUNC_TYPE
OPTIONAL

Die Funktion bekommt folgende Steuerinformation vom Aufrufer übergeben:

  • In I_VALDAT den Stichtag aus dem Einstiegsdialog. Dieses Datum wird innerhalb des Parameterdialogs benötigt, wenn z.B. eine Fremdschlüsselprüfung durchgeführt werden muss, da beim Zugriff auf die Spezifikationsdatenbank immer ein Stichtag angegeben werden muss, da alle Daten eine bestimmte zeitliche Gültigkeit besitzen.
  • Das Kennzeichen I_FLG_SHOW_ONLY kann die Werte ESP1_TRUE oder TRUE (aus Include CBUI09) und ESP1_FALSE oder FALSE annehmen und gibt an, ob der Parameterdialog im Anzeige- (TRUE) oder Ändernmodus (FALSE) aufgeblendet werden soll. Damit wird festgelegt, ob der Benutzer Änderungen an den Parametern machen darf oder nicht.
  • Im Parameter X_ADDITIONAL_PARAMS können weitere Steuerparameter übergeben werden. Er dient zukünftigen Erweiterungen und wird im Moment nicht benutzt (und ist somit initial).

Die Funktion hat zwei Kennzeichen als Ausgabeparameter:

  • E_FLG_PARA_EXIST = TRUE zeigt dem Aufrufer an, dass der Benutzer gültige Parameterwerte eingegeben hat oder entsprechende Parameter aus einem früheren Schritt vorhanden sind. Der Aufrufer verwendet diese Information zur Veränderung der entsprechenden Drucktaste.
  • E_FLG_CANCEL = TRUE zeigt an, dass der Benutzer den Dialog mit Abbrechen verlassen hat und somit die evtuell gemachten Änderungen verworfen worden sind. In diesem Fall wertet der Aufrufer das obige Kennzeichen nicht aus und lässt die Darstellung der Drucktaste unverändert.

Die Kommandofunktion

Die Kommandofunktion eines erweiterten Suchbausteines soll dem Programm, welches den User-Exit einbindet, die Möglichkeit geben, die internen Daten des erweiterten Suchbausteines zu modifizieren bzw. gewisse Aktionen (Kommandos) darauf auszuführen.
Sie muss folgender Namenskonvention genügen: Name des Funktionsbausteines = Name der eigentlichen Suchfunktion + _CMD.
Beispiel: Name der eigentlichen Suchfunktion = C1H0_SUB_FIND_EXMPL, Name der Parameterfunktion = C1H0_SUB_FIND_EXMPL_CMD.

Die Schnittstelle der Kommandofunktion muss folgendermaßen definiert sein:
FUNCTION C1H0_SUB_FIND_EXMPL_CMD.
IMPORTING
VALUE(I_COMMAND) TYPE ESP12_EXTSEA_CMDFUNC_CMD_TYPE
EXPORTING
VALUE(E_FLG_PARA_EXIST) TYPE ESP1_BOOLEAN
TABLES
X_PARAMETER_TAB STRUCTURE TCGSGP
CHANGING
REFERENCE(X_ADDITIONAL_PARAMS) TYPE ESP12_EXTSEA_CMDFUNC_TYPE
OPTIONAL
EXCEPTIONS
UNKNOWN_COMMAND

Bedeutung der Parameter:

  • Die Funktion bekommt in I_COMMAND das auszuführende Kommando vom Aufrufer übergeben. Die zu unterstützenden Kommandos sind in der Typgruppe ESP12 in der konstanten Struktur ESP12_EXTSEA_CMDFUNC_CMD definiert.
  • E_FLG_PARA_EXIST = TRUE zeigt dem Aufrufer an, dass (z.B. nach einem SET_PARA-Kommando) Parameterwerte vorhanden sind. Der Aufrufer verwendet diese Information zur Veränderung der entsprechenden Drucktaste.
  • In der Tabelle X_PARAMETER_TAB bekommt die Kommandofunktion eine Menge von Parametern übergeben oder übergibt eine Menge von Parametern an den Aufrufer (je nach Kommando SET_PARA bzw. GET_PARA). Siehe hierzu auch Typgruppe ESP12.
  • Im Parameter X_ADDITIONAL_PARAMS können weitere Steuerparameter übergeben werden. Er dient zukünftigen Erweiterungen und wird im Moment nicht benutzt (und ist somit initial).

Beispiel für das Grundgerüst einer Kommandofunktion:
FUNCTION C1H0_SUB_FIND_EXMPL_CMD.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_COMMAND) TYPE ESP12_EXTSEA_CMDFUNC_CMD_TYPE
*" EXPORTING
*" VALUE(E_FLG_PARA_EXIST) TYPE ESP1_BOOLEAN
*" TABLES
*" X_PARAMETER_TAB STRUCTURE TCGSGP
*" CHANGING
*" REFERENCE(X_ADDITIONAL_PARAMS)
*" TYPE ESP12_EXTSEA_CMDFUNC_TYPE
*" OPTIONAL
*" EXCEPTIONS
*" UNKNOWN_COMMAND
*"----------------------------------------------------------------------

* Local data ----------------------------------------------------------


* Function body -------------------------------------------------------

CASE I_COMMAND.
* clear parameter
WHEN ESP12_EXTSEA_CMDFUNC_CMD-CLEAR_PARA.
CLEAR ...


* get parameter
WHEN ESP12_EXTSEA_CMDFUNC_CMD-GET_PARA.
if ( not ... is initial ).
x_parameter_tab-tablename = ...
x_parameter_tab-fieldname = ...
x_parameter_tab-value = ...
append x_parameter_tab.
endif.


* more ...
WHEN ESP12_EXTSEA_CMDFUNC_CMD-...


* others => raise exception
WHEN OTHERS.
RAISE UNKNOWN_COMMAND.

ENDCASE.

* fill export parameter
E_FLG_PARA_EXIST = LG_FIND_DATA-FLG_PARA_EXIST

ENDFUNCTION.

Die eigentliche Suchfunktion

Die eigentliche Suchfunktion eines erweiterten Suchbausteines führt die eigentliche Spezifikationssuche durch. Sie wird vom Aufrufer nach Verlassen des Einstiegsbildes aufgerufen. Ihr Name ist im Customizing der Grunddaten und Werkzeuge in der IMG-Aktivität User-Exits verwalten unter dem Typ SUB_QUERY registriert.

Die Schnittstelle der Suchfunktion muss folgendermaßen definiert sein:
FUNCTION C1H0_SUB_FIND_EXMPL.
IMPORTING
VALUE(I_VALDAT) LIKE ESTRH-VALFR DEFAULT SY-DATUM
TABLES
I_SUBSTANCE_TAB STRUCTURE RCGSTDRECN
E_SUBSTANCE_TAB STRUCTURE RCGSTDRECN
E_HITINFO_TAB STRUCTURE RCGHITINFO OPTIONAL
CHANGING
REFERENCE(X_ADDITIONAL_PARAMS)
TYPE ESP12_EXTSEA_FUNC_TYPE OPTIONAL
EXCEPTIONS
...

Bedeutung der Eingabeparameter:

  • I_VALDAT: Stichtag (Datum), zu dem die Spezifikationsdaten gesucht werden sollen. Dieses Datum gibt der Benutzer im Einstiegsdialog ein.
  • I_SUBSTANCE_TAB: Menge von bereits gefundenen Spezifikationen. Die Suchfunktion muss nur noch in dieser Menge nach Spezifikationen suchen, die ihre Kriterien erfüllen. D.h. insbesondere, dass sie eine UND-Verknüpfung ihres Suchergebnisses mit der Menge I_SUBSTANCE_TAB vornehmen muss. Ist I_SUBSTANCE_TAB leer, so muss über die gesamte Spezifikationsdatenbank gesucht werden.
  • X_ADDITIONAL_PARAMS: Zusätzliche Parameter für zukünftige Erweiterungen. Zur Zeit unbenutzt und somit initial.

Bedeutung der Ausgabeparameter:

  • E_SUBSTANCE_TAB: Ergebnis der Suche, d.h. die Menge von Spezifikationen, die die vom Benutzer eingegebenen Suchkriterien erfüllt haben und bereits in I_SUBSTANCE_TAB enthalten sind.
  • E_HITINFO_TAB: Zusätzliche Daten über die gefundenen Spezifikationen. Diese Angaben sollen pro Spezifikation kurz angeben, warum sie gefunden wurde, d.h. warum sie in der Trefferliste erscheint. Dieser Parameter wird im Moment vom Aufrufer nicht weiter ausgewertet und kann somit leer bleiben.

Ausgabefunktionen des Spezifikationsinformationssystems

Eine Ausgabefunktion besteht aus zwei Funktionsbausteinen:

  • einer Parameterfunktion zur Modifikation der internen Parameter der Ausgabe.
  • der eigentlichen Ausgabefunktion zur Datenausgabe.

Beispiel

Als Beispiel für einen erweiterten Suchbaustein können Sie die Suche über Kopfdaten von Spezifikationen vergleichen, die aus folgenden drei Funktionen besteht:

  • C1H0_SUB_FIND_BY_HEAD
  • C1H0_SUB_FIND_BY_HEAD_CMD
  • C1H0_SUB_FIND_BY_HEAD_PARA

Als Beispiel für eine Ausgabefunktion können Sie die Ausgabe von Eigenschaften als ABAP/4-Liste vergleichen, die aus folgenden zwei Funktionen besteht:

  • C1H0_SUB_SHOW_VALUAT
  • C1H0_SUB_SHOW_VALUAT_CMD
  • C1H0_SUB_SHOW_VALUAT_PARA

Weiterführende Informationen

  • Typgruppe ESP12





General Material Data   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11714 Date: 20240425 Time: 021322     sap01-206 ( 131 ms )