Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Include ZZ_SEL01
*&---------------------------------------------------------------------*
*|Selektionsbild gestalten
SELECTION-SCREEN BEGIN OF BLOCK abc WITH FRAME TITLE text-000.
*|Parameter für Lagernummer anzeigen
PARAMETERS: p_lgnum TYPE /scwm/lgnum OBLIGATORY "AS LISTBOX VISIBLE LENGTH 8
MEMORY ID /scwm/lgn.
*|Parameter für Arbeitsplatz anzeigen
PARAMETERS: p_workst TYPE /scwm/de_workstation "OBLIGATORY
MEMORY ID /scwm/wst.
SELECTION-SCREEN END OF BLOCK abc.
Code: Alles auswählen.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_workst.
*|F4-Wertehilfe für Arbeitsplatz
PERFORM get_f4_help_for_workstation CHANGING p_workst.
Code: Alles auswählen.
FORM get_f4_help_for_workstation
CHANGING ev_workst TYPE /scwm/de_workstation.
*|Interne Tabellen
DATA: lt_value_workst TYPE gtt_value_workst,
lt_return TYPE gtt_return.
*|Strukturen
DATA: ls_return TYPE gst_return VALUE IS INITIAL.
*|Variablen
DATA: lv_title TYPE sy-title VALUE IS INITIAL,
lv_dynpprog TYPE sy-repid VALUE IS INITIAL,
lv_dynpnr TYPE sy-dynnr VALUE IS INITIAL,
lv_field TYPE dfies-fieldname VALUE IS INITIAL.
*|Daten initialisieren
CLEAR: ev_workst, lt_value_workst, lt_return.
DATA lv_lgn TYPE /scwm/lgnum.
DATA lv_lgn2 TYPE /scwm/lgnum.
GET PARAMETER ID '/SCWM/LGN' FIELD lv_lgn.
*|Werte an Variablen übergeben
lv_dynpprog = sy-repid.
lv_dynpnr = sy-dynnr.
*|Titel des F4-Hilfe-Popups setzen
lv_title = text-000.
*|Selektionsfeld setzen
lv_field = gc_f4_workst.
*|Verfügbaren Arbeitsplätze ermitteln
SELECT * FROM /scwm/tworkst INTO CORRESPONDING FIELDS OF TABLE lt_value_workst where lgnum = lv_lgn "#EC CI_NOWHERE
ORDER BY PRIMARY KEY.
*|F4-Wertehilfe nur Anzeigen wenn Daten vorhanden
CHECK lines( lt_value_workst ) GE 1.
*|Anzeige F4-Hilfe für verfügbaren Arbeitsplätze
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = lv_field
dynpprog = lv_dynpprog
dynpnr = lv_dynpnr
window_title = lv_title
value_org = 'S'
TABLES
value_tab = lt_value_workst
return_tab = lt_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2.
*|Ausgewählten Satz lesen
READ TABLE lt_return INTO ls_return INDEX 1.
*|Übernahme des ausgewählten Arbeitsplatzes
ev_workst = ls_return-fieldval.
ENDFORM. "get_f4_help_for_workstation