Vielen Dank Baldur,

Dann hilft wohl nur ein generisches Programm, analog :

Code:
:COND NAME=OPT1
      EXPR='chkpgm("MENUOPTCHK")'.
:COND NAME=OPT2
      EXPR='chkpgm("MENUOPTCHK")'.
...
.* -------------------------------------         
.* Specify the action to be taken for each option
.* -------------------------------------         
:MENUI    OPTION=1
          COND=OPT1                     
          ACTION='CMD call menupgm ''OPTION1"'                
          HELP='menu/option1''.&MSG(OPT0001).
:MENUI    OPTION=2
          COND=OPT2                                                   
          ACTION='CMD call menupgm ''OPTION2"'                
          HELP='menu/option2''.&MSG(OPT0002).
Wobei in menupgm der Parameter &OPTION abgefragt wird und ggf über MSGF/MSGID das eigentliche Menüprogram + Parameter ermittelt und aufgerufen wird.
Der Menütext der Option wird leider nur zur Compile-Zeit gesetzt, aber damit könnte ich noch leben.

Ich muss zumindest nichts "fest" in der Source codieren, sondern ggf. nur das Menü-Panel neu kompilieren.
Die Anzeige/Einschränkung der erlaubten Menüpunkte kann ich dann über ein :COND CHKPGM/CHKOBJ/CHKUSRCLS steuern, da ich 15 Optionen fest hinterlegt habe, welche momentan nicht alle benutzt werden bzw. nicht von allen Anwendern benutzt werden dürfen.

Sven