&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gDialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDialog /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM2 SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* 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 --- */ DEF INPUT-OUTPUT PARAMETER VDaten AS CHAR NO-UNDO. /* Local Variable Definitions --- */ DEF VAR VKGeb_Cd AS CHAR NO-UNDO. DEF VAR VVGeb_Cd AS CHAR NO-UNDO. DEF VAR VGGeb_Cd AS CHAR NO-UNDO. DEF VAR VKGeb_Me AS DEC DECIMALS 4 NO-UNDO. DEF VAR VVGeb_Me AS DEC DECIMALS 4 NO-UNDO. DEF VAR VGGeb_Me AS DEC DECIMALS 4 NO-UNDO. DEF VAR VKGeb_Be AS DEC DECIMALS 4 NO-UNDO. DEF VAR VVGeb_Be AS DEC DECIMALS 4 NO-UNDO. DEF VAR VGGeb_Be AS DEC DECIMALS 4 NO-UNDO. DEF VAR ARecid AS RECID NO-UNDO. DEF VAR LagBuch AS LOG NO-UNDO. DEF VAR fOfferte AS LOG NO-UNDO. DEF VAR lRueckstand AS LOG NO-UNDO. DEF VAR iLager AS INT NO-UNDO. DEF VAR MaxPage AS INT NO-UNDO. DEF VAR AktSeite AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR Ja AS LOG NO-UNDO. DEF VAR FAbbruch AS LOG NO-UNDO. DEF BUFFER bArtst FOR Artst. DEF BUFFER bArtbez FOR Artbez. DEF BUFFER bArtLager FOR ArtLager. DEF BUFFER bKGebinde FOR KGebinde. DEF BUFFER bVGebinde FOR VGebinde. DEF BUFFER bGGebinde FOR GGebinde. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDialog &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER DIALOG-BOX &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME gDialog /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel ~ F_KGebinde F_Bestand F_Bestellt F_Best_Neu RECT-38 RECT-39 &Scoped-Define DISPLAYED-OBJECTS T_Lager F_Menge-1 F_Menge-2 CB_Lager ~ F_Menge-3 F_Artikel F_KGebinde F_Bestand F_Bestellt F_Best_Neu F_Geli-Text /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-4 F_Be_Menge-1 F_Be_Menge-2 F_Be_Menge-3 &Scoped-define List-5 F_Bestand F_Bestellt F_Best_Neu &Scoped-define List-6 T_Lager F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel ~ F_KGebinde F_Bestand F_Bestellt F_Best_Neu /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U LABEL "Lager" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 25 BY 1 NO-UNDO. DEFINE VARIABLE F_Artikel AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 63 BY 1 BGCOLOR 15 FONT 6 NO-UNDO. DEFINE VARIABLE F_Best-Text AS CHARACTER FORMAT "X(256)":U INITIAL "Bestellt" VIEW-AS TEXT SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Bestand AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 19.6 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bestellt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 19.6 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Best_Neu AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 19.6 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Be_Menge-1 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Be_Menge-2 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Be_Menge-3 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Geli-Text AS CHARACTER FORMAT "X(256)":U INITIAL "Geliefert" VIEW-AS TEXT SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_KGebinde AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 15 BY 1 BGCOLOR 15 FONT 6 NO-UNDO. DEFINE VARIABLE F_Menge-1 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Menge-2 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Menge-3 AS INTEGER FORMAT "zz,zz9-":U INITIAL 0 LABEL "" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-38 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 68 BY 8.1. DEFINE RECTANGLE RECT-39 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 68 BY 2.86. DEFINE VARIABLE T_Lager AS LOGICAL INITIAL yes LABEL "Lager aktiv ?" VIEW-AS TOGGLE-BOX SIZE 20 BY 1 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME gDialog T_Lager AT ROW 3.52 COL 46.2 WIDGET-ID 6 F_Be_Menge-1 AT ROW 6 COL 23 COLON-ALIGNED WIDGET-ID 10 F_Be_Menge-2 AT ROW 7 COL 23 COLON-ALIGNED WIDGET-ID 16 F_Be_Menge-3 AT ROW 8 COL 23 COLON-ALIGNED WIDGET-ID 14 F_Menge-1 AT ROW 6 COL 53 COLON-ALIGNED F_Menge-2 AT ROW 7 COL 53 COLON-ALIGNED CB_Lager AT ROW 1.52 COL 39 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP F_Menge-3 AT ROW 8 COL 53 COLON-ALIGNED F_Artikel AT ROW 2.52 COL 1 COLON-ALIGNED NO-LABEL WIDGET-ID 2 NO-TAB-STOP F_KGebinde AT ROW 3.52 COL 3 NO-LABEL WIDGET-ID 4 NO-TAB-STOP F_Bestand AT ROW 10.76 COL 1.8 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Bestellt AT ROW 10.76 COL 24.2 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Best_Neu AT ROW 10.76 COL 46.6 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Best-Text AT ROW 5 COL 26 COLON-ALIGNED NO-LABEL WIDGET-ID 22 NO-TAB-STOP F_Geli-Text AT ROW 5 COL 55.4 COLON-ALIGNED NO-LABEL WIDGET-ID 24 NO-TAB-STOP " Bestand" VIEW-AS TEXT SIZE 19.6 BY .81 AT ROW 9.95 COL 3.8 FONT 6 "Neuer Bestand" VIEW-AS TEXT SIZE 19.6 BY .81 AT ROW 9.95 COL 48.6 FONT 6 " Bestellt" VIEW-AS TEXT SIZE 19.6 BY .81 AT ROW 9.95 COL 26.2 FONT 6 RECT-38 AT ROW 1.24 COL 2 RECT-39 AT ROW 9.52 COL 2 SPACE(0.99) SKIP(0.18) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Gebindemengen". /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Design Page: 1 Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDialog /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR DIALOG-BOX gDialog FRAME-NAME Custom */ ASSIGN FRAME gDialog:SCROLLABLE = FALSE FRAME gDialog:HIDDEN = TRUE. /* SETTINGS FOR COMBO-BOX CB_Lager IN FRAME gDialog NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Artikel IN FRAME gDialog 6 */ ASSIGN F_Artikel:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Best-Text IN FRAME gDialog NO-DISPLAY NO-ENABLE */ ASSIGN F_Best-Text:HIDDEN IN FRAME gDialog = TRUE F_Best-Text:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Bestand IN FRAME gDialog 5 6 */ ASSIGN F_Bestand:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Bestellt IN FRAME gDialog 5 6 */ ASSIGN F_Bestellt:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Best_Neu IN FRAME gDialog 5 6 */ ASSIGN F_Best_Neu:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Be_Menge-1 IN FRAME gDialog NO-DISPLAY NO-ENABLE 4 */ ASSIGN F_Be_Menge-1:HIDDEN IN FRAME gDialog = TRUE F_Be_Menge-1:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Be_Menge-2 IN FRAME gDialog NO-DISPLAY NO-ENABLE 4 */ ASSIGN F_Be_Menge-2:HIDDEN IN FRAME gDialog = TRUE F_Be_Menge-2:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Be_Menge-3 IN FRAME gDialog NO-DISPLAY NO-ENABLE 4 */ ASSIGN F_Be_Menge-3:HIDDEN IN FRAME gDialog = TRUE F_Be_Menge-3:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Geli-Text IN FRAME gDialog NO-ENABLE */ ASSIGN F_Geli-Text:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_KGebinde IN FRAME gDialog ALIGN-L 6 */ ASSIGN F_KGebinde:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Menge-1 IN FRAME gDialog 6 */ ASSIGN F_Menge-1:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Menge-2 IN FRAME gDialog 6 */ ASSIGN F_Menge-2:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR FILL-IN F_Menge-3 IN FRAME gDialog 6 */ ASSIGN F_Menge-3:READ-ONLY IN FRAME gDialog = TRUE. /* SETTINGS FOR TOGGLE-BOX T_Lager IN FRAME gDialog NO-ENABLE 6 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDialog /* Query rebuild information for DIALOG-BOX gDialog _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gDialog */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gDialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON END-ERROR OF FRAME gDialog /* Gebindemengen */ DO: FAbbruch = TRUE. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON GO OF FRAME gDialog /* Gebindemengen */ DO: /* RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON WINDOW-CLOSE OF FRAME gDialog /* Gebindemengen */ DO: fAbbruch = TRUE. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Be_Menge-1 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-1 gDialog ON CURSOR-DOWN OF F_Be_Menge-1 IN FRAME gDialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-1 gDialog ON LEAVE OF F_Be_Menge-1 IN FRAME gDialog DO: DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-4}. IF SELF:MODIFIED THEN DO: IF F_Be_Menge-1 <> 0 THEN DO: IF AVAILABLE bGGebinde THEN F_Be_Menge-2 = F_Be_Menge-1 * bGGebinde.Inhalt. IF AVAILABLE bVGebinde THEN F_Be_Menge-3 = F_Be_Menge-2 * bVGebinde.Inhalt. ASSIGN F_Menge-1 = F_Be_Menge-1 F_Menge-2 = F_Be_Menge-2 F_Menge-3 = F_Be_Menge-3. END. END. DISPLAY {&List-4}. DISPLAY {&List-6}. SELF:MODIFIED = FALSE. IF bArtst.Lager = FALSE THEN RETURN. F_Best_Neu = F_Bestand - F_Menge-3. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. END. DISPLAY {&List-5}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Be_Menge-2 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog ON CURSOR-DOWN OF F_Be_Menge-2 IN FRAME gDialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog ON CURSOR-UP OF F_Be_Menge-2 IN FRAME gDialog DO: APPLY 'BACK-TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-2 gDialog ON LEAVE OF F_Be_Menge-2 IN FRAME gDialog DO: DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-4}. IF SELF:MODIFIED THEN DO: IF F_Be_Menge-2 <> 0 THEN DO: IF AVAILABLE bVGebinde THEN F_Be_Menge-3 = F_Be_Menge-2 * bVGebinde.Inhalt. ASSIGN F_Menge-2 = F_Be_Menge-2 F_Menge-3 = F_Be_Menge-3. END. END. DISPLAY {&List-4}. DISPLAY {&List-6}. SELF:MODIFIED = FALSE. IF bArtst.Lager = FALSE THEN RETURN. F_Best_Neu = F_Bestand - F_Menge-3. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. END. DISPLAY {&List-5}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Be_Menge-3 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog ON CURSOR-DOWN OF F_Be_Menge-3 IN FRAME gDialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog ON CURSOR-UP OF F_Be_Menge-3 IN FRAME gDialog DO: APPLY 'BACK-TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Be_Menge-3 gDialog ON LEAVE OF F_Be_Menge-3 IN FRAME gDialog DO: DEF VAR cName AS CHAR NO-UNDO. DEF VAR cMenge AS CHAR NO-UNDO. DEF VAR dMenge AS DEC DECIMALS 4 NO-UNDO. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'CURSOR-UP' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'CURSOR-DOWN' THEN RETURN. DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-6}. ASSIGN {&List-4}. IF bArtst.Lager = FALSE THEN T_Lager = FALSE. IF NOT T_Lager THEN DO: FAbbruch = FALSE. RUN ENDE. RETURN NO-APPLY. END. IF T_Lager THEN F_Best_Neu = F_Bestand - F_Menge-3. DISPLAY {&List-5}. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. Ja = DYNAMIC-FUNCTION('ANTWORT_JA':U, INPUT 1063 ) NO-ERROR. IF NOT Ja THEN DO: F_Menge-3 = F_Bestand. IF F_Menge-2 <> 0 AND AVAILABLE bVGebinde THEN DO: dMenge = F_Menge-3 / bVGebinde.Inhalt. cMenge = STRING(dMenge,'999999.999-'). dMenge = DECIMAL(SUBSTRING(cMenge,01,06)). F_Menge-2 = dMenge. END. IF F_Menge-1 <> 0 AND AVAILABLE bGGebinde THEN DO: dMenge = F_Menge-2 / bGGebinde.Inhalt. cMenge = STRING(dMenge,'999999.999-'). dMenge = DECIMAL(SUBSTRING(cMenge,01,06)). F_Menge-1 = dMenge. END. DISPLAY {&List-6}. APPLY 'ENTRY' TO F_Menge-3. RETURN NO-APPLY. END. END. F_Best_Neu:BGCOLOR = ?. F_Best_Neu:FGCOLOR = ?. FAbbruch = FALSE. RUN ENDE. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Menge-1 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog ON CURSOR-DOWN OF F_Menge-1 IN FRAME gDialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog ON CURSOR-UP OF F_Menge-1 IN FRAME gDialog DO: APPLY 'BACK-TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-1 gDialog ON LEAVE OF F_Menge-1 IN FRAME gDialog DO: DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-6}. IF SELF:MODIFIED THEN DO: IF F_Menge-1 <> 0 THEN DO: IF AVAILABLE bGGebinde THEN F_Menge-2 = F_Menge-1 * bGGebinde.Inhalt. IF AVAILABLE bVGebinde THEN F_Menge-3 = F_Menge-2 * bVGebinde.Inhalt. END. IF NOT lRueckstand THEN DO: ASSIGN F_Be_Menge-1:SCREEN-VALUE = STRING(F_Menge-1) F_Be_Menge-2:SCREEN-VALUE = STRING(F_Menge-2) F_Be_Menge-3:SCREEN-VALUE = STRING(F_Menge-3). END. END. DISPLAY {&List-6}. SELF:MODIFIED = FALSE. IF bArtst.Lager = FALSE THEN RETURN. F_Best_Neu = F_Bestand - F_Menge-3. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. END. DISPLAY {&List-5}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Menge-2 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog ON CURSOR-DOWN OF F_Menge-2 IN FRAME gDialog DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog ON CURSOR-UP OF F_Menge-2 IN FRAME gDialog DO: APPLY 'BACK-TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-2 gDialog ON LEAVE OF F_Menge-2 IN FRAME gDialog DO: DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-6}. IF SELF:MODIFIED THEN DO: IF F_Menge-2 <> 0 THEN DO: IF AVAILABLE bVGebinde THEN F_Menge-3 = F_Menge-2 * bVGebinde.Inhalt. END. IF NOT lRueckstand THEN DO: ASSIGN F_Be_Menge-1:SCREEN-VALUE = STRING(F_Menge-1) F_Be_Menge-2:SCREEN-VALUE = STRING(F_Menge-2) F_Be_Menge-3:SCREEN-VALUE = STRING(F_Menge-3). END. END. DISPLAY {&List-6}. SELF:MODIFIED = FALSE. IF BArtst.Lager = FALSE THEN RETURN. F_Best_Neu = F_Bestand - F_Menge-3. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. END. DISPLAY {&List-5}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Menge-3 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 gDialog ON CURSOR-UP OF F_Menge-3 IN FRAME gDialog DO: APPLY 'BACK-TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Menge-3 gDialog ON LEAVE OF F_Menge-3 IN FRAME gDialog DO: DEF VAR cName AS CHAR NO-UNDO. DEF VAR cMenge AS CHAR NO-UNDO. DEF VAR dMenge AS DEC DECIMALS 4 NO-UNDO. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'CURSOR-UP' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. DO WITH FRAME {&FRAME-NAME}: IF fAbbruch THEN RETURN. ASSIGN {&List-6}. ASSIGN {&List-5}. ASSIGN {&List-4}. IF BArtst.Lager = FALSE THEN T_Lager = FALSE. IF NOT T_Lager THEN DO: FAbbruch = FALSE. RUN ENDE. RETURN NO-APPLY. END. IF T_Lager THEN F_Best_Neu = F_Bestand - F_Menge-3. DISPLAY {&List-5}. IF F_Best_Neu < 0 THEN DO: F_Best_Neu:BGCOLOR = 14. Ja = DYNAMIC-FUNCTION('ANTWORT_JA':U, INPUT 1063 ) NO-ERROR. IF NOT Ja THEN DO: F_Menge-3 = F_Bestand. IF F_Menge-2 <> 0 AND AVAILABLE bVGebinde THEN DO: dMenge = F_Menge-3 / bVGebinde.Inhalt. cMenge = STRING(dMenge,'999999.999-'). dMenge = DECIMAL(SUBSTRING(cMenge,01,06)). F_Menge-2 = dMenge. END. IF F_Menge-1 <> 0 AND AVAILABLE bGGebinde THEN DO: dMenge = F_Menge-2 / bGGebinde.Inhalt. cMenge = STRING(dMenge,'999999.999-'). dMenge = DECIMAL(SUBSTRING(cMenge,01,06)). F_Menge-1 = dMenge. END. DISPLAY {&List-6}. APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. END. F_Best_Neu:BGCOLOR = ?. F_Best_Neu:FGCOLOR = ?. FAbbruch = FALSE. RUN ENDE. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDialog /* *************************** Main Block *************************** */ MaxPage = 1. AktSeite = 1. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR. FAbbruch = FALSE . SESSION:DATA-ENTRY-RETURN = TRUE. SUBSCRIBE TO 'TOOLBAR' ANYWHERE. /* TRIGGERS ------------------------------------------------------ */ ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN NEXTPAGE. END. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN PREVPAGE. END. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE DO: RUN ENTRY_CURSOR. END. /* ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ). END. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ). END. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ). END. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ). END. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ). END. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ). END. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ). END. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ). END. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ). END. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR. IF FMutFlag = FALSE THEN DO: RUN ENDE. RETURN NO-APPLY. END. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ). RETURN NO-APPLY. END. */ /* ------------------------------------------------------------------ */ {src/adm2/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDialog _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 gDialog PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */ /* RUN ToolbarInit ( INPUT h_d-auftr ). */ RUN ENTRY_CURSOR. END. WHEN 2 THEN DO: RUN ENTRY_CURSOR. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDialog _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. ------------------------------------------------------------------------------*/ /* Hide all frames. */ HIDE FRAME gDialog. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDialog PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ VKGeb_Cd = ENTRY( 1, VDaten, ';'). VVGeb_Cd = ENTRY( 2, VDaten, ';'). VGGeb_Cd = ENTRY( 3, VDaten, ';'). VKGeb_Me = DEC(ENTRY( 4, VDaten, ';')). VVGeb_Me = DEC(ENTRY( 5, VDaten, ';')). VGGeb_Me = DEC(ENTRY( 6, VDaten, ';')). ARecid = INT(ENTRY( 7, VDaten, ';')). LagBuch = (IF ENTRY( 8, VDaten, ';') BEGINS 'n' THEN FALSE ELSE TRUE). iLager = INT(ENTRY( 9, VDaten, ';')). fOfferte = (IF ENTRY(10, VDaten, ';') BEGINS 'n' THEN FALSE ELSE TRUE). VKGeb_Be = DEC(ENTRY(11, VDaten, ';')). VVGeb_Be = DEC(ENTRY(12, VDaten, ';')). VGGeb_Be = DEC(ENTRY(13, VDaten, ';')). IF VGGeb_Be < VGGeb_Me THEN VGGeb_Be = VGGeb_Me. IF VVGeb_Be < VVGeb_Me THEN VVGeb_Be = VVGeb_Me. IF VKGeb_Be < VKGeb_Me THEN VKGeb_Be = VKGeb_Me. DO WITH FRAME {&FRAME-NAME}: RUN COMBO_LAGER ( CB_Lager:HANDLE ) NO-ERROR. CB_Lager:SCREEN-VALUE = STRING(iLager,'999999'). END. lRueckstand = DYNAMIC-FUNCTION('isMakeRueckstand':U) NO-ERROR. VDaten = ''. DO WITH FRAME {&FRAME-NAME}: FIND bArtst WHERE RECID(bArtst) = ARecid NO-LOCK NO-ERROR. FIND FIRST bArtbez OF bArtst NO-LOCK NO-ERROR. FIND bGGebinde WHERE bGGebinde.Firma = Firma AND bGGebinde.Geb_Cd = VGGeb_Cd NO-LOCK NO-ERROR. FIND bVGebinde WHERE bVGebinde.Firma = Firma AND bVGebinde.Geb_Cd = VVGeb_Cd NO-LOCK NO-ERROR. FIND bKGebinde WHERE bKGebinde.Firma = Firma AND bKGebinde.Geb_Cd = VKGeb_Cd NO-LOCK NO-ERROR. FIND bArtLager NO-LOCK WHERE bArtLager.Firma = bArtst.Firma AND bArtLager.Artnr = bArtst.Artnr AND bArtLager.Inhalt = bArtst.Inhalt AND bArtLager.Jahr = bArtst.Jahr AND bArtLager.Lager = iLager NO-ERROR. IF NOT AVAILABLE bArtLager THEN DO: MESSAGE 'Kein Lager für diesen Artikel' VIEW-AS ALERT-BOX ERROR. END. IF lRueckstand THEN DO: F_Best-Text :HIDDEN = FALSE. F_Be_Menge-1:HIDDEN = FALSE. F_Be_Menge-1:SENSITIVE = TRUE . F_Be_Menge-2:HIDDEN = FALSE. F_Be_Menge-2:SENSITIVE = TRUE . F_Be_Menge-3:HIDDEN = FALSE. F_Be_Menge-3:SENSITIVE = TRUE . END. DO WHILE TRUE: IF NOT AVAILABLE bGGebinde THEN LEAVE. F_Menge-1:TAB-STOP = TRUE. F_Menge-1:READ-ONLY = FALSE. F_Menge-1:LABEL = bGGebinde.KBez. IF lRueckstand THEN DO: F_Be_Menge-1:TAB-STOP = TRUE. F_Be_Menge-1:READ-ONLY = FALSE. F_Be_Menge-1:LABEL = bGGebinde.KBez. END. LEAVE. END. DO WHILE TRUE: IF NOT AVAILABLE bVGebinde THEN LEAVE. F_Menge-2:TAB-STOP = TRUE. F_Menge-2:READ-ONLY = FALSE. F_Menge-2:LABEL = bVGebinde.KBez. IF lRueckstand THEN DO: F_Be_Menge-2:TAB-STOP = TRUE. F_Be_Menge-2:READ-ONLY = FALSE. F_Be_Menge-2:LABEL = bVGebinde.KBez. END. LEAVE. END. DO WHILE TRUE: IF NOT AVAILABLE bKGebinde THEN LEAVE. F_Menge-3:TAB-STOP = TRUE. F_Menge-3:READ-ONLY = FALSE. F_Menge-3:LABEL = bKGebinde.KBez. IF lRueckstand THEN DO: F_Be_Menge-3:TAB-STOP = TRUE. F_Be_Menge-3:READ-ONLY = FALSE. F_Be_Menge-3:LABEL = bKGebinde.KBez. END. LEAVE. END. F_Menge-1 = VGGeb_Me. F_Menge-2 = VVGeb_Me. F_Menge-3 = VKGeb_Me. F_Be_Menge-1 = VGGeb_Be. F_Be_Menge-2 = VVGeb_Be. F_Be_Menge-3 = VKGeb_Be. IF AVAILABLE bArtLager THEN DO: ASSIGN F_Bestand = bArtLager.Bestand + F_Menge-3 F_Bestellt = bArtLager.Bestellt F_Best_Neu = bArtLager.Bestand. END. ELSE DO: ASSIGN F_Bestand = 0 F_Menge-3 F_Bestellt = 0 F_Best_Neu = 0. END. F_Artikel = bArtbez.Bez1 + ' ' + bArtbez.Bez2. F_KGebinde = bKGebinde.KBez. T_Lager = LagBuch. IF NOT bArtst.Lager THEN T_Lager = FALSE. IF F_Best_Neu < 0 THEN F_Best_Neu:BGCOLOR = 14. DISPLAY {&List-6}. IF lRueckstand THEN DISPLAY {&List-4} f_bEST-tEXT. IF bArtst.Lager THEN T_Lager:SENSITIVE = TRUE. END. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: F_Menge-1:MODIFIED = FALSE. F_Menge-2:MODIFIED = FALSE. F_Menge-3:MODIFIED = FALSE. IF fOfferte THEN DISABLE T_Lager. F_Be_Menge-1:MODIFIED = FALSE. F_Be_Menge-2:MODIFIED = FALSE. F_Be_Menge-3:MODIFIED = FALSE. END. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDialog _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 T_Lager F_Menge-1 F_Menge-2 CB_Lager F_Menge-3 F_Artikel F_KGebinde F_Bestand F_Bestellt F_Best_Neu F_Geli-Text WITH FRAME gDialog. ENABLE F_Menge-1 F_Menge-2 F_Menge-3 F_Artikel F_KGebinde F_Bestand F_Bestellt F_Best_Neu RECT-38 RECT-39 WITH FRAME gDialog. VIEW FRAME gDialog. {&OPEN-BROWSERS-IN-QUERY-gDialog} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDialog PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. IF AktSeite > 1 THEN DO: RUN selectPage ( INPUT 1 ). RETURN NO-APPLY. END. IF NOT FAbbruch THEN DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-4}. ASSIGN {&List-6}. IF NOT lRueckstand THEN DO: ASSIGN F_Be_Menge-1 = F_Menge-1 F_Be_Menge-2 = F_Menge-2 F_Be_Menge-3 = F_Menge-3. END. ELSE DO: IF F_Menge-1 < 0 THEN F_Be_Menge-1 = F_Menge-1. IF F_Menge-2 < 0 THEN F_Be_Menge-2 = F_Menge-2. IF F_Menge-3 < 0 THEN F_Be_Menge-3 = F_Menge-3. IF F_Menge-1 > F_Be_Menge-1 THEN F_Be_Menge-1 = F_Menge-1. IF F_Menge-2 > F_Be_Menge-2 THEN F_Be_Menge-2 = F_Menge-2. IF F_Menge-3 > F_Be_Menge-3 THEN F_Be_Menge-3 = F_Menge-3. END. LagBuch = T_Lager. IF F_Be_Menge-3 = 0 THEN DO: RUN FEHLER ( INPUT 1064 ). APPLY 'ENTRY' TO F_Menge-3. RETURN NO-APPLY. END. VDaten = STRING(F_Menge-1) + ';' + STRING(F_Menge-2) + ';' + STRING(F_Menge-3) + ';' + STRING(LagBuch,'y/n') + ';' + STRING(F_Be_Menge-1) + ';' + STRING(F_Be_Menge-2) + ';' + STRING(F_Be_Menge-3) . END. ELSE Vdaten = ''. RELEASE bArtst. RELEASE bArtbez. RELEASE bArtLager. RELEASE bKGebinde. RELEASE bVGebinde. RELEASE bGGebinde. APPLY 'GO' TO FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gDialog PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF VGGeb_Me <> 0 THEN APPLY 'ENTRY' TO F_Menge-1. ELSE APPLY 'ENTRY' TO F_Menge-2. END. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDialog PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gDialog 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 gDialog 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 gDialog 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: /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN removeLink ( h_dyntoolbar , '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 gDialog PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO. /* RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ). */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gDialog PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. RUN ENTRY_CURSOR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME