Code: Alles auswählen.
TABLES zshop_user.
DATA: wa LIKE zshop_user.
DATA: lv_name(149) TYPE c.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 2.
SELECTION-SCREEN PUSHBUTTON (17) text1 USER-COMMAND btn1.
SELECTION-SCREEN POSITION 25.
SELECTION-SCREEN PUSHBUTTON (17) text2 USER-COMMAND btn2.
SELECTION-SCREEN POSITION 48.
SELECTION-SCREEN PUSHBUTTON (17) text3 USER-COMMAND btn3.
SELECTION-SCREEN POSITION 71.
SELECTION-SCREEN PUSHBUTTON (17) text4 USER-COMMAND btn4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
text1 = 'Benutzer anzeigen'.
text2 = 'Benutzer anlegen'.
text3 = 'Benutzer löschen'.
text4 = 'Geld überweisen'.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'btn1'.
MESSAGE lv_name TYPE 'S'.
ENDCASE.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
User1234
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report Z_SHOP_USER_1P
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_shop_user_1p.
TABLES zshop_user.
DATA: wa LIKE zshop_user.
DATA: lv_name(149) TYPE c.
**---Aufgabe Datenbanktabellen---
*UPDATE zshop_user SET name = 'MEIER' WHERE name = 'WYSS'.
*If sy-subrc = 0.
*COMMIT WORK.
*ENDIF.
*
*SELECT name FROM zshop_user INTO lv_name.
* WRITE lv_name.
*ENDSELECT.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 2.
SELECTION-SCREEN PUSHBUTTON (17) text1 USER-COMMAND btn1.
SELECTION-SCREEN POSITION 25.
SELECTION-SCREEN PUSHBUTTON (17) text2 USER-COMMAND btn2.
SELECTION-SCREEN POSITION 48.
SELECTION-SCREEN PUSHBUTTON (17) text3 USER-COMMAND btn3.
SELECTION-SCREEN POSITION 71.
SELECTION-SCREEN PUSHBUTTON (17) text4 USER-COMMAND btn4.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
text1 = 'Benutzer anzeigen'.
text2 = 'Benutzer anlegen'.
text3 = 'Benutzer löschen'.
text4 = 'Geld überweisen'.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'BTN1'.
MESSAGE lv_name TYPE 'S'.
ENDCASE.
Code: Alles auswählen.
TABLES SSCRFIELDS.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ewx
Wusste ich auch noch nicht.DeathAndPain hat geschrieben: ↑22.09.2021 15:29Außerdem ist es unsauber, auf SY-UCOMM abzufragen. Wie die SAP in der Hilfedoku schreibt, ist es da an dieser Stelle Glüxache, ob da der richtige Code drinsteht oder nicht. Stattdessen muss an den Anfang des Programms ein
Dann kann man die Funktionalität aber nicht an Schaltflächen binden, sondern muss sich der Standardstruktur von Reports unterwerfen. Im Prinzip sehe ich das ähnlich, aber wenn der Wunsch solche Knöpfe sind, auf die hin die Funktionalität dann losläuft, dann wäre aus meiner Sicht die Empfehlung, anstelle eines Reports auf einen Modulpool mit selbstgemachten Dynpros und einer Einsprung-Transaktion zu setzen.black_adept hat geschrieben: ↑22.09.2021 17:21Da du einen Report programmierst. Die "Arbeit" des Reports sollte normalerweise nicht zu den Selektionsbildzeitpunkten stattfinden sondern erst danach ( z.B. wenn man auf F8 drückt ). Ja - man kann das auch anders machen. Aber dann sollte man wissen was man tut und schon ein wenig Erfahrung mitbringen um sich bewusst anders zu entscheiden
Er hat ja keine andere Wahl, solange er einen Report baut: Per PUSHBUTTON im Report-Selektionsbild deklarierte Knöpfe lassen sich gar nicht zu einem anderen Zeitpunkt nutzen.Wenn du unbedingt das Ganze bei AT SELECTION-SCREEN machen musst
Wie kommst Du darauf?!? Sein Code (der in der von ihm aufgeführten Form natürlich noch nicht richtig funktioniert) reagiert auf BTN1 mit der Ausgabe.Du erzeugst doch die Liste erst, wenn du auf einen anderen als den voreingestellten Button1 klickst und danach wieder auf den Button1.
Ich auch nicht. Trotzdem bin ich der Meinung, dass man es lieber gleich ordentlich machen sollte. Der TABLES-Befehl ist ja jetzt nicht der Aufwand.Ich stimme Enno da voll zu:ich kann mich an kein Beispiel erinnern wo das ein Problem war