Report-Dynpro verändern
Auf einem Dynpro kann zu einer Listbox ein Funktionscode ausgelöst werden, wenn der Wert geändert wird. Auf einem Report wird es technisch zwar unterstützt, kann aber mit normalen Mitteln nicht aktiviert werden. Mit einem Trick geht es jedoch. Dieser Trick greift jedoch in die Dynprostruktur ein. Dieser Trick dient lediglich dazu, um zu zeigen, wie Dynpro-Manipulationen gemacht werden können.
HINWEIS
Dieser Tipp ist inzwischen veraltet! In aktuellen Releases muss natürlich der Zusatz USER-COMMAND verwendet werden! Die Stelle ist im Coding GRÜN hervorgehoben.
Screenshot
|
Coding
REPORT zzreport.
*** Variablen für Dynpro-Änderung
DATA:
h TYPE d020s,
f LIKE d021s OCCURS 0 WITH HEADER LINE,
e LIKE d022s OCCURS 0 WITH HEADER LINE,
m LIKE d023s OCCURS 0 WITH HEADER LINE,
res1 LIKE d021s_res1.
*** Variablen für die Checkbox
TYPE-POOLS vrm.
DATA:
t_values TYPE vrm_values,
l_value TYPE vrm_value.
*** Selektionsbild
PARAMETERS:
p_test AS LISTBOX VISIBLE LENGTH 20, “USER-COMMAND abc
p_moto AS CHECKBOX,
p_bike AS CHECKBOX,
p_auto AS CHECKBOX.
LOAD-OF-PROGRAM.
*** Dynpro einlesen
IMPORT DYNPRO h f e m
ID ‘ZZREPORT 1000’.
*** Funktionscode setzen
LOOP AT f WHERE fnam = ‘P_TEST’.
res1 = f-res1.
res1-funccode = ‘TEST’.
f-res1 = res1.
MODIFY f.
ENDLOOP.
*** Dynpro generieren
GENERATE DYNPRO h f e m
ID ‘ZZREPORT 1000’
MESSAGE sy-msgv1 LINE sy-msgv2 WORD sy-msgv3.
INITIALIZATION.
*** Werte für Listbox vorbereiten
l_value-key = ‘M’.
l_value-text = ‘Motorrad’.
APPEND l_value TO t_values.
l_value-key = ‘F’.
l_value-text = ‘Fahrrad’.
APPEND l_value TO t_values.
l_value-key = ‘A’.
l_value-text = ‘Auto’.
APPEND l_value TO t_values.
*** Werte für Listbox setzen
CALL FUNCTION ‘VRM_SET_VALUES’
EXPORTING
id = ‘P_TEST’
values = t_values.
*** Kommando auswerten
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN ‘TEST’.
CASE p_test.
WHEN ‘M’.
*** Wahl “Motorrad”
p_moto = ‘X’.
p_bike = ‘ ‘.
p_auto = ‘ ‘.
WHEN ‘F’.
*** Wahl “Fahrrad”
p_moto = ‘ ‘.
p_bike = ‘X’.
p_auto = ‘ ‘.
WHEN ‘A’.
*** Wahl “Auto”
p_moto = ‘ ‘.
p_bike = ‘ ‘.
p_auto = ‘X’.
WHEN space.
*** Keine Auswahl
p_moto = ‘ ‘.
p_bike = ‘ ‘.
p_auto = ‘ ‘.
ENDCASE.
ENDCASE.
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024