&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME wBenutzerKopieren {adecomm/appserv.i} &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wBenutzerKopieren /*------------------------------------------------------------------------ File: Description: from cntnrwin.w - ADM SmartWindow Template Input Parameters: Output Parameters: History: New V9 Version - January 15, 1998 ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AB. */ /*----------------------------------------------------------------------*/ /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR GlobKon AS CHAR NO-UNDO INIT '9999'. DEF VAR GlobFir AS CHAR NO-UNDO INIT '1000'. DEF VAR GlobFil AS CHAR NO-UNDO INIT '0000'. { incl/windefinition.i } {src/adm2/widgetprto.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartWindow &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER WINDOW &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME fMain /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-1 CB_VonBenutzer CB_ZuBenutzer Btn_OK ~ Btn_Cancel &Scoped-Define DISPLAYED-OBJECTS CB_VonBenutzer CB_ZuBenutzer /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wBenutzerKopieren FUNCTION getProgname RETURNS CHARACTER ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define the widget handle for the window */ DEFINE VAR wBenutzerKopieren AS WIDGET-HANDLE NO-UNDO. /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Cancel LABEL "Abbrechen" SIZE 15 BY 1. DEFINE BUTTON Btn_OK LABEL "Kopieren" SIZE 15 BY 1. DEFINE VARIABLE CB_VonBenutzer AS CHARACTER FORMAT "X(256)":U LABEL "von Benutzer" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 50 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_ZuBenutzer AS CHARACTER FORMAT "X(256)":U LABEL "zu Benutzer" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 50 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 96 BY 5.71. /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain CB_VonBenutzer AT ROW 2 COL 28 COLON-ALIGNED WIDGET-ID 2 CB_ZuBenutzer AT ROW 3 COL 28 COLON-ALIGNED WIDGET-ID 4 Btn_OK AT ROW 5 COL 30 WIDGET-ID 6 Btn_Cancel AT ROW 5 COL 65 WIDGET-ID 8 RECT-1 AT ROW 1.48 COL 3 WIDGET-ID 10 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 100 BY 6.67 WIDGET-ID 100. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartWindow Allow: Basic,Browse,DB-Fields,Query,Smart,Window Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source Other Settings: COMPILE APPSERVER */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW IF SESSION:DISPLAY-TYPE = "GUI":U THEN CREATE WINDOW wBenutzerKopieren ASSIGN HIDDEN = YES TITLE = "Benutzerdaten kopieren" HEIGHT = 6.67 WIDTH = 100 MAX-HEIGHT = 30.48 MAX-WIDTH = 160 VIRTUAL-HEIGHT = 30.48 VIRTUAL-WIDTH = 160 RESIZE = no SCROLL-BARS = no STATUS-AREA = no BGCOLOR = ? FGCOLOR = ? THREE-D = yes MESSAGE-AREA = no SENSITIVE = yes. ELSE {&WINDOW-NAME} = CURRENT-WINDOW. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN IF NOT wBenutzerKopieren:LOAD-ICON("grafik/appl.ico":U) THEN MESSAGE "Unable to load icon: grafik/appl.ico" VIEW-AS ALERT-BOX WARNING BUTTONS OK. &ENDIF /* END WINDOW DEFINITION */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wBenutzerKopieren /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW wBenutzerKopieren VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME fMain FRAME-NAME */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBenutzerKopieren) THEN wBenutzerKopieren:HIDDEN = yes. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME wBenutzerKopieren &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBenutzerKopieren wBenutzerKopieren ON END-ERROR OF wBenutzerKopieren /* Benutzerdaten kopieren */ OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: /* This case occurs when the user presses the "Esc" key. In a persistently run window, just ignore this. If we did not, the application would exit. */ IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY. /* ****************************** */ RUN ENDE. RETURN NO-APPLY. /* ****************************** */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBenutzerKopieren wBenutzerKopieren ON WINDOW-CLOSE OF wBenutzerKopieren /* Benutzerdaten kopieren */ DO: /* This ADM code must be left here in order for the SmartWindow and its descendents to terminate properly on exit. */ RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wBenutzerKopieren ON CHOOSE OF Btn_OK IN FRAME fMain /* Kopieren */ DO: RUN KOPIEREN. APPLY 'ENTRY' TO CB_VonBenutzer. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wBenutzerKopieren /* *************************** Main Block *************************** */ { incl/winmainblock.i } {src/adm2/windowmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wBenutzerKopieren _ADM-CREATE-OBJECTS PROCEDURE adm-create-objects : /*------------------------------------------------------------------------------ Purpose: Create handles for all SmartObjects used in this procedure. After SmartObjects are initialized, then SmartLinks are added. Parameters: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wBenutzerKopieren PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. CASE AktSeite: WHEN 1 THEN DO: /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */ /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */ /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */ END. WHEN 2 THEN DO: END. END CASE. RUN ENTRY_CURSOR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wBenutzerKopieren _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: Notes: Here we clean-up the user-interface by deleting dynamic widgets we have created and/or hide frames. This procedure is usually called when we are ready to "clean-up" after running. ------------------------------------------------------------------------------*/ /* Delete the WINDOW we created */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBenutzerKopieren) THEN DELETE WIDGET wBenutzerKopieren. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wBenutzerKopieren PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cString AS CHAR NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR ii AS INT NO-UNDO. DEF VAR cBenutzer AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR. RUN COMBO_BENUTZER ( CB_VonBenutzer:HANDLE ) NO-ERROR. CB_ZuBenutzer:DELIMITER = CHR(01). CB_ZuBenutzer:LIST-ITEM-PAIRS = CB_VonBenutzer:LIST-ITEM-PAIRS. cString = CB_ZuBenutzer:LIST-ITEM-PAIRS. ii = NUM-ENTRIES(cString, CHR(01)). ix = LOOKUP(cBenutzer, cString, CHR(01)). IF ix > 2 THEN ix = 2. ELSE ix = 4. IF ix > ii THEN ix = ii. CB_ZuBenutzer:SCREEN-VALUE = ENTRY(ix, cString, CHR(01)). END. { incl/winenableobject.i } RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wBenutzerKopieren _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: Notes: Here we display/view/enable the widgets in the user-interface. In addition, OPEN all queries associated with each FRAME and BROWSE. These statements here are based on the "Other Settings" section of the widget Property Sheets. ------------------------------------------------------------------------------*/ DISPLAY CB_VonBenutzer CB_ZuBenutzer WITH FRAME fMain IN WINDOW wBenutzerKopieren. ENABLE RECT-1 CB_VonBenutzer CB_ZuBenutzer Btn_OK Btn_Cancel WITH FRAME fMain IN WINDOW wBenutzerKopieren. {&OPEN-BROWSERS-IN-QUERY-fMain} VIEW wBenutzerKopieren. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wBenutzerKopieren PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/winende.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wBenutzerKopieren PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR. CASE AktSeite: /* WHEN 1 THEN DO: */ /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */ /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */ /* END. */ /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */ /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */ /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */ /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */ /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */ /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */ /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */ END CASE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wBenutzerKopieren PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Window-specific override of this procedure which destroys its contents and itself. Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wBenutzerKopieren PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. { incl/wininitializeobject.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPIEREN wBenutzerKopieren PROCEDURE KOPIEREN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF BUFFER bBenDaten FOR BenDaten. DEF BUFFER bBerecht FOR Berecht . DO WITH FRAME {&FRAME-NAME}: IF CB_VonBenutzer:SCREEN-VALUE = CB_ZuBenutzer:SCREEN-VALUE THEN RETURN NO-APPLY. Btn_OK :SENSITIVE = FALSE. Btn_Cancel:SENSITIVE = FALSE. FOR EACH BenDaten NO-LOCK WHERE BenDaten.Benutzer = CB_VonBenutzer:SCREEN-VALUE AND BenDaten.Konzern = GlobKon AND BenDaten.Firma = GLobFir AND BenDaten.Filiale = GlobFil: FIND bBenDaten WHERE bBenDaten.Benutzer = CB_ZuBenutzer:SCREEN-VALUE AND bBenDaten.Konzern = BenDaten.Konzern AND bBenDaten.Firma = BenDaten.Firma AND bBenDaten.Filiale = BenDaten.Filiale AND bBenDaten.RecArt = BenDaten.RecArt AND bBenDaten.Sektion = BenDaten.Sektion AND BBenDaten.Schluessel = BenDaten.Schluessel NO-ERROR. IF NOT AVAILABLE bBenDaten THEN CREATE bBenDaten. BUFFER-COPY BenDaten EXCEPT Benutzer TO bBenDaten ASSIGN bBenDaten.Benutzer = CB_ZuBenutzer:SCREEN-VALUE. RELEASE bBenDaten. END. FOR EACH Berecht NO-LOCK WHERE Berecht.Mandant = Firma AND Berecht.Benutzer = CB_ZuBenutzer:SCREEN-VALUE: FIND bBerecht WHERE RECID(bBerecht) = RECID(Berecht). DELETE bBerecht. END. FOR EACH Berecht NO-LOCK WHERE Berecht.Mandant = Firma AND Berecht.Benutzer = CB_VonBenutzer:SCREEN-VALUE: CREATE bBerecht. BUFFER-COPY Berecht EXCEPT Benutzer TO bBerecht ASSIGN bBerecht.Benutzer = CB_ZuBenutzer:SCREEN-VALUE. END. SESSION:SET-WAIT-STATE(''). Btn_OK :SENSITIVE = TRUE. Btn_Cancel:SENSITIVE = TRUE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wBenutzerKopieren PROCEDURE SEITENWECHSEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/winseitenwechsel.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wBenutzerKopieren PROCEDURE selectPage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER piPageNum AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR MutProg AS CHAR NO-UNDO. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR. IF FMutFlag THEN RETURN NO-APPLY. CASE piPageNum: END CASE. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. CASE AktSeite: WHEN 1 THEN DO: /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */ /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */ END. END CASE. RUN SUPER( INPUT piPageNum). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wBenutzerKopieren PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/wintoolbar.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wBenutzerKopieren PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN ENTRY_CURSOR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wBenutzerKopieren FUNCTION getProgname RETURNS CHARACTER ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ RETURN Progname. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME