Oft ist es hilfreich, wenn man sich eigene Parameter festlegen kann, über die man in einem Programm Funktionen steuert.
Anlegen eines Parameters
- SE80 -> Paket -> Rechtsklick -> Anlegen -> Weitere (1) -> SET/GET-Parameter-ID
- Parameter-ID (z.B. ‘ZADM_SHOW_PARAMS’) und Kurzbeschreibung eingeben
Wert für Parameter setzen
- SU3 -> Reiter “Parameter”
- Set-/Get-Parameter-Id: zuvor angelegten Parameter (z.B. ‘ZADM_SHOW_PARAMS’) auswählen
- Parameterwert: beliebigen Wert zur späteren Auswertung eintragen, z.B. ‘X’
Werte werden in folgenden Tabelle abgelegt
- TPARA (Verzeichnis der Memory-Id’s (vorlaeufig))
- TPARAT (Kurztexte zu den Memory-Id’s)
- USR05 (Benutzerstamm Parameter-ID)
Auslesen eines Parameters im Code
* Konstante für angelegten Parameter 'ZADM_SHOW_PARAMS' CONSTANTS: co_parameter_id TYPE usr05-parid VALUE 'ZADM_SHOW_PARAMS'. * Parameter mit einer Modifikationsgruppe namens 'ADM' PARAMETERS: p_matnr TYPE matnr MODIF ID adm. PARAMETERS: p_bukrs TYPE bukrs MODIF ID adm. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN INTO DATA(lv_scr). * Name der Modifikationsgruppe ermitteln CASE lv_scr-group1. * wenn in Modifikationsgruppe 'ADM' WHEN 'ADM'. * Wert vorbelegen DATA(lv_adm_show_params) = CONV usr05-parva( abap_false ). * Benutzerparameter lesen, muss in Tabelle TPARA enthalten sein GET PARAMETER ID co_parameter_id FIELD lv_adm_show_params. * wenn Parameter vorhanden IF sy-subrc = 0. * anhand des Benutzerparameters die Anzeige der Modifikationsgruppe namens 'ADM' aktivieren / deaktivieren lv_scr-active = COND #( WHEN lv_adm_show_params = abap_true THEN '1' ELSE '0' ). * Adminparameter zur Info als hervorgehoben darstellen lv_scr-intensified = 1. ENDIF. ENDCASE. * geänderte Anzeigewerte setzen MODIFY screen FROM lv_scr. ENDLOOP.