&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME wRabSummGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wRabSummGrp /*------------------------------------------------------------------------ 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 MaxPage AS INT NO-UNDO. DEF VAR AktSeite AS INT NO-UNDO. DEF VAR Fenster AS HANDLE NO-UNDO. DEF VAR hToolbar AS HANDLE NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO INIT FALSE. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE. DEF VAR Firma AS CHAR NO-UNDO. /* _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 &Scoped-define BROWSE-NAME Br_ArtRabGrp /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Tabel /* Definitions for BROWSE Br_ArtRabGrp */ &Scoped-define FIELDS-IN-QUERY-Br_ArtRabGrp Tabel.CodeI Tabel.Bez1 &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_ArtRabGrp &Scoped-define QUERY-STRING-Br_ArtRabGrp FOR EACH Tabel ~ WHERE Tabel.Firma = Firma ~ AND Tabel.Recart = "ARABGRP" ~ AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_ArtRabGrp OPEN QUERY Br_ArtRabGrp FOR EACH Tabel ~ WHERE Tabel.Firma = Firma ~ AND Tabel.Recart = "ARABGRP" ~ AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_ArtRabGrp Tabel &Scoped-define FIRST-TABLE-IN-QUERY-Br_ArtRabGrp Tabel /* Definitions for BROWSE Br_DebRabGrp */ &Scoped-define FIELDS-IN-QUERY-Br_DebRabGrp Tabel.CodeI Tabel.Bez1 &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_DebRabGrp &Scoped-define QUERY-STRING-Br_DebRabGrp FOR EACH Tabel ~ WHERE Tabel.Firma = Firma ~ AND Tabel.Recart = "RABGRP" ~ AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_DebRabGrp OPEN QUERY Br_DebRabGrp FOR EACH Tabel ~ WHERE Tabel.Firma = Firma ~ AND Tabel.Recart = "RABGRP" ~ AND Tabel.Sprcd = 1 NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_DebRabGrp Tabel &Scoped-define FIRST-TABLE-IN-QUERY-Br_DebRabGrp Tabel /* Definitions for FRAME fMain */ &Scoped-define OPEN-BROWSERS-IN-QUERY-fMain ~ ~{&OPEN-QUERY-Br_ArtRabGrp}~ ~{&OPEN-QUERY-Br_DebRabGrp} /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS Br_DebRabGrp Br_ArtRabGrp /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define the widget handle for the window */ DEFINE VAR wRabSummGrp AS WIDGET-HANDLE NO-UNDO. /* Definitions of handles for SmartObjects */ DEFINE VARIABLE h_b-rabsumm AS HANDLE NO-UNDO. DEFINE VARIABLE h_b-rabtab AS HANDLE NO-UNDO. DEFINE VARIABLE h_d-rabsumm AS HANDLE NO-UNDO. DEFINE VARIABLE h_d-rabtab AS HANDLE NO-UNDO. DEFINE VARIABLE h_dyntoolbar AS HANDLE NO-UNDO. DEFINE VARIABLE h_folder AS HANDLE NO-UNDO. DEFINE VARIABLE h_v-rabsumm AS HANDLE NO-UNDO. DEFINE VARIABLE h_v-rabtab AS HANDLE NO-UNDO. /* Definitions of the field level widgets */ /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_ArtRabGrp FOR Tabel SCROLLING. DEFINE QUERY Br_DebRabGrp FOR Tabel SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_ArtRabGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_ArtRabGrp wRabSummGrp _STRUCTURED QUERY Br_ArtRabGrp NO-LOCK DISPLAY Tabel.CodeI COLUMN-LABEL "Cd" FORMAT "999":U WIDTH 4 Tabel.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 40 BY 5.19 BGCOLOR 15 TITLE BGCOLOR 15 "Artikel - Rabattgruppen" FIT-LAST-COLUMN. DEFINE BROWSE Br_DebRabGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_DebRabGrp wRabSummGrp _STRUCTURED QUERY Br_DebRabGrp NO-LOCK DISPLAY Tabel.CodeI COLUMN-LABEL "Cd" FORMAT "999":U Tabel.Bez1 COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 40 BY 5.19 BGCOLOR 15 TITLE BGCOLOR 15 "Debitoren - Rabattgruppen" FIT-LAST-COLUMN. /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain Br_DebRabGrp AT ROW 3.81 COL 7 Br_ArtRabGrp AT ROW 3.81 COL 55 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 137 BY 24.52. /* *********************** 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 Design Page: 1 Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW IF SESSION:DISPLAY-TYPE = "GUI":U THEN CREATE WINDOW wRabSummGrp ASSIGN HIDDEN = YES TITLE = "Rabatt-/Summengruppen" HEIGHT = 24.52 WIDTH = 137 MAX-HEIGHT = 46.52 MAX-WIDTH = 256 VIRTUAL-HEIGHT = 46.52 VIRTUAL-WIDTH = 256 RESIZE = no SCROLL-BARS = no STATUS-AREA = no BGCOLOR = ? FGCOLOR = ? THREE-D = yes MESSAGE-AREA = no SENSITIVE = yes. ELSE {&WINDOW-NAME} = CURRENT-WINDOW. /* END WINDOW DEFINITION */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wRabSummGrp /* ************************* 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 wRabSummGrp VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME fMain FRAME-NAME */ /* BROWSE-TAB Br_DebRabGrp 1 fMain */ /* BROWSE-TAB Br_ArtRabGrp Br_DebRabGrp fMain */ IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wRabSummGrp) THEN wRabSummGrp:HIDDEN = yes. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_ArtRabGrp /* Query rebuild information for BROWSE Br_ArtRabGrp _TblList = "AnaDat.Tabel" _Options = "NO-LOCK INDEXED-REPOSITION" _Where[1] = "Tabel.Firma = Firma AND Tabel.Recart = ""ARABGRP"" AND Tabel.Sprcd = 1" _FldNameList[1] > AnaDat.Tabel.CodeI "Tabel.CodeI" "Cd" "999" "integer" ? ? ? ? ? ? no ? no no "4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > AnaDat.Tabel.Bez1 "Tabel.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is OPENED */ /* BROWSE Br_ArtRabGrp */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_DebRabGrp /* Query rebuild information for BROWSE Br_DebRabGrp _TblList = "AnaDat.Tabel" _Options = "NO-LOCK INDEXED-REPOSITION" _Where[1] = "Tabel.Firma = Firma AND Tabel.Recart = ""RABGRP"" AND Tabel.Sprcd = 1" _FldNameList[1] > AnaDat.Tabel.CodeI "Tabel.CodeI" "Cd" "999" "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > AnaDat.Tabel.Bez1 "Tabel.Bez1" "Bezeichnung" ? "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is OPENED */ /* BROWSE Br_DebRabGrp */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME wRabSummGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wRabSummGrp wRabSummGrp ON END-ERROR OF wRabSummGrp /* Rabatt-/Summengruppen */ OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: 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 wRabSummGrp wRabSummGrp ON WINDOW-CLOSE OF wRabSummGrp /* Rabatt-/Summengruppen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_ArtRabGrp &Scoped-define SELF-NAME Br_ArtRabGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_ArtRabGrp wRabSummGrp ON VALUE-CHANGED OF Br_ArtRabGrp IN FRAME fMain /* Artikel - Rabattgruppen */ DO: DEF VAR sDaten AS CHAR NO-UNDO. sDaten = STRING(Tabel.CodeI,'999') + CHR(01) + Tabel.Bez1. RUN SETARTIKELGRUPPE IN h_v-rabtab ( INPUT sDaten ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_DebRabGrp &Scoped-define SELF-NAME Br_DebRabGrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_DebRabGrp wRabSummGrp ON VALUE-CHANGED OF Br_DebRabGrp IN FRAME fMain /* Debitoren - Rabattgruppen */ DO: DEF VAR sDaten AS CHAR NO-UNDO. sDaten = STRING(Tabel.CodeI,'999') + CHR(01) + Tabel.Bez1. RUN SETKUNDENGRUPPE IN h_v-rabtab ( INPUT sDaten ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_ArtRabGrp &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wRabSummGrp /* *************************** Main Block *************************** */ MaxPage = 2. AktSeite = 1. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. IF SAktiv THEN DO: Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR. END. SESSION:DATA-ENTRY-RETURN = TRUE. SUBSCRIBE TO 'TOOLBAR' ANYWHERE. /* TRIGGERS ------------------------------------------------------ */ ON 'ALT-CURSOR-RIGHT':U OF {&WINDOW-NAME} ANYWHERE DO: RUN NEXTPAGE. RETURN NO-APPLY. END. ON 'ALT-CURSOR-LEFT':U OF {&WINDOW-NAME} ANYWHERE DO: RUN PREVPAGE. RETURN NO-APPLY. END. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE DO: RUN ENTRY_CURSOR. RETURN NO-APPLY. END. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'Next':U ). RETURN NO-APPLY. END. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'Prev':U ). RETURN NO-APPLY. END. ON 'ALT-RETURN':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'UPDATE':U ). END. ON 'ALT-INS':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'ADD':U ). END. ON 'ALT-DEL':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'DELETE':U ). END. ON 'ALT-R':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'RESET':U ). END. ON 'F9':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'SAVE':U ). END. ON 'ALT-S':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'SAVE':U ). END. ON 'ALT-K':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN hToolbar ( INPUT 'COPY':U ). END. ON 'END-ERROR':U OF {&WINDOW-NAME} ANYWHERE DO: FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR. IF FMutFlag = FALSE THEN DO: RUN ENDE. RETURN NO-APPLY. END. RUN TOOLBAR IN hToolbar ( INPUT 'CANCEL':U ). RETURN NO-APPLY. END. ON 'ALT-1':U OF {&WINDOW-NAME} ANYWHERE DO: IF DYNAMIC-FUNCTION('getMutflagAlt':U) = TRUE THEN RETURN NO-APPLY. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = 1 THEN RETURN NO-APPLY. RUN selectPage ( INPUT 1 ). END. ON 'ALT-2':U OF {&WINDOW-NAME} ANYWHERE DO: IF DYNAMIC-FUNCTION('getMutflagAlt':U) = TRUE THEN RETURN NO-APPLY. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = 2 THEN RETURN NO-APPLY. RUN selectPage ( INPUT 2 ). END. /* Include custom Main Block code for SmartWindows. */ {src/adm2/windowmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wRabSummGrp _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: ------------------------------------------------------------------------------*/ DEFINE VARIABLE currentPage AS INTEGER NO-UNDO. ASSIGN currentPage = getCurrentPage(). CASE currentPage: WHEN 0 THEN DO: RUN constructObject ( INPUT 'd-rabsumm.wDB-AWARE':U , INPUT FRAME fMain:HANDLE , INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessnoDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-rabsummOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposnoToggleDataTargetsyes':U , OUTPUT h_d-rabsumm ). RUN repositionObject IN h_d-rabsumm ( 2.52 , 91.40 ) NO-ERROR. /* Size in AB: ( 2.57 , 13.60 ) */ RUN constructObject ( INPUT 'd-rabtab.wDB-AWARE':U , INPUT FRAME fMain:HANDLE , INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessnoDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-rabtabOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposnoToggleDataTargetsyes':U , OUTPUT h_d-rabtab ). RUN repositionObject IN h_d-rabtab ( 2.81 , 73.80 ) NO-ERROR. /* Size in AB: ( 3.52 , 16.80 ) */ RUN constructObject ( INPUT 'src_dlcv91c/adm2/dyntoolbar.w':U , INPUT FRAME fMain:HANDLE , INPUT 'EdgePixels2DeactivateTargetOnHidenoDisabledActionsFlatButtonsyesMenunoShowBorderyesToolbaryesActionGroupsTableio,NavigationTableIOTypeUpdateSupportedLinksNavigation-source,Tableio-sourceToolbarBandsToolbarAutoSizenoToolbarDrawDirectionhorizontalLogicalObjectNameDisabledActionsHiddenActionsResetHiddenToolbarBandsHiddenMenuBandsMenuMergeOrder0RemoveMenuOnHidenoCreateSubMenuOnConflictyesNavigationTargetNameHideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_dyntoolbar ). RUN repositionObject IN h_dyntoolbar ( 1.00 , 1.00 ) NO-ERROR. RUN resizeObject IN h_dyntoolbar ( 1.33 , 136.80 ) NO-ERROR. RUN constructObject ( INPUT 'src/adm2/folder.w':U , INPUT FRAME fMain:HANDLE , INPUT 'FolderLabels':U + 'Rabattgruppen (1)|Summengruppen (2)' + 'FolderTabWidth0FolderFont-1HideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_folder ). RUN repositionObject IN h_folder ( 2.43 , 1.00 ) NO-ERROR. RUN resizeObject IN h_folder ( 23.05 , 136.80 ) NO-ERROR. /* Links to SmartFolder h_folder. */ RUN addLink ( h_folder , 'Page':U , THIS-PROCEDURE ). /* Adjust the tab order of the smart objects. */ RUN adjustTabOrder ( h_dyntoolbar , Br_DebRabGrp:HANDLE IN FRAME fMain , 'BEFORE':U ). RUN adjustTabOrder ( h_folder , h_dyntoolbar , 'AFTER':U ). END. /* Page 0 */ WHEN 1 THEN DO: RUN constructObject ( INPUT 'b-rabtab.w':U , INPUT FRAME fMain:HANDLE , INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNamesUpdateTargetNamesLogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_b-rabtab ). RUN repositionObject IN h_b-rabtab ( 9.19 , 6.00 ) NO-ERROR. RUN resizeObject IN h_b-rabtab ( 7.62 , 102.00 ) NO-ERROR. RUN constructObject ( INPUT 'v-rabtab.w':U , INPUT FRAME fMain:HANDLE , INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_v-rabtab ). RUN repositionObject IN h_v-rabtab ( 16.52 , 6.00 ) NO-ERROR. /* Size in AB: ( 8.38 , 90.00 ) */ /* Links to SmartDataBrowser h_b-rabtab. */ RUN addLink ( h_d-rabtab , 'Data':U , h_b-rabtab ). /* Links to SmartDataViewer h_v-rabtab. */ RUN addLink ( h_d-rabtab , 'Data':U , h_v-rabtab ). RUN addLink ( h_v-rabtab , 'Update':U , h_d-rabtab ). /* Adjust the tab order of the smart objects. */ RUN adjustTabOrder ( h_b-rabtab , Br_ArtRabGrp:HANDLE IN FRAME fMain , 'AFTER':U ). RUN adjustTabOrder ( h_v-rabtab , h_b-rabtab , 'AFTER':U ). END. /* Page 1 */ WHEN 2 THEN DO: RUN constructObject ( INPUT 'b-rabsumm.w':U , INPUT FRAME fMain:HANDLE , INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNamesUpdateTargetNamesLogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_b-rabsumm ). RUN repositionObject IN h_b-rabsumm ( 3.81 , 4.00 ) NO-ERROR. RUN resizeObject IN h_b-rabsumm ( 7.38 , 132.00 ) NO-ERROR. RUN constructObject ( INPUT 'v-rabsumm.w':U , INPUT FRAME fMain:HANDLE , INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U , OUTPUT h_v-rabsumm ). RUN repositionObject IN h_v-rabsumm ( 12.00 , 10.00 ) NO-ERROR. /* Size in AB: ( 11.19 , 115.00 ) */ /* Links to SmartDataBrowser h_b-rabsumm. */ RUN addLink ( h_d-rabsumm , 'Data':U , h_b-rabsumm ). /* Links to SmartDataViewer h_v-rabsumm. */ RUN addLink ( h_d-rabsumm , 'Data':U , h_v-rabsumm ). RUN addLink ( h_v-rabsumm , 'Update':U , h_d-rabsumm ). /* Adjust the tab order of the smart objects. */ RUN adjustTabOrder ( h_b-rabsumm , h_d-rabtab , 'AFTER':U ). RUN adjustTabOrder ( h_v-rabsumm , Br_ArtRabGrp:HANDLE IN FRAME fMain , 'AFTER':U ). END. /* Page 2 */ END CASE. /* Select a Startup page. */ IF currentPage eq 0 THEN RUN selectPage IN THIS-PROCEDURE ( 1 ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wRabSummGrp PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: IF VALID-HANDLE ( hToolbar ) THEN DO: RUN addLink ( hToolbar , 'TableIO':U , h_v-rabtab ). RUN addLink ( hToolbar , 'Navigation':U , h_d-rabtab ). END. RUN ENTRY_CURSOR. END. WHEN 2 THEN DO: IF VALID-HANDLE ( hToolbar ) THEN DO: RUN addLink ( hToolbar , 'TableIO':U , h_v-rabsumm ). RUN addLink ( hToolbar , 'Navigation':U , h_d-rabsumm ). END. RUN ENTRY_CURSOR. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wRabSummGrp _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(wRabSummGrp) THEN DELETE WIDGET wRabSummGrp. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wRabSummGrp PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR wx AS INT NO-UNDO. DEF VAR wy AS INT NO-UNDO. DEF VAR xString AS CHAR NO-UNDO. GET-KEY-VALUE SECTION 'FensterPositionen' KEY 'SummenRabatte' VALUE xString. IF xString = ? THEN xString = '30;30'. IF xString = '' THEN xString = '30;30'. wx = INTEGER(ENTRY(1, xString, ';')). wy = INTEGER(ENTRY(2, xString, ';')). IF wx < 0 THEN wx = 1. IF wy < 0 THEN wy = 1. {&WINDOW-NAME}:X = wx. {&WINDOW-NAME}:Y = wy. RUN SUPER. hToolbar = h_dyntoolbar. RUN addLink ( hToolbar , 'TableIO':U , h_v-rabtab ). RUN addLink ( hToolbar , 'Navigation':U , h_d-rabtab ). IF SAktiv THEN RUN FENSTER_TITEL ( INPUT {&WINDOW-NAME}:HANDLE ) NO-ERROR. IF VALID-HANDLE(hToolbar) THEN DO: RUN SETPROGNAME IN hToolbar ( THIS-PROCEDURE ). RUN setButtons IN hToolbar ( INPUT 'Initial-TableIo':U ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wRabSummGrp _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. ------------------------------------------------------------------------------*/ ENABLE Br_DebRabGrp Br_ArtRabGrp WITH FRAME fMain IN WINDOW wRabSummGrp. {&OPEN-BROWSERS-IN-QUERY-fMain} VIEW wRabSummGrp. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wRabSummGrp PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR wx AS INT NO-UNDO. DEF VAR wy AS INT NO-UNDO. DEF VAR xString AS CHAR NO-UNDO. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. IF AktSeite > 1 THEN DO: RUN selectPage ( INPUT 1 ). RETURN NO-APPLY. END. IF Saktiv THEN RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). wx = {&WINDOW-NAME}:X NO-ERROR. wy = {&WINDOW-NAME}:Y NO-ERROR. xString = STRING(wx) + ';' + STRING(wy). PUT-KEY-VALUE SECTION 'FensterPositionen' KEY 'Summenrabatte' VALUE xString. APPLY "CLOSE":U TO THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wRabSummGrp PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U). CASE AktSeite: WHEN 1 THEN DO: IF FMutFlag THEN RUN applyEntry IN h_v-rabtab ( INPUT ? ). ELSE RUN applyEntry IN h_b-rabtab ( INPUT ? ). END. WHEN 2 THEN DO: IF FMutFlag THEN RUN applyEntry IN h_v-rabsumm ( INPUT ? ). ELSE RUN applyEntry IN h_b-rabsumm ( INPUT ? ). END. END CASE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wRabSummGrp 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 NEXTPAGE wRabSummGrp PROCEDURE NEXTPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = MaxPage THEN AktSeite = 1. ELSE AktSeite = AktSeite + 1. RUN selectPage ( INPUT AktSeite ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE wRabSummGrp PROCEDURE PREVPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = 1 THEN AktSeite = MaxPage. ELSE AktSeite = AktSeite - 1. RUN selectPage ( INPUT AktSeite ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wRabSummGrp 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('getMutflagAlt':U) NO-ERROR. DO WHILE TRUE: IF NOT FMutFlag THEN LEAVE. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U). IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE. RETURN NO-APPLY. END. CASE piPageNum: END CASE. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: IF VALID-HANDLE ( hToolbar) THEN DO: RUN removeLink ( hToolbar , 'TableIO':U , h_v-rabtab ). RUN removeLink ( hToolbar , 'Navigation':U , h_d-rabtab ). END. END. WHEN 2 THEN DO: IF VALID-HANDLE ( hToolbar) THEN DO: RUN removeLink ( hToolbar , 'TableIO':U , h_v-rabsumm ). RUN removeLink ( hToolbar , 'Navigation':U , h_d-rabsumm ). END. END. END CASE. RUN SUPER( INPUT piPageNum). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wRabSummGrp PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO. IF VALID-HANDLE(hToolbar) THEN RUN TOOLBAR IN hToolbar ( INPUT pcAction ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wRabSummGrp PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR sDaten AS CHAR NO-UNDO. RUN SUPER. RUN ENTRY_CURSOR. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS('Br_DebRabGrp':U) > 0 THEN DO: IF Br_DebRabGrp:NUM-SELECTED-ROWS = 0 THEN LEAVE. Br_DebRabGrp:FETCH-SELECTED-ROW(1). sDaten = STRING(Tabel.CodeI,'999') + CHR(01) + Tabel.Bez1. RUN SETKUNDENGRUPPE IN h_v-rabtab ( INPUT sDaten ). END. LEAVE. END. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS('Br_ArtRabGrp':U) > 0 THEN DO: IF Br_ArtRabGrp:NUM-SELECTED-ROWS = 0 THEN LEAVE. Br_ArtRabGrp:FETCH-SELECTED-ROW(1). sDaten = STRING(Tabel.CodeI,'999') + CHR(01) + Tabel.Bez1. RUN SETARTIKELGRUPPE IN h_v-rabtab ( INPUT sDaten ). END. LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME