Code: Alles auswählen.
MODULE value_request INPUT.
DATA: lt_return TYPE TABLE OF ddshretval,
ls_return TYPE ddshretval,
lt_cols TYPE TABLE OF yaausbt_azubis,
ls_fields TYPE dynpread,
lt_field_tab TYPE TABLE OF dfies,
lt_fields TYPE TABLE OF dynpread.
SELECT azubi_indx vorname nachname jahrgang FROM yaausbt_azubis INTO CORRESPONDING FIELDS OF TABLE lt_cols.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'AZUBI_INDX' " Name des Rückgabefeldes in FIELD_TAB
dynpprog = sy-repid " Aktuelles Programm
dynpnr = sy-dynnr " Dynpro-Nummer
dynprofield = 'GF_INDEX' " Name des Dynpro-Feldes für Werterückgabe
value_org = 'S' " Werteübergabe: C: zellenweise, S: strukturiert
TABLES
value_tab = lt_cols " Tabelle der Werte; Einträge zellenweise
field_tab = lt_field_tab " Felder der Trefferliste
return_tab = lt_return " Rückgabe der ausgewählten Werte
* dynpfld_mapping = " Zuordnung der Dynprofelder zur int. Tabelle
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3
.
READ TABLE lt_return INTO ls_return INDEX 1.
gf_index_2 = ls_return-fieldval.
* gf_index = ls_return-fieldval.
*
* ls_fields-fieldvalue = gf_index.
* ls_fields-fieldname = 'GF_INDEX'.
*
* append ls_fields to lt_fields.
*
*call FUNCTION 'DYNP_VALUES_UPDATE'
* EXPORTING
* dyname = sy-repid " Programmname
* dynumb = sy-dynnr " Dynpronummer
* TABLES
* dynpfields = lt_fields " Tabelle zur Werterückstellung in die Dynp-Felder
* EXCEPTIONS
* invalid_abapworkarea = 1
* invalid_dynprofield = 2
* invalid_dynproname = 3
* invalid_dynpronummer = 4
* invalid_request = 5
* no_fielddescription = 6
* undefind_error = 7
* others = 8
* .
CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'.
ENDMODULE. " VALUE_REQUEST INPUT
Code: Alles auswählen.
TYPES: BEGIN OF _helpval,
key TYPE char04,
txt TYPE text40,
END OF _helpval,
_helpvals TYPE STANDARD TABLE OF _helpval WITH EMPTY KEY.
DATA helpvals TYPE _helpvals.
PARAMETERS fillme TYPE c LENGTH 4.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR fillme.
helpvals = VALUE #(
( key = 'ABCD' txt = 'Text A-B-C-D' )
( key = 'XYZ ' txt = 'Text XYZ' )
( key = '123 ' txt = 'Text one-two-three' )
).
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'KEY'
window_title = 'helpvalue demonstration'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'FILLME'
value_org = 'S'
TABLES
value_tab = helpvals
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
Also: Die F4 Hilfe wird eingeblendet. In der Return Tabelle steht das richtige.black_adept hat geschrieben: ↑02.03.2021 13:29
- Wird die F4-Hilfe überhaupt aufgeblendet?
- Wird in die Tabelle lt_return etwas ( am Besten das Richtige ) eingetragen?
- Zeig mal den Aufruf des Moduls inkl. des Zeitpunkts wo du es aufrufst
Code: Alles auswählen.
PROCESS BEFORE OUTPUT.
MODULE status_0300.
PROCESS AFTER INPUT.
MODULE user_command_0300.
PROCESS ON VALUE-REQUEST.
FIELD gf_index MODULE value_request.
Bei F4 gibt es kein PAI!