DEFINE VARIABLE hMenu AS HANDLE NO-UNDO. DEFINE VARIABLE hMenuItem AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_Filter AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_Excel AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_zurueck AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_sort AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_move AS HANDLE NO-UNDO. DEFINE VARIABLE hItem_Rule AS HANDLE NO-UNDO. DEFINE VARIABLE cMenu AS CHARACTER NO-UNDO. DEFINE VARIABLE hxMenu AS HANDLE NO-UNDO. DEFINE VARIABLE hxMenuItem AS HANDLE EXTENT 10 NO-UNDO. DEFINE VARIABLE ii AS INTEGER NO-UNDO. RUN SUPER. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. hFenster = DYNAMIC-FUNCTION('getContainerSource':U) NO-ERROR. IF VALID-HANDLE(hFenster) THEN Progname = DYNAMIC-FUNCTION('getProgname':U IN hFenster ) NO-ERROR. IF Progname = ? THEN Progname = ''. lWindow = (IF Progname BEGINS 'w-' THEN TRUE ELSE FALSE) NO-ERROR. EMPTY TEMP-TABLE tBrowser . EMPTY TEMP-TABLE tMenuItems . hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}. hBrowser:COLUMN-MOVABLE = TRUE. htBrowser = TEMP-TABLE tBrowser:DEFAULT-BUFFER-HANDLE. hObject = THIS-PROCEDURE:HANDLE. iBenuSprcd = DYNAMIC-FUNCTION ('getBenutzerSprcd':U) NO-ERROR. Sektion = SUBSTITUTE('Browser-&1', ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.')). hMenu = hBrowser:POPUP-MENU NO-ERROR. hMenuItem = hMenu :FIRST-CHILD NO-ERROR. DO WHILE VALID-HANDLE (hMenuItem): IF hMenuItem:NAME = ? OR NOT hMenuItem:NAME BEGINS 'x_' THEN DO: hMenuItem = hMenuItem:NEXT-SIBLING. NEXT. END. CREATE tMenuItems. ASSIGN tMenuItems.hMenuItem = hMenuItem. hMenuItem = hMenuItem:NEXT-SIBLING. END. hMenu = ?. CREATE MENU hMenu ASSIGN POPUP-ONLY = TRUE TITLE = 'Browser Menu'. CREATE MENU-ITEM hItem_Excel ASSIGN LABEL = 'EXPORT in Excel' NAME = 'm_excel' PARENT = hMenu. CREATE MENU-ITEM hItem_Filter ASSIGN LABEL = 'Filter setzen' NAME = 'm_filter' PARENT = hMenu. CREATE MENU-ITEM hItem_Rule ASSIGN SUBTYPE = 'RULE':U PARENT = hMenu. CREATE MENU-ITEM hItem_zurueck ASSIGN LABEL = 'Spalten und Breite zurücksetzen' NAME = 'm_zurueck' PARENT = hMenu. CREATE MENU-ITEM hItem_Rule ASSIGN SUBTYPE = 'RULE':U PARENT = hMenu. CREATE MENU-ITEM hItem_sort ASSIGN LABEL = 'Spalten sortierbar' NAME = 'm_sortieren' TOGGLE-BOX = TRUE CHECKED = FALSE PARENT = hMenu. CREATE MENU-ITEM hItem_move ASSIGN LABEL = 'Spalten verschiebbar' NAME = 'm_move' TOGGLE-BOX = TRUE CHECKED = TRUE PARENT = hMenu. FOR EACH tMenuItems ii = 1 TO 10: CREATE MENU-ITEM hxMenuItem[ii] ASSIGN LABEL = tMenuItems.hMenuItem:LABEL NAME = SUBSTRING(tMenuItems.hMenuItem:NAME,03) PARENT = hMenu. ON CHOOSE OF hxMenuItem[ii] PERSISTENT RUN VALUE(hxMenuItem[ii]:NAME) IN TARGET-PROCEDURE. END. hBrowser:POPUP-MENU = hMenu NO-ERROR. ON CHOOSE OF hItem_Filter PERSISTENT RUN FILTER_SETZEN IN TARGET-PROCEDURE. ON CHOOSE OF hItem_Excel PERSISTENT RUN EXPORT_EXCEL IN TARGET-PROCEDURE. ON CHOOSE OF hItem_zurueck PERSISTENT RUN ZURUECKSETZEN IN TARGET-PROCEDURE. ON VALUE-CHANGED OF hItem_sort PERSISTENT RUN SORTIERBAR IN TARGET-PROCEDURE ( hItem_sort, hItem_move ). ON VALUE-CHANGED OF hItem_move PERSISTENT RUN VERSCHIEBBAR IN TARGET-PROCEDURE ( hItem_move, hItem_sort ). /*DYNAMIC-FUNCTION('setLabeltexte':U, D1Firma, THIS-PROCEDURE:HANDLE, THIS-PROCEDURE:NAME, iBenuSprcd ) NO-ERROR.*/ hBrowser = {&BROWSE-NAME}:HANDLE IN FRAME {&FRAME-NAME}. IF lWindow THEN DYNAMIC-FUNCTION('getBrowserDaten':U, INPUT htBrowser, INPUT hBrowser, INPUT Sektion ) NO-ERROR.