Bereitstellung der Wertehilfe (F4-Hilfe)  

Verwendung

Einem Benutzer des R/3-Systems wird es durch die F4-Wertehilfe ermöglicht, die zulässigen Eingabewerte zu einem bestimmten Eingabefeld anzuzeigen, und so Unterstützung in seiner Aufgabenstellung zu erhalten.

Diese Hilfestellung hinsichtlich der zulässigen Eingabewerte zu einem Feld sollte auch den Benutzern zur Verfügung stehen, die mit externen Programmen über den Aufruf von BAPIs mit dem R/3-System arbeiten. So sollte beispielsweise der Benutzer eines BAPIs, das über ein Visual Basic-Programm Daten aus dem R/3-System anzeigt oder dort verändert, transparent auf die Funktionen einer F4-Wertehilfe zugreifen können.

Funktionsumfang

Um eine derartige Eingabehilfe bereitzustellen, kann ein aufrufendes Programm das BAPI HelpValues.GetList() verwenden. Diesem liegt der RFC-fähige Funktionsbaustein BAPI_HELPVALUES_GET zugrunde, der die zulässigen Eingabewerte zu einem Feld liefert, das im Aufruf eines BAPIs übergeben wird. Detaillierte Informationen über die Struktur und Verwendung des BAPIs HelpValues.GetList() finden Sie in der entsprechenden BAPI-Dokumentation.

Das BAPI HelpValues.GetList() verwendet zur Ermittlung der zulässigen Eingabewerte zu einem Feld für die Prüftabelle, die Einzelsuchhilfe oder die Domänenfestwerte, die über das ABAP Dictionary mit dem Feld verknüpft sind.

Aus diesem Grund müssen Sie in den Bezugsstrukturen für die Felder in Ihrem BAPI entsprechende Prüftabellen, Einzelsuchhilfen (Matchcodes) oder Festwerte für Domänen angeben, bzw. diese bei Bedarf erstellen. Nur so kann eine aufrufende Anwendung mit Hilfe des BAPIs HelpValues.GetList() auf die gültigen Eingabewerte für die Felder Ihres BAPIs zugreifen.

 

Ab Release 4.5A müssen Sie einen Fremdschlüssel pflegen, wenn an der Domäne eine Prüftabelle definiert ist. Andernfalls kann keine F4-Wertehilfe angezeigt werden.

Informationen zu Prüftabellen, Matchcodes und Domänenfestwerten finden Sie in der Dokumentation zum ABAP Dictionary.

Berechtigungsprüfung

In manchen Situationen wird es erforderlich sein, den Zugriff auf die Informationen aus der F4-Wertehilfe nur Personen mit einem bestimmten Benutzerprofil zu ermöglichen. Sie können dazu innerhalb des BAPIs Berechtigungsprüfungen durchführen.

Zu diesem Zweck steht Ihnen die Tabelle BAPIF4T zur Verfügung. Diese Tabelle besteht aus folgenden Feldern, die Sie mit entsprechenden Angaben zu Ihrem BAPI füllen müssen:

Der technische Name des SAP-Business-Objekttyps, z.B. BUS1065.

Der Name eines BAPIs zu dem obengenannten Business-Objekttyp, z.B. GetList.

Der Name eines Datenelements an dem eine Wertehilfe festgelegt ist. Beispielsweise könnte am Datenelement PERNR_D eine elementare Wertehilfe festgelegt und vor Zugriff geschützt werden.

Der Name des Funktionsbausteins, den Sie erstellen müssen und der die Berechtigungsprüfung zu dem Datenelement durchführt. Dieser Funktionsbaustein muß folgende, vordefinierte Schnittstelle haben:

*"-------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(OBJTYPE) LIKE BAPIF4F-OBJTYPE
*" VALUE(METHOD) LIKE BAPIF4F-METHOD
*" VALUE(DTEL) LIKE BAPIF4F-DTEL
*" VALUE(SHLPNAME) LIKE BAPIF4F-SHLPNAME
*" VALUE(TABNAME) LIKE BAPIF4F-TABNAME
*" EXPORTING
*" VALUE(RETURN) LIKE BAPIF4F-RETURN
*"---------------------------------------------------------

Als Vorlage für Ihren Funktionsbaustein können Sie den Funktionsbaustein BF_BAPI_F4_AUTHORITY verwenden, der diese Schnittstelle bereitstellt. Kopieren Sie diesen Funktionsbaustein und beachten Sie die zugehörige Dokumentation.

Der zusätzlich in der Funktionsbaustein-Schnittstelle enthaltene Parameter SHLPNAME stellt den Namen der aktiven Eingabehilfe zur Tabelle bzw. dem Datenelement bereit, der Parameter TABNAME enthält den Namen der Wertetabelle.

Der Returncode des Parameters Return ist:

Der Funktionsbaustein wird zur Laufzeit dynamisch vom BAPI HelpValues.GetList() gerufen.

Eine Berechtigungsprüfung kann auf der Ebene des Business-Objekttyps, der Methode oder des Datenelements erfolgen:

Um die Berechtigungsprüfung
auf dieser Ebene durchzuführen...

... müssen folgende Felder in der Tabelle BAPIF4T gepflegt sein

Business-Objekttyp

OBJTYPE, FNAM

BAPI

OBJTYPE, METHOD, FNAM

Datenelement

OBJTYPE, METHOD, DTEL, FNAM