Bild immer auffrischen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Bild immer auffrischen

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Hallo Leute,

Folgendes Problem.

Auf einem Dynpro hab ich ein Custom Controll Bereich. Diesen Bereich hab ich einem Objekt der Klasse cl_gui_picture zugeordnet.
Das ist der PBO:

Code: Alles auswählen.

 if picture is initial.
* create the custom container
    CREATE OBJECT g_cc_200
                  EXPORTING container_name = '200_CC_001'.

    CREATE OBJECT picture
                  EXPORTING parent = g_cc_200.
  endif.

  call method picture->load_picture_from_url
   exporting
     url = l_url.

  call method picture->set_display_mode
    exporting
      display_mode = picture->display_mode_stretch.

Und das der PAI

Code: Alles auswählen.

  CASE G_OK_CODE.
    when 'BACK' or 'EXIT' or 'CANCEL'.
      clear: picture, g_cc_200.
      clear: prog, dyn1.
      leave to screen 0.
  endcase.
Wenn ich jetzt ein Bild anhand der l_url aufrufe bekomme ich dann auch das richtige Bild. wenn ich dann aber dieses Dynpor schließe (PAI) und vom erstem Dynpro ein anderes Bild (andere URL die es auch gibt) bekomme ich wieder das erste Bild. Umgekehrt ist das auch so.

Weiß jemand woran das liegen kann.
Gruß dimes

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


Re: Bild immer auffrischen

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
dimes hat geschrieben: Weiß jemand woran das liegen kann.
Wird l_url richtig gesetzt? Wo wird l_url gesetzt?
Gruß Hendrik

Beitrag von dimes (Specialist / 146 / 0 / 0 ) »
Hi,

die Variable l_url wird vorher befüllt. Habs jetzt heir nicht mit reingenommen da es zu unübersichtlich wird. Außerdem liegt es daran nicht, da die Bilder jeweils beim erstem aufruf richtig angezeigt werden. Ab beim 2ten (und weitere) Aufruf wird immer das erste Bild gezeigt auch wenn die l_url vom 2 Bild befüllt wird...

Code: Alles auswählen.


"   Aufruf bei einem Event
    clear: l_url.
    case node_key.
      when 'Lief'.
        perform bild_zuweisen using 'PICTOR'.
      when others.
        perform bild_zuweisen using 'PICBSF'.
    endcase.

...

FORM bild_zuweisen USING pic.
  types t_line(256) type c.
  data: l_pict_tab type table of t_line.

* Datenobjecte werden importiert
  import pict_tab = l_pict_tab
    from database abtree(pi) id pic.

  call function 'DP_CREATE_URL'
       EXPORTING
            type    = 'IMIGE'
            subtype = 'GIF'
       TABLES
            data    = l_pict_tab
       CHANGING
            url     = l_url.

ENDFORM.                    " bild_zuweisen
Grad beim Debuggen hab ich gesehen das die l_url immer denselben Inhalt hat:
SAPR3://45903DA537C357EFE10000000A003208

Gruß dimes

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Im PAI versuchst du die Objekte mit

Code: Alles auswählen.

Clear 
zu löschen...sicher das das geht??? verwende da lieber mal .

Vllt löst es ja schon das Problem. Wenn man sehen könnte wie du l_url befüllst, könnte man vllt mehr sagen.

Gruß
Markus

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
Hab das nu mal programmiert, nachdem ich aber nicht ganz schlau aus deinem Text geworden bin, wieviele Dynpros du nun benutzt, hab ich alles auf einem erstmal.

Hab da gleich mal ne Fotoshow gemacht, sprich mit Vorwärts und Zurück-Button kann man die Bilder switchen.

Man muss den Destructor und den Befehl clear benutzen.

Hier mal die wichtigsten Codingstrecken: (zur Info hab mein Dynpro heißt 200)

Code: Alles auswählen.

PROCESS BEFORE OUTPUT.
  MODULE status_0200.
  MODULE create_controls.

PROCESS AFTER INPUT.
  MODULE leave_program AT EXIT-COMMAND.
  MODULE user_command_0200.

Code: Alles auswählen.

MODULE create_controls OUTPUT.

  IF r_con IS INITIAL.
    CREATE OBJECT r_con
      EXPORTING
        container_name              = 'MY_CONTROL_AREA'.
  ENDIF.

  IF r_pic IS INITIAL.
    CREATE OBJECT r_pic
      EXPORTING
        parent = r_con.
  ENDIF.

  IF gf_first = 'X'.
    CALL METHOD cl_bds_document_set=>get_with_url
      EXPORTING
        classname       = 'PICTURES'
        classtype       = 'OT'
         object_key      = '*UR*'  "Nach diesem Key wird im Namen gesucht
      CHANGING
        uris            = gt_url.

    gf_first = ''.
  ENDIF.

  READ TABLE gt_url INTO gs_url INDEX gf_ind.

  CALL METHOD r_pic->load_picture_from_url
   EXPORTING
     url = gs_url-uri.

ENDMODULE.                 " create_controls  OUTPUT

Code: Alles auswählen.

MODULE user_command_0200 INPUT.
  DATA: lf_lines TYPE i.

  CASE gf_okcode.
    WHEN 'VOR'.
      PERFORM free_pic.
      DESCRIBE TABLE gt_url LINES lf_lines.
      gf_ind = gf_ind + 1.
      IF gf_ind > lf_lines.
        gf_ind = lf_lines.
      ENDIF.
    WHEN 'ZUR'.
      PERFORM free_pic.
      gf_ind = gf_ind - 1.
      IF gf_ind < 1.
        gf_ind = 1.
      ENDIF.

  ENDCASE.
ENDMODULE.                 " user_command_0200  INPUT

Code: Alles auswählen.

FORM free_pic.
  CALL METHOD r_pic->free( ).
  CLEAR r_pic.
ENDFORM.                    " free_pic
Hoffe ich konnte dir helfen.

Gruß
Markus

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1678
Views
Selektionsbild auffrischen
von zickzack0312 » 01.02.2007 14:45 • Verfasst in ABAP® für Anfänger
1
Antw.
2065
Views
Anzeige Auffrischen bei REUSE_ALV_GRID_DISPLAY
von made » 28.06.2006 11:13 • Verfasst in ABAP® für Anfänger
1
Antw.
1557
Views
Toolbar Control auffrischen
von cut1 » 02.03.2007 17:18 • Verfasst in ABAP Objects®
2
Antw.
1928
Views
ALV Grid in Z-Anwendung automatisch auffrischen
von Lexle » 19.03.2008 12:41 • Verfasst in ABAP® Core
7
Antw.
3159
Views
Auffrischen einer internen Tabelle aus ALV-Liste
von sapdepp » 13.02.2013 15:53 • Verfasst in ABAP® Core

Über diesen Beitrag


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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 14 Stunden von Bright4.5 1 / 300
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1940
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8542