Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Getting started ... Alles für einen gelungenen Start.
17 Beiträge • Seite 1 von 2 (current) Nächste
17 Beiträge Seite 1 von 2 (current) Nächste

Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Hallo zusammen,

Ich habe ein paar Knöpfe auf ein Selcection Screen. Durch ein Klick auf den ersten Knopf soll die Tabelle ausgegeben werden. Warum funktioniert es nicht, wie ich es gemacht habe. Was ist falsch?

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.


Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von a-dead-trousers (Top Expert / 3779 / 144 / 984 ) »
1.) Der Funktionscode in SY-UCOMM ist immer in Großbuchstaben. Also musst du auf "BTN1" abfragen.
2.) Du musst die Datenselektion sowie die Ausgabe des Ergebnisses noch programmieren und in der Funktionscodeverarbeitung einbauen.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
User1234

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

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
1.) habe ich erledigt.
2.) Habe ich noch nicht herausgefunden. Habe ein bischen recherchiert aber nix gefunden. Wie programmiere ich das? Könntest du ein Beispiel oder so machen?
Vielen Dank.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von black_adept (Top Expert / 3656 / 77 / 750 ) »
@User1234: Bist du sicher, dass du eine Tabelle ausgeben sollst. Wenn ich mir die Textelemente deines Beispielcodings anschaue fehlt eher ein Parameter für einen Benutzer und du sollst danach dann eine der angezeigten Aktionen ausführen aber keiner Tabelle anzeigen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Also ich meine, ich will die Tabellen Daten anzeigen, die ich früher mit SE16 erstellt habe.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von black_adept (Top Expert / 3656 / 77 / 750 ) »
Dann zeig doch mal das Coding, mit dem du die Tabelle ausliest.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Ich habe am anfang noch ein programm macht, womit man ein Name aus Tabelle ändern kann. Danach habe ich es ausgegeben. Diese habe ich ausgeklammert.

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.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von black_adept (Top Expert / 3656 / 77 / 750 ) »
Dann entferne die Kommentare und schau ob es funktioniert...
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Wenn ich nun nach den Ausführen auf die Buttons klicke passiert nicht. Wenn ich dann F8 drücke, erscheinen die Namen.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von black_adept (Top Expert / 3656 / 77 / 750 ) »
Ja - und was möchtest du anders haben?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von DeathAndPain (Top Expert / 1584 / 183 / 345 ) »
Na ja, der auskommentierte Teil (na ja, der SELECT daraus) müsste unter WHEN 'BTN1' verschoben werden, damit er dann und nur dann ausgeführt wird.

Auß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

Code: Alles auswählen.

TABLES SSCRFIELDS.
Und nachher muss dann nicht auf SY-UCOMM, sondern auf SSCRFIELDS-UCOMM abgefragt werden.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ewx


Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von ewx (Top Expert / 4439 / 227 / 497 ) »
DeathAndPain hat geschrieben:
22.09.2021 15:29
Auß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
Wusste ich auch noch nicht.
Ich habe damit aber auch noch nie Probleme gehabt.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von black_adept (Top Expert / 3656 / 77 / 750 ) »
@User123
  1. Du verwendest Zeitpunkte. Aber dein Ausgabecoding ist keinem Zeitpunkt explizit zugeordnet sondern nur implizit. Es ist eigentlich guter Programmierstil keine ausführbaren Zeilen nur implizit zugeordnet zu haben.
  2. Ich persönlich finde es eigentlich ganz übersichtlich, wenn die Zeitpunkte eines Reports auch in etwa in der Reihenfolge stehen, wie sie vom Gesamtprogrammfluss abgehandelt werden
  3. Da 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
  4. Wenn du unbedingt das Ganze bei AT SELECTION-SCREEN machen musst: Du erzeugst doch die Liste erst, wenn du auf einen anderen als den voreingestellten Button1 klickst und danach wieder auf den Button1. Ist das so gewollt?
  5. Hast du inzwischen mindestens eins der dir vorgeschlagenen Bücher besorgt?
@D&P: SSCRFIELDS ist der saubere Weg. Aber die Fälle, wo SY-UCOMM anders belegt ist als SSCRFIELDS wenn vorhanden, sind sehr selten. Ich stimme Enno da voll zu:ich kann mich an kein Beispiel erinnern wo das ein Problem war - zumindest nicht bei so simplen Selektionsbildern ( echte Dynproarbeit ist da ein ganz anderes Thema ).
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von DeathAndPain (Top Expert / 1584 / 183 / 345 ) »
black_adept hat geschrieben:
22.09.2021 17:21
Da 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
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.
Wenn du unbedingt das Ganze bei AT SELECTION-SCREEN machen musst
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.
Du erzeugst doch die Liste erst, wenn du auf einen anderen als den voreingestellten Button1 klickst und danach wieder auf den Button1.
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.
Ich stimme Enno da voll zu:ich kann mich an kein Beispiel erinnern wo das ein Problem war
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.

Re: Nach dem Klichen auf ein Button, wird die Tabelle nicht angezeigt.

Beitrag von User1234 (ForumUser / 43 / 20 / 0 ) »
Ganz schön viel Text und Antworten. Vielen Dank für die Antworten. Doch ich bin jetzt schön verwiirt. Was muss ich jetzt genau machen?


Aktuelle Forenbeiträge

HTML_control cookies
vor 42 Minuten von Rebecca 1 / 6
Knobelaufgabe ( Oktober 2021 )
vor 2 Stunden von black_adept 5 / 90
Button einbinden
vor 13 Stunden von black_adept 17 / 152

Vergleichbare Themen

Per Button klick ein symbol in den Button einfügen
von alex1986 » 03.08.2011 15:57
Nur ein Datensatz wird angezeigt.
von Tinalein » 28.08.2003 11:24
Teamkalender falsche Mitarbeiter angezeigt
von Dyrdek » 27.10.2017 12:25
Suchhilfebutton wird nicht angezeigt
von xilinx » 19.07.2006 21:38
Kopfzeile wird doppelt angezeigt.
von Bright4.5 » 17.08.2018 21:32