Per Button klick ein symbol in den Button einfügen


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Per Button klick ein symbol in den Button einfügen

Beitragvon alex1986 » 03.08.2011, 14:57

Ich möchte wenn ich auf einen Button klicke genau in diesen Button ein Icon erscheint.
alex1986
ForumUser
 
Beiträge: 7
Registriert: 25.07.2011, 11:29
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

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

Re: Per Button klick ein symbol in den Button einfügen

Beitragvon Tron » 03.08.2011, 23:50

Moin Alex,
Ich möchte wenn ich auf einen Button klicke genau in diesen Button ein Icon erscheint.

wie bescheiden :) .. hier die Magie mit 3 Buttons:
Code: Alles auswählen
*&---------------------------------------------------------------------*
*& Report  Z_ZZSTATUSICON_PUSHBUTTON
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_ZZSTATUSICON_PUSHBUTTON.

*Das hier vorgestellte Programm zeigt Möglichkeiten auf, Druckknöpfe zur
*einfachen Zustandsanzeige zu verwenden.

INCLUDE <ICON>.

*** Selektionsbild mit drei Status-Drucktasten
SELECTION-SCREEN PUSHBUTTON /1(8) PUSH01 USER-COMMAND P01.
SELECTION-SCREEN PUSHBUTTON /1(8) PUSH02 USER-COMMAND P02.
SELECTION-SCREEN PUSHBUTTON /1(8) PUSH03 USER-COMMAND P03.

INITIALIZATION.
*** Drucktasten Vorbelegen
  PERFORM SWITCH USING PUSH01.
  PERFORM SWITCH USING PUSH02.
  PERFORM SWITCH USING PUSH03.

AT SELECTION-SCREEN.
*** Drucktasten auswerten
  CHECK SY-UCOMM(1) = 'P'.
  CASE SY-UCOMM.
    WHEN 'P01'.
*** Drucktaste 1
      PERFORM SWITCH USING PUSH01.
    WHEN 'P02'.
*** Drucktaste 2
      PERFORM SWITCH USING PUSH02.
    WHEN 'P03'.
*** Drucktaste 3
      PERFORM SWITCH USING PUSH03.
  ENDCASE.

*---------------------------------------------------------------------*
*       FORM SWITCH                                                   *
*---------------------------------------------------------------------*
* Umschalten des Status: Ja - Nein - Egal
*---------------------------------------------------------------------*
FORM SWITCH USING PUSH TYPE ANY.

  DATA LPUSH(4).
  LPUSH = PUSH.
  CASE LPUSH.
    WHEN ICON_LED_GREEN.
*** Status GRÜN -> ROT
      PUSH = ICON_LED_RED.
      CONCATENATE PUSH 'Nein' INTO PUSH.
    WHEN ICON_LED_RED OR SPACE.
*** Status ROT -> GELB
      PUSH = ICON_LED_YELLOW.
      CONCATENATE PUSH 'Egal' INTO PUSH.
    WHEN ICON_LED_YELLOW.
*** Status GELB -> GRÜN
      PUSH = ICON_LED_GREEN.
      CONCATENATE PUSH 'Ja' INTO PUSH.
  ENDCASE.

ENDFORM.

gruß Jens
Quelle: http://www.tricktresor.de/content/index.php?navID=501&aID=368
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Für diese Nachricht hat Tron einen Dank bekommen :
alex1986
Tron
Expert
 
Beiträge: 884
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 158 mal
Ich bin: Entwickler/in

Re: Per Button klick ein symbol in den Button einfügen

Beitragvon Unit605 » 04.08.2011, 06:13

Auf den Selection-Screen wäre ich nie im Leben gekommen :D

Ich war mehr so in der ALV Gegend :D
Unit605
Expert
 
Beiträge: 975
Registriert: 05.02.2009, 21:29
Dank erhalten: 92 mal
Ich bin: Freiberufler/in

Re: Per Button klick ein symbol in den Button einfügen

Beitragvon a-dead-trousers » 04.08.2011, 10:27

hi!

Dann schau dir mal die Online-Hilfe zum ALV durch, da ist beschrieben wie man einer Spalte einen Style verpassen kann. Die Spalte bekommt dann einfach den Style eines Buttons und den Inhalt einer Spalte kannst du dann so wie immer beliebig ändern.
Hier ist zu beachten, dass das ALV mit einer REFERENZ auf die Datentabelle arbeitet. d.h. wenn du bei SET_TABLE_FOR_FIRST_DISPLAY eine interne Tabelle angegeben hast, brauchst du nur den Inhalt in dieser zu ändern und beim ALV die REFRESH_TABLE_DISPLAY MEthode aufrufen um die Änderung auf das ALV zu übertragen. Wenn du im ALV Änderungen zulässt, werden diese im Gegenzug übrigens auch in dieser internen Tabelle zurückgespeichert.

hmm... Oder meint du die Toolbar? Dafür gibts beim ALV eigene Methoden wie man eigene Buttons hinzufügen kann. Ebenfalls in der Hilfe zu erfahren.

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: 2688
Registriert: 07.02.2011, 13:40
Dank erhalten: 618 mal
Ich bin: Entwickler/in

Re: Per Button klick ein symbol in den Button einfügen

Beitragvon alex1986 » 06.08.2011, 20:59

da ich noch ein totaler anfänger bin, meinte ich es genauso wie ich es am anfang geschrieben hab. (Simpel, einfach, ohne weitere hintergedanken^^)

Ich hab ein Dynpro, in diesem Dynpro befindet sich eine Drucktaste.
Die Drucktaste befindet sich in keinem alv und auch nicht in der toolbar...

Wenn ich jetzt auf diese Drucktaste klick... dann soll ein Icon in diese Drucktaste eingefügt werden (z.B. ein Harken, damit man weis, dass diese Drucktaste ausgewählt ist)

ich bin somit über mehrere Sachen gestoßen: loop at screen(steuert aber nur den status an: z.B. activ, input, output),
das obige beispiel, dass jens gepostet hat, bin ich durchgegangen, schritt für schritt. er legt nen button mit typ any(sucht sich also das richtige raus) und somit überprüft er den icon namen, hier meckert aber schon mal der syntax check und denkt dass der iconname eine variable ist(weil er wahrscheinlich nicht in anführungszeichen ist).

jetzt bin ich auf den FUBA 'ICON_CREATE' gestoßen..., aber er findet diese icons einfach nicht...
jedenfalls kommt ein laufzeitfehler in dem steht, dass der Funktionsparameter "ICON_NOT_FOUND" nicht bekannt ist
(ich hab mich in der tabelle icons umgesehen und es sind alle vorhanden), ich bin hier grad am verzweifeln

es ist noch kein meister vom himmel gefallen, seit bitte geduldig mit mir^^
da find ich das objektorientierte logische denken einfacher als solche kleinigkeiten wo man sich lange aufhalten muss bis man sein ziel erreicht hat
alex1986
ForumUser
 
Beiträge: 7
Registriert: 25.07.2011, 11:29
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: Per Button klick ein symbol in den Button einfügen

Beitragvon a-dead-trousers » 08.08.2011, 07:30

hi!

Die Tabelle ICON ist schon mal gut, auch Funktionsbaustein ICON_CREATE ist nicht schlect!
Was idr fehlt ist eine Variable im Hauptprogramm zum Dynpro, die GENAU GLEICH heißt wie der Button.
Im Dynpro musst du dann nur noch festlegen, dass es sich beim Button um einen Ausgabebutton handelt.
Alles was du nun in die Variable reinschreibst wird am Dynpro angezeigt.
ICON_CREATE arbeitet mit Literalen. d.h. du musst den Namen des gewünschten Icons mit Hochkommas angeben. als z.B. 'ICON_OKAY' für das Häckchen.

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: 2688
Registriert: 07.02.2011, 13:40
Dank erhalten: 618 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
gelöst Protokoll vergangener RFC Aufrufe
vor 16 Stunden von Dele 3 Antw.
BREAK-POINT-IDs verwenden
vor 15 Stunden von ralf.wenzel 2 Antw.
MEREQ001 Zusatzfelder ausblenden
vor 3 Tagen von SAP4Echo 0 Antw.
gelöst Z Tabelle Key Feld ändern
vor 3 Tagen von DeathAndPain 3 Antw.
gelöst Funktionsbaustein EXIT_SAPLCORF_404 in Transaktion COR6N
vor 20 Stunden von SAP_ENTWICKLER 2 Antw.

  Ähnliche Beiträge beta
Beim Button-klick -> Berechtigung prüfen
26.09.2011, 15:21 von ralf.wenzel 3 Antw.
eigenen Button einfügen
27.04.2005, 08:06 von ereglam 3 Antw.
MD62 Button einfügen
10.11.2014, 15:47 von D.K.93 0 Antw.
gelöst MM02/MM03 Button einfügen in Toolbar
10.09.2014, 07:42 von Adrian 5 Antw.
Dump bei Field-symbol
24.06.2008, 15:31 von ewx 3 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Yahoo [Bot]

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!