Ansicht
Dokumentation

DFPS_ASSIGN_DIFFERENT_SHLP - /ISDDFPS/-Suchhilfe dynamisch zuordnen

DFPS_ASSIGN_DIFFERENT_SHLP - /ISDDFPS/-Suchhilfe dynamisch zuordnen

TXBHW - Original Tax Base Amount in Local Currency   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Mit Hilfe dieses Bausteins können Sie einem Feld dynamisch eine Suchhilfe zuordnen.

Um diesen Baustein dazu verwenden zu können, müssen Sie zunächst entscheiden, ob

I Die zuzuordnende Suchhilfe aus einer festen Menge von Suchhilfen S1,...,Sn ausgewählt werden kann, oder ob
II Die zuzuordnende Suchhilfe noch völlig frei bestimmt werden kann.

In jedem Fall müssen Sie zunächst im ABAP Dictionary eine Sammelsuchhilfe S anlegen. Als Schnittstellenparameter erhält diese die Vereinigungsmenge aller zu beteiligenden Schnittstellenparameter aller in Frage kommenden Suchhilfen. Im Fall I müssen Sie außerdem die Suchhilfen S1,...,Sn in S inkludieren, wobei Sie natürlich bei der Parameterzuordnung jeweils die passenden Parameter einander zuordnen müssen. Im Fall II müssen Sie keine Suchhilfen in S inkludieren.

Weiterhin müssen Sie entscheiden, ob

1) der Name der zur verwendenden Suchhilfe zum F4-Zeitpunkt bereits in einem Feld des Dynpros oder seines Modulpools zur Verfügung gestellt werden kann, oder ob
2) zum F4-Zeitpunkt noch Programmlogik ablaufen soll, durch die der Name der korrekten Suchhilfe ermittelt wird.

Im Fall 1) müssen Sie der Suchhilfe S dann noch einen weiteren IMPORT-Parameter mit Namen SUBSHLP zuordnen, der typgleich zu dem entsprechenden Feld des Dynpros/Modulpools sein muß.

Ordnen Sie nun der Suchhilfe S ein Suchhilfe-Exit zu. Im Fall I1 können Sie dabei einfach diesen Baustein verwenden. In den anderen Fällen müssen Sie hierfür einen eigenen Funktionbaustein anlegen, in dem Sie diesen Baustein aufrufen, wobei Sie vorher noch die folgenden Operationen durchführen müssen:

  1. Im Fall 2) bestimmen Sie den Namen der zu verwendenden Suchhilfe, und übergeben Sie diesen an den Parameter SUBSHLP dieses Bausteins. Im Fall 1) lassen Sie diesen Parameter unversorgt.
  2. Im Fall II bestimmen Sie eine Tabelle von der Struktur DD33V, in der Sie die Parameterzuordnungen zwischen S und der gewählten Suchhilfe ablegen. Übergeben Sie diese Zuordnung an den Parameter DD33V_TAB dieses Bausteins. Im Fall I lassen Sie diesen Parameter einfach unversorgt.

Die restlichen Parameter dieses Bausteins sind mit den namensgleichen Parametern des Suchhilfe-Exits zu versorgen.

Schließlich binden Sie die Suchhilfe S an das Feld an, für das der Eingabehilfeablauf definiert werden soll. Dabei ist im Fall 1) dafür zu sorgen, daß der Parameter SUBSHLP dem Feld des Dynpros bzw. des Modulpools zugeordnet wird, in dem der Name der zu verwendenden Suchhilfe bereitgestellt wird.

Beispiel

Eine mögliche Anwendung dieses Funktionsbausteins besteht darin, einem Feld F einer Tabelle T, das in einem oder mehreren Views V1,...,Vm über T vorkommt, eine Eingabehilfe zuzuordnen, die abhängig davon ist, aus welchem View das Feld genommen wird (bzw., ob es nicht sogar aus der Tabelle T selbst genommen wird).

Um dies zu erreichen müssen Sie Suchhilfen S1,...,Sm anlegen, die die Eingabehilfeabläufe für die Felder V1-F,...,Vm-F beschreiben. Außerdem ist eine Suchhilfe S0 zur Beschreibung des Eingabehilfeablaufs für T-F zu definieren. Schließlich ist eine Sammelsuchhilfe S zu definieren, die S0,...,Sm inkludiert. Dieser Sammelsuchhilfe sollte dann ein Suchhilfe-Exit zugeordnet werden, der die folgenden Programmzeilen enthält:

DATA: subshlp LIKE DD31V-SUBSHLP,
interface LIKE DDSHIFACE.

READ TABLE SHLP-INTERFACE INTO interface WITH KEY F4FIELD = 'X'
TRANSPORTING VALTABNAME.
CASE interface-VALTABNAME.
WHEN 'T'. subshlp = 'S0'. " kann wg. OTHERS auch entfallen
WHEN 'V1'. subshlp = 'S1'.
...
WHEN 'Vm'. subshlp = 'Sm'.
* OTHERS-Behandlung für eventuelle weitere Views, oder Strukturen, die
* T inkludieren
WHEN OTHERS. subshlp = 'S0'.
ENDCASE.
CALL FUNCTION 'F4UT_SUBSHLP_CHOOSE'
EXPORTING
SUBSHLP = subshlp
TABLES
SHLP_TAB = SHLP_TAB
RECORD_TAB = RECORD_TAB
CHANGING
SHLP = SHLP
CALLCONTROL = CALLCONTROL.

Schließlich müssen Sie die Suchhilfe S an das Tabellenfeld T-F anbinden.

Bemerkung: In ähnlicher Weise kann auch einem Feld einer Struktur, die in mehreren Strukturen/Tabellen inkludiert ist, eine Suchhilfe zugeordnet werden, die einen Eingabehilfeablauf beschreibt, der noch abhängig ist, von der tatsächlich auf dem Dynpro befindlichen Struktur/Tabelle.

Hinweise

  1. Die ausgewählte Suchhilfen darf selbst auch wieder Sammelsuchhilfe sein.
  2. Im Fall I ist es auch zulässig, daß manche Suchhilfen in mehreren der Suchhilfen S1,...,Sn enthalten sind. Bei der Aktivierung von S wird dann zwar gemeldet, daß hier eine Verschattung zum Tragen kommt, die Verschattung wird dann aber durch den Übergang zu einer der Suchhilfen S1,...,Sn aufgehoben.
  3. Besitzt die zu verwendende Suchhilfe wiederum selbst einen Suchhilfe-Exit, so wird dieses im F4-Ablauf berücksichtigt. Das gilt auch, wenn diese Suchhilfe selbst wieder eine Sammelsuchhilfe ist.
  4. Dieser Baustein erkennt den Fall II daran, daß er mit einer nicht leeren Tabelle DD33V_TAB aufgerufen wird.
  5. Wird im Fall I im Parameter SUBSHLP eine auf tieferer Stufe in S enthaltene Suchhilfe angegeben, so wird diese ebenfalls verwendet. Es wird aber davon abgeraten, diese Technik zu verwenden.
  6. Enthält der Parameter SUBSHLP im Fall I nicht den Namen einer in S enthaltenen Suchhilfe, so führt dieser Funktionsbaustein keine Operation aus. Es wird also wie üblich S in seine elementaren Suchhilfen aufgelöst und dann prozessiert. Dies gilt auch, wenn der Parameter ein Muster oder eine komplexe Abgrenzung enthält. In diesem Fall sind allerdings noch Änderungen vorbehalten.
  7. Im Fall 2) sollten die Daten, die zur Ermittlung der zu verwendenden Suchhilfe benötigt werden, ebenfalls über IMPORT-Parameter von S in den Suchhilfeablauf hineingebracht werden. Die Inhalte dieser Parameter können dann im Suchhilfe-Exit mit Hilfe des Bausteins F4UT_PARAMETER_VALUE_GET bestimmt werden. (Im Beispiel ist dies unnötig, da sich hier die Daten in der Steuerinformation des Eingabehilfeablaufs selbst befinden.)

Weiterführende Informationen





Parameter

CALLCONTROL
DD33V_TAB
RECORD_TAB
SHLP
SHLP_TAB
SUBSHLP

Ausnahmen

Funktionsgruppe

DFPS_TST

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8212 Date: 20240523 Time: 141437     sap01-206 ( 137 ms )