CL_DD_INPUT_ELEMENT Enter Event

Benutzeroberflächen in SAP Systemen.

CL_DD_INPUT_ELEMENT Enter Event

Postby Justine3791 » Tue Sep 15, 2009 10:21 am

Ich verwende in einem Programm von mir dynamische Dokumente wie im Beispiel Report "DD_ADD_FORM_INPUT".

Da ist mir jetzt ein Fehler aufgefallen:
Wenn ich bei einem Input Element das "Entered" Event verwende um auf das Drücken von Enter zu reagieren funktionieren die Buttons erst beim zweiten Klick.

Das selbe Problem auch in dem angesprochenen Beispiel Report.
Fokussiert da mal die erste Inputbox, drückt enter, anschließend die Messagebox weg und dann auf einen von den Buttons. Sie reagieren erst beim zweiten Klick :(

Ich konnte das Problem mit einem Aufruf von display_document der zugehörigen Klasse "cl_dd_document" zwar beheben aber dann löscht er immer den aktuellen Inhalt der Inputbox in der Anzeige. Auch wenn ich versuche den Text über "SET_VALUE" wieder rein zu bekommen zeigt er ihn nicht an.

Hat jemand eine Idee was man da machen kann?
Justine3791
..
..
 
Posts: 28
Joined: Fri Aug 11, 2006 8:28 am

Postby Jim3723 » Mon Jan 11, 2010 12:41 pm

hallo,

stehe vor einem ähnlichen problem mit SET_VALUE des CL_DD_INPUT_ELEMENT. hast du vielleicht shcon eine lösung gefunden?

würde mir gerne ersparen, das gesamte CL_DD_DOCUMENT neu aufzubauen und dann beim ADD_INPUT_ELEMENT einen gespeicherten wert für VALUE zu übergeben... das kanns ja echt nicht sein...

vielen dank im voraus für die antwort & viele grüße!
Jim3723
..
..
 
Posts: 99
Joined: Mon Jan 29, 2007 12:21 pm

Postby Justine3791 » Tue Jan 12, 2010 10:24 am

Habe mich bis jetzt damit abgefunden. Aber wenn du oder sonst jemand noch eine Lösung findet bin ich auf jeden Fall interessiert :wink:
Justine3791
..
..
 
Posts: 28
Joined: Fri Aug 11, 2006 8:28 am

Postby Jim3723 » Thu Feb 04, 2010 11:30 am

kommt zeit, kommt rat. es läuft doch :D

mit SET_VALUE alleine kommt man nicht so weit... intern setzt er den neuen wert des CL_DD_INPUT_ELEMENT ein, leider sieht man das nicht im debugger. wahrscheinlich ist das der grund für meine anfängliche verwirrung...

was aber im hintergrund gesetzt wird (neben neuem wert auch das attribut CHANGED des CL_DD_INPUT_ELEMENT), reicht dann in einem erneuten MERGE_DOCUMENT aufruf aus, um die HTML-tabelle des CL_DD_DOCUMENT anzupassen.

danach ein neues DISPLAY_DOCUMENT und die oberfläche zeigt den neuen wert...

viele grüße
Jim3723
..
..
 
Posts: 99
Joined: Mon Jan 29, 2007 12:21 pm

Postby Justine3791 » Thu Feb 04, 2010 11:46 am

Funktioniert einwandfrei. Vielen Dank.
Justine3791
..
..
 
Posts: 28
Joined: Fri Aug 11, 2006 8:28 am


Return to Dialogprogrammierung

Who is online

Users browsing this forum: No registered users and 10 guests