Schrift oder Zelle in Tabel View farbig gestalten

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
12 Beiträge • Seite 1 von 1
12 Beiträge Seite 1 von 1

Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Hallo,
ist es möglich die Schrift oder die Zelle in einem PMD mit einer Table View farbig zu hinterlegen?

Danke.

Gruß
Tatjana

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von a-dead-trousers (Top Expert / 4451 / 227 / 1197 ) »
Nein. (Das ist auch im SAP-Standard nicht möglich)

Einzige Möglichkeit (im SAP-Standard) wäre "Hervorheben" (blaue Schrift) aber ob das im PMD möglich ist, wage ich zu bezweifeln.
Was aber geht, ist ein Icon in der Zelle anzuzeigen. Nur darf das Feld in dem das Icon dargestellt werden soll, nicht eingabebereit sein.

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.18
Basis: 7.50

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Wie kann ich denn ein Icon hinterlegen und ist es möglich dies in Abhängigkeit eines Ereignisses zu hinterlegen (also Zelle auf nicht eingabebereit setzen und ein Icon anzeigen). Kann man eigentlich nur eine ganze Spalte oder Zeile eines Table Views auf nicht eingabebereit setzen oder ist es möglich nur eine Zelle auf nicht eingabebereit zu setzen?

Grüße und danke
Tatjana

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von a-dead-trousers (Top Expert / 4451 / 227 / 1197 ) »
Tgut hat geschrieben:Wie kann ich denn ein Icon hinterlegen
Als Anfänger kann man den Funktionsbaustein ICON_CREATE verwenden. Dann sieht man auch die Syntax wie ein Icon am GUI dargestellt werden kann. (@<Icon>\Q<Info>@<text>)
Tgut hat geschrieben:ist es möglich dies in Abhängigkeit eines Ereignisses zu hinterlegen (also Zelle auf nicht eingabebereit setzen und ein Icon anzeigen).
Bei PAI (z.B. Doppelklick oder Button) das Icon in die interne Tabelle schreiben. Nach dem anschließenden PBO ist das Icon dann in der Tabelle am GUI.
Es gibt aber auch die Möglichkeit außerhalb von PAI/PBO mit DYNP_VALUES_UPDATE am GUI etwas anzeigen zu lassen. z.b. bei POV/POH oder bei Verwendung von Controls.
Tgut hat geschrieben:Kann man eigentlich nur eine ganze Spalte oder Zeile eines Table Views auf nicht eingabebereit setzen oder ist es möglich nur eine Zelle auf nicht eingabebereit zu setzen?
Wenn du dir von deinem Dynpro die Ablauflogik anschaust, wirst du eine LOOP AT-Schleife sehen in der die Daten von der internen Tabelle auf das Control am GUI übertragen werden. Wenn du darin ein MODUL aufrufst, kannst du innerhalb dessen Verarbeitung mit LOOP AT SCREEN die Zustände der Felder in der Zeile (= der einzelnen Zellen) verändern.
Außerhalb des LOOP AT im Dynpro kannst du mit LOOP AT SCREEN die ganze Spalte verändern.

lg ADT

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

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.18
Basis: 7.50

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Hi,
ich hab mir jetzt überlegt, dass es geschickt wäre in der Table View meines PMD eine Spalte als Dropdown-Liste einzubinden und dort verschiedene Icons zur Auswahl zur Verfügung zu stellen. Allerdings weiß ich nach wie vor nicht wie ich die Symbole/Bilder in das Feld bekomme bzw. in die Liste. In der SE11 kann ich ja nur einen Text in der Domäne angeben.... könnt ihr mir nochmal helfen?

Danke.

Gruß
Tatjana

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von a-dead-trousers (Top Expert / 4451 / 227 / 1197 ) »
Das geht leider weder in PMDs noch in anderen Dynpros!
Drop-Down-Felder (oder generell alle eingabebereiten Felder) können keine Ikonen darstellen!

Die Syntax (auch fürs DDIC) bei reinen Anzeigefeldern wäre: @<2stelligerIkonenCode>\Q<Quickinfo>@<TextNebenIkone>
Also für das Okay-Zeichen (ICON_OKAY): @01\QWeiter@ Okay

Die zweistelligen Codes kannst du über die Tabelle ICON ermitteln: se16 (in ALV-Grid-Darstellung) -> ICON -> Die erste Spalte mit der Ikone auswählen und STRG+C -> An beliebiger Stelle einfügen.

In der SE11 bei den Domänen-Festwerten kannst du auch Ikonen über diese Syntax eintragen. Wenn du dann auf den Anzeige-Modus wechselst siehst du wie das ganze dann am Dynpro aussehen würden. Aber wie gesagt NUR bei nicht eingabebereiten Feldern.

Damit du so einen Wert in ein Datenfeld des PMDs bekommst, musst du einfach nur entsprechend API__SET_VALUE aufrufen. Reine Anzeigefelder (ohne DB) musst du über den Field-Modify-Userexits des jeweiligen Feldes realisieren.

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.18
Basis: 7.50

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Oh mann mal wieder so einfach... danke.

Schade, dass dies in Dropdown-Feldern nicht geht, vllt. mache ich eins mit Text und blende dann je nachdem welcher Text gewählt ist ein Icon ein.

Danke nochmal.

Gruß
Tatjana

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
So ich habe jetzt mein Dropdown-Feld in der Tabelle, Nun möchte ich gerne erreichen, dass wenn man einen bestimmten Wert auswählt in einem Feld daneben das Icon angezeigt wird. Ich habe einen OK-Code angelegt und versuche mit folgendem Code das entsprechende zu bewirken:

Code: Alles auswählen.

data: l_cbvalue(10) type c.

call method <pub__service>->api__get_value
   EXPORTING
    i_alias = 'ZPDKPAUSW'
    IMPORTING
     e_value = l_cbvalue.

Case l_cbvalue.

 when 'A'.

   CALL METHOD <PUB__SERVICE>->API__SET_VALUE
    EXPORTING
      I_ALIAS = 'ZPDTXTICON'
      I_VALUE = '@BH\Qneu@'.

endcase.
 endform.
Es kam eine Meldung "Kombination ZPDKPAUSW Occurence 000000 ist falsch.

Dann dachte evtl. muss ich eben die occurence mit dazu nehmen.

Code: Alles auswählen.

while sy-tabix > 0.

*Wert aus dem Radiobutton auslesen
  call method <pub__service>->api__get_value
    EXPORTING
      i_alias = 'ZPDKPAUSW'
     i_occ = l_sytabix
   IMPORTING
               E_VALUE = sy-tabix.

Case l_cbvalue.

when 'A'.
    CALL METHOD <pub__service>->api__set_value
    EXPORTING
      i_alias = 'ZPDTXTICON'
      i_value = 'test'
      i_occ = sy-tabix.
endcase.
endwhile.
Gibt nen netten Laufzeitfehler :-(

Hmm noch nen Tipp?

Grüße
Tatjana
Zuletzt geändert von Tgut am 18.07.2014 08:28, insgesamt 1-mal geändert.

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von a-dead-trousers (Top Expert / 4451 / 227 / 1197 ) »
Die OCC ist die laufende Nummer (MUSEQ) des Tabelleneintrags, also die Zeilennummer.
sy-index und sy-tabix haben damit nichts zu tun. Das sind die Indizes bei der Verarbeitung von internen Tabellen/Schleifen und sollten auch nur direkt bei einer solche Verarbeitung (LOOP AT, READ TABLE, WHILE, DO) eingesetzt werden. An allen anderen Stellen sind die Werte nicht gültig und können je nach Aufruf auf völlig falsche Werte zeigen.

Ich glaub beim Verarbeiten des Funktionscodes sollte der richtige Index in irgendeiner der <PUB__...> oder <MY__...> Variablen drinnen stehen.
Die brauchst du sowohl zum Auslesen als auch zum Reinschreiben. Bei Tabellen kann man im PMD-Framework leider nur auf Zellen-Ebene (also Zeile und Spalte) arbeiten.

lg ADT

EDIT: Wenn es darum geht, ALLE Zeilen einer Tabelle zu bearbeiten:
http://www.abapforum.com/forum/viewtopi ... 200#p71200
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.18
Basis: 7.50

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Hi,
also wenn ich die Zeilennummer hart übergebe geht es.

Code: Alles auswählen.

data:      y_value type datatype,
              y_valdec type string.

call method <pub__service>->api__get_value
    EXPORTING
      i_alias = 'ZPDKPAUSW'
      i_occ = 1
    IMPORTING
      e_value = y_value
      e_vdecoded = y_valdec.

case y_valdec.

  when 'neu'.

       CALL METHOD <PUB__SERVICE>->API__SET_VALUE
    EXPORTING
      I_ALIAS = 'ZPDTXTICON'
      I_VALUE = '@P7\Qneu@'
      i_occ = 1.

when '1. Ev'.

 CALL METHOD <PUB__SERVICE>->API__SET_VALUE
    EXPORTING
      I_ALIAS = 'ZPDTXTICON'
      I_VALUE = '@P8\Q1.Ev@'
      i_occ = 1.

endcase.
Also ist meine Fragestellung gerade wie ermittel ich in einem PMD in der Table View bzw. mutiplen Struktur in welcher Zeile (Nummer) ich mich gerade befinde?

Gruß
Tatjana

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Hab grad folgendes gefunden

http://www.abapforum.com/forum/viewtopi ... =1&t=19717

Damit sollte es gehen (hoffe ich).

Gruß
Tatjana

Re: Schrift oder Zelle in Tabel View farbig gestalten

Beitrag von Tgut (ForumUser / 75 / 3 / 0 ) »
Der Vollständigkeit halber mein Code funzt, bin glücklich und meine Anwender hoffentlich auch :-), vielen Dank für die tolle Unterstützung.

Code: Alles auswählen.

data: y_value type datatype,
         y_valdec type string,
         l_zeile type i.

l_zeile = <pub__this_line>.

call method <pub__service>->api__get_value
    EXPORTING
      i_alias = 'ZPDKPAUSW'
      i_occ = l_zeile
    IMPORTING
      e_value = y_value
      e_vdecoded = y_valdec.

case y_valdec.

 when 'neu'.
      CALL METHOD <PUB__SERVICE>->API__SET_VALUE
      EXPORTING
      I_ALIAS = 'ZPDTXTICON'
      I_VALUE = '@P7\Qneu@'
      i_occ = l_zeile.

when '1. Ev'.
     CALL METHOD <PUB__SERVICE>->API__SET_VALUE
      EXPORTING
      I_ALIAS = 'ZPDTXTICON'
      I_VALUE = '@P8\Q1.Ev@'
      i_occ = l_zeile.

endcase.
Grüßle
Tatjana

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2404
Views
Reitername Dynpro farbig gestalten
von tian98 » 25.01.2007 16:43 • Verfasst in SAP - Allgemeines
5
Antw.
2989
Views
ALV-Grid: Einzelne Zelle farbig (Feldsymbol)
von Annnelies » 21.08.2008 14:34 • Verfasst in ABAP® Core
2
Antw.
1847
Views
TABEL CONTROL markieren und auswerten
von SAPAlex » 09.03.2008 15:44 • Verfasst in ABAP® für Anfänger
2
Antw.
1489
Views
Werte bei BDC in ein tabel Control schreiben
von errorist » 24.06.2008 11:24 • Verfasst in ABAP® für Anfänger
3
Antw.
2451
Views
Tabel-Control variable Breite
von cut1 » 13.03.2006 12:32 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1900
Netzplan drucken
Gestern von sap_enthusiast 2 / 192
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 678
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1189
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3085

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1900
Netzplan drucken
Gestern von sap_enthusiast 2 / 192
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 678
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1189
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3085

Unbeantwortete Forenbeiträge

Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1189
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3511
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3397