Trigger AT SELECTION SCREEN OUTPUT.


Benutzeroberflächen in SAP®-Systemen.

Moderatoren: Jan, Steff

Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon nickname8 » 09.08.2018, 14:18

Hallo Leute,
ich habe folgenden Fall:
Ich habe auf dem Selections Bild (1000) ein Parameter, der read-only ist und der nur per F4 gefüllt wird. Anschließend soll der zurückgegebene Wert in den Parameter erscheinen (immer noch Read-only).

Zur Verdeutlichung:
Code: Alles auswählen

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_text.
  CALL SELECTION-SCREEN '9000' STARTING AT 5 5 ENDING AT 80 40.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF screen-name EQ 'P_TEXT'.
      screen-input = 0.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

AT SELECTION-SCREEN.
IF sy-dynnr EQ '9000'.
    CASE sscrfields-ucomm.
      WHEN 'CRET'.                                          "Run (F8)
        p_text = object->get_text( ).
    ENDCASE.
  ENDIF.
 


Jetzt habe ich den Fall, dass nach dem erfolgreichen F4-Aufruf der Wert zwar in P_TEXT steht, aber nur in der Variablen und nicht auf der Oberfläche. Wenn ich nochmal enter drücke (AT SELECTION-SCREEN OUTPUT wird nochmal ausgeführt), steht es dann auch in der Oberfläche.
Das Kuriose: wenn ich es nicht Read-Only mache (LOOP AT SCREEN weglassen), dann wird die Oberfläche sofort vernünftig dargestellt.

Irgendwie braucht der im read-only Modus den PBO nochmal. Hat jemand eine Idee wie ich das hinbekomme? cl_gui_cfw=>set_new_ok_code klappt nicht an der Stelle, habe es schon versucht.

Ich hoffe ich konnte mein Problem gut genug erklären.

Gruß
nickname8
ForumUser
 
Beiträge: 73
Registriert: 18.07.2015, 08:22
Dank erhalten: 7 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon a-dead-trousers » 09.08.2018, 14:50

hi!

Du brauchst den Baustein DYNP_VALUES_UPDATE.
Damit kannst du Werte DIREKT in das Dynpro schreiben, was bei nicht eingabebereiten Feldern im Selection-Screen und bei Process on Value-Request notwendig ist.
SAP wollte sich den "unnötigen" Feldtransport bei POV sparen, wenn das Feld eh nicht eingabebereit ist.

lg ADT
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.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3086
Registriert: 07.02.2011, 13:40
Dank erhalten: 762 mal
Ich bin: Entwickler/in

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon ewx » 09.08.2018, 17:04

a-dead-trousers hat geschrieben:SAP wollte sich den "unnötigen" Feldtransport bei POV sparen, wenn das Feld eh nicht eingabebereit ist.

Es ist eine Unsitte, ein nicht Eingabe bereites Feld per F4 zu füllen!
Wenn der Anwender in ein Feld Daten eingeben soll, dann sollte das Feld auch Eingabe bereit sein...
ewx
Top Expert
 
Beiträge: 3775
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 305 mal

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon a-dead-trousers » 09.08.2018, 19:04

ewx hat geschrieben:
a-dead-trousers hat geschrieben:SAP wollte sich den "unnötigen" Feldtransport bei POV sparen, wenn das Feld eh nicht eingabebereit ist.

Es ist eine Unsitte, ein nicht Eingabe bereites Feld per F4 zu füllen!
Wenn der Anwender in ein Feld Daten eingeben soll, dann sollte das Feld auch Eingabe bereit sein...

Amen!
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.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3086
Registriert: 07.02.2011, 13:40
Dank erhalten: 762 mal
Ich bin: Entwickler/in

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon nickname8 » 10.08.2018, 07:17

Hi,
ich bin eurer Meinung. Aber bei diesem Fall hatte ich von der Usability keine bessere Idee.
Vielleicht habt ihr eine bessere Idee.
Der Parameter ist vom Typ String. Über F4 rufe ich ein Screen auf, welcher ein Texteditor enthält, wo man ein Emailtext pflegen kann. So mit Zeilenumbrüchen. In einen normalen String-Parameter geht das ja nicht userfreundlich. Den im Texteditor eingegebenen Text übergebe ich dann an den Parameter. Diesen kann ich dann auch in der Variante abspeichern und der User hat eine Vorschau auf den Text.

Bin für Usabilityvorschläge sehr offen.

Grüße
nickname8
ForumUser
 
Beiträge: 73
Registriert: 18.07.2015, 08:22
Dank erhalten: 7 mal
Ich bin: Entwickler/in

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon Legxis » 10.08.2018, 08:22

Wieso brauchst du denn einen editierbaren Emailtext in dem Selection-Screen, das macht doch keinen Sinn. Mach doch dafür einen eigenen Screen
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 128
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 21 mal
Ich bin: Student/in

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon nickname8 » 10.08.2018, 09:04

Um die Email als Variante abzuspeichern?!
Wie beschrieben, rufe ich per F4 ein zusätzlichen Screen auf mit einem Texteditor, um die Eingabe angenehmer zu gestalten.
nickname8
ForumUser
 
Beiträge: 73
Registriert: 18.07.2015, 08:22
Dank erhalten: 7 mal
Ich bin: Entwickler/in

Re: Trigger AT SELECTION SCREEN OUTPUT.

Beitragvon black_adept » 13.08.2018, 10:43

Und warum rufst du den Texteditor mittels F4?
Nimm einen Pushbutton neben dem Feld der sagt "Emailtext ändern" und der ruft den Texteditor auf. Da du dann ganz normal danach wieder einen PBO prozessierst erübrigt sich dein Problem mit dem F4 und dem Feldtransport dann sowieso und du umgehst das unsägliche "nicht eingabebereite Feld mit F4 füllen" Ärgernis.

Und noch eine Nachfrage - hast du mal geprüft, ob die Variante auch wirklich lange ( > 256 Zeichen) Emails korrekt abspeichert?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3096
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 524 mal
Ich bin: Freiberufler/in


Zurück zu Dialogprogrammierung

  Aktuelle Beiträge   
Keine Ausgabe von 0,00 bei Beträgen
vor 16 Stunden von msfox 0 Antw.
gelöst Dynamischer Methodenaufruf mit dynamischer Tabelle
vor 18 Stunden von mark.thk 2 Antw.
Viele IDocs ohne Bestätigung per RFC
vor 21 Stunden von gs3rr4 0 Antw.
PDF Originale aus Kpro im Webbrowser anzeigen lassen
Gestern von DanielFulda 0 Antw.
Workflow: Bearbeiterfindung für Workitem wiederholen
vor 2 Tagen von DeathAndPain 0 Antw.

  Ähnliche Beiträge beta
gelöst AT SELECTION-SCREEN OUTPUT in Verbindung mit SUBMIT
15.11.2005, 18:20 von Fools 2 Antw.
Dynamischer Selection Screen
19.11.2004, 09:00 von Nemesis 2 Antw.
Wertübergabe an SELECTION-SCREEN
17.07.2006, 08:46 von Kojak 2 Antw.
Suchhilfe bei SELECTION-SCREEN
25.06.2008, 17:09 von A6272 0 Antw.
Selection-screen comment
11.08.2008, 13:15 von euro2008 4 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder