Icon im Dynpro erscheint nicht

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge / Seite 1 von 1
8 Beiträge Seite 1 von 1

Icon im Dynpro erscheint nicht

Beitrag von Legxis (Specialist / 131 / 56 / 23 ) » 10. Sep 2018 17:24

Hallo, ich wäre dankbar für etwas Hilfe.

Ich möchte den Status bestimmter Dinge gerne mit einem Ampel-Icon darstellen. Dies tue ich in einem Normalen Dynpro mit dem Icon-Element.
Ich benutze ICON_CREATE, jedoch bleiben die Icons leer, obwohl sie im Debugger zu sehen sind.

Bild

Deklaration:

Code: Alles auswählen.

DATA result_icon TYPE icons-text.
Im PBO des Dynpros:

Code: Alles auswählen.

  result_icon = 'ICON_VERB'.
  IF isOK_verb = 'X'.
    PERFORM icon_create USING 'ICON_GREEN_LIGHT'
                        CHANGING result_icon.
  ELSE.
    PERFORM icon_create USING 'ICON_RED_LIGHT'
                        CHANGING result_icon.
  ENDIF.
FuBa:

Code: Alles auswählen.

FORM icon_create USING name
                 CHANGING result.

  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
      name                  = name
    IMPORTING
      RESULT                = RESULT
    exceptions
       ...
ENDFORM.                    "icon_create
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 )


Re: Icon im Dynpro erscheint nicht

Beitrag von ewx (Top Expert / 3917 / 160 / 349 ) » 10. Sep 2018 17:25

RESULT_ICON ist global definiert?
RESULT_ICON ist auch der Name des Feldes im Dynpro?

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


Re: Icon im Dynpro erscheint nicht

Beitrag von Legxis (Specialist / 131 / 56 / 23 ) » 10. Sep 2018 17:27

Ja, das ist global im Top-Include und das was ich da reinschreibe 'ICON_VERB' ist der Name des Icon-Elements auf dem Dynpro.
Und gerade das war falsch, der Name muss derselbe sein, den muss ich nicht erst da reinschreiben xD
Danke sehr Enno =)
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 )

Re: Icon im Dynpro erscheint nicht

Beitrag von Legxis (Specialist / 131 / 56 / 23 ) » 10. Sep 2018 17:51

Jetzt habe ich allerdings ein neues Problem. Die grünen Ampeln werden korrent angezeigt, aber die roten nicht, bei denen steht nur @0A...
Ich habe schon Länge 3, 4 und 5 bei den Icon-Elementen ausprobiert, aber keins hat funktioniert.
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 )

Re: Icon im Dynpro erscheint nicht

Beitrag von ewx (Top Expert / 3917 / 160 / 349 ) » 10. Sep 2018 18:00

Schau dir mal an, was in RESULT_ICON wirklich drin steht...
Du baust das Icon mit Hilfe des Fubas ICON_CREATE auf.
Der hat den optionalen Parameter "ADD_STDINF", der per Default auf "X" steht.
Dadurch wird eine Quickinfo mitgegeben, was dann wie folgt aussieht:

Code: Alles auswählen.

@5B\QGrüne LED; Go; In Ordnung@
Die Länge des Ausgabefeldes im Dynpro sollte der der globalen Definition entsprechen.
mindestens aber so groß, dass zusätzliche Infos ins Feld passen.
Die sichtbare Länge kannst du ja auf z.B. 4 setzen.

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


Re: Icon im Dynpro erscheint nicht

Beitrag von Legxis (Specialist / 131 / 56 / 23 ) » 11. Sep 2018 11:08

Da hast du recht, das Element soll 132 lang sein laut Deklaration, aber im Dynpro wurde das Element automatisch auf 33 gesetzt. Ich bin davon ausgegangen das das richtig wäre.

So funktioniert alles =)
Bild
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 )

Re: Icon im Dynpro erscheint nicht

Beitrag von AdrianSchm (ForumUser / 28 / 4 / 2 ) » 11. Sep 2018 12:38

Was ist eigentlich besser den Icon Create Fuba zu nehmen oder den Typepool?

Re: Icon im Dynpro erscheint nicht

Beitrag von a-dead-trousers (Top Expert / 3199 / 81 / 792 ) » 11. Sep 2018 15:00

Kommt drauf an:
Wenn man wirklich nur den Icon-Code braucht würde ich den Type-Pool nehmen.
Wenn man Icon mit Text braucht ist man IMHO mit einem CONCATENATE (oder ähnlichem) von Icon-Code und Text etwas schneller fertig.
Erst bei einer zusätzlichen Quick-Info würde ich den ICON_CREATE nehmen, weil man das kaum mehr sinnvoll in eine Zeile/Befehl geschrieben bekommt.

EDIT:

Code: Alles auswählen.

LD_ICON = |{ ICON_GREEN_LIGHT(3) }\Q{ ld_quickinfo }@ { ld_text }|.
Selbst in der neuen Syntax finde ich das Ganze etwas "sperrig" zu lesen.
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

Seite 1 von 1

Aktuelle Forenbeiträge

OBN im NWBC ohne Popup
vor 8 Stunden von msfox 2 / 37
Business Partner Konzept
vor 8 Stunden von waltersen 4 / 267
Exception Handling FuBa test
vor 11 Stunden von czschunke 2 / 88
MD14 Felder einblenden Umsetzung Planauftrag
vor 11 Stunden von Thomas R. 1 / 20

Unbeantwortete Forenbeiträge

MD14 Felder einblenden Umsetzung Planauftrag
vor 11 Stunden von Thomas R. 1 / 20
Verursachervormerkung OCM manuell anlegen
vor einer Woche von Aba 1 / 129
Auflösen MILL_OC - Auftragszusammenfassung
vor einer Woche von tofralu 1 / 112
Löschen von archivierten Drucklisten
vor einer Woche von Asaph 1 / 103