ich habe im ALv-Grid ein Datum und ein anderes Feld.
Beide haben eine F4-Hilfe, das Datum Standardmäßig, mein Feld mit eigener F4-Hilfe.
Nun kommt beim Datum die F4-Hilfe am Ende des Feldes, bei meinem Feld am Anfang.
Ist etwas unschön und für den Benutzer auch unverständlich.
Kann man im ALv-Grid beieinflussen, ob die F4-Hilfe vorn oder hinten auftaucht ?
Jein.
Das liegt am Typ der F4-Hilfe. Die von Datumsfeldern ist über den Datentyp und dessen Suchhilfe definiert.
Nur wenn es sich um eine Suchhilfe handelt kann man diese amodal an der Cursorposition aufrufen lassen.
Die Zuweisung des Wertes erfolgt dann nämlich über DYNP_VALUES_UPDATE.
Am Besten kann man dieses Systemverhalten am Baustein F4IF_FIELD_VALUE_REQUEST erkennen:
Wenn der Parameter RETURN_TAB nicht versorgt ist (und einige weitere Vorraussetzungen gegeben sind) schaltet der Baustein auf eine amodale Darstellung um.
(siehe ca. Zeile 302; Suche nach "return_tab IS REQUESTED")
Was heißt das jetzt konkret für dein Problem:
1) Wenn du deine F4-Hilfe über ein eigenes Dynpro gelöst hast, wird dir nichts anderes übrigbleiben als die Position deines Popups mittels CALL SCREEN ... STARTING AT ... ENDING AT ... soweit zu beieinflussen, dass es halbwegs an der richtigen Position aufgeht. Wenn der Benutzer das Layout des ALV-Grids ändern darf wird das natürlich umso aufwändiger (ermitteln der angezeigten Felder, Feldlängen berechnen, Scrollposition ermitteln usw.).
2) Wenn du deine F4-Hilfe als Suchilfe im DDIC abbilden kannst, dann sollte sich die korrekte Positionierung (zumindest in der Theorie) durch den Standard bewerkstelligen lassen.
lg ADT
Zuletzt geändert von a-dead-trousers am 12.04.2017 11:51, insgesamt 2-mal geändert.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
Ich glaube ich habe mich missverständlich ausgedrückt.
Meine Frage ging dahin, dass der Knopf für die F4-Hilfe im ALV-Grid am Anfang bzw. mm Ende des eingabeberiiten Feldes erscheint,
nicht wo die F4-Suchhilfe selbst dann erscheint.
Was ich beeinflussen möchte, ist genau diese Position des F4-Hilfe-Knopfes.
Die Position der F4-Hilfe wird über die Feldausrichtung (LVC_S_FCAT-JUST) gesteuert. Bei rechts-ausgerichteten Felder wird die F4-Hilfe links angezeigt.
Macht ja auch Sinn, weil dann der "leere" Bereich eines Feldes in dem der F4-Button Platz finden soll am Anfang ist und nicht am Ende.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2): mfromg • gtoXX
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.