&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW {adecomm/appserv.i} /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE RowObject NO-UNDO {"d-beseing.i"}. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin /*------------------------------------------------------------------------ File: Description: from viewer.w - Template for SmartDataViewer objects Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* 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 ************************** */ /* Komma-Trennzeichen */ /* Keyfelder werden beim Mutieren nicht "Enabled" */ &Scoped-define ERSTES_FELD GGeb_EG &Scoped-define LETZTES_FELD lEtiGedruckt &Scoped-define KEY_FELDER Artnr,Inhalt,Jahr &Scoped-define NUR_LESEN GGebinde,VGebinde,KGebinde DEFINE VARIABLE iStatus AS INTEGER NO-UNDO. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO. DEFINE VARIABLE rBesko AS RECID NO-UNDO. DEFINE VARIABLE rBesEing AS RECID NO-UNDO. DEFINE VARIABLE cAktRowId AS CHARACTER NO-UNDO. DEFINE VARIABLE lGesammelt AS LOGICAL NO-UNDO. DEFINE VARIABLE lEingelagert AS LOGICAL NO-UNDO. DEFINE VARIABLE lVerbucht AS LOGICAL NO-UNDO. DEFINE VARIABLE lEtiDrucken AS LOGICAL NO-UNDO. DEFINE VARIABLE lEtiGedruckt AS LOGICAL NO-UNDO. DEFINE BUFFER bBesze FOR Besze. DEFINE BUFFER bBesEing FOR BesEing. DEFINE BUFFER bHoReLager FOR HoReLager. DEFINE TEMP-TABLE tBesze LIKE Besze. DEFINE TEMP-TABLE tBesko LIKE Besko. DEFINE TEMP-TABLE tBesEing LIKE BesEing FIELD MRuek AS DECIMAL FIELD Bezeichnung AS CHARACTER FIELD iStatus AS INTEGER FIELD GGeb_Me AS DECIMAL FIELD VGeb_Me AS DECIMAL FIELD KGeb_Me AS DECIMAL FIELD TotEingang AS DECIMAL FIELD GGebinde AS CHARACTER FIELD VGebinde AS CHARACTER FIELD KGebinde AS CHARACTER . DEFINE VARIABLE htBesEing AS HANDLE NO-UNDO. htBesEing = TEMP-TABLE tBesEing:DEFAULT-BUFFER-HANDLE. { incl/viwdefinition.i } {src/adm2/widgetprto.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataViewer &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER FRAME &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target /* Include file with RowObject temp-table definition */ &Scoped-define DATA-FIELD-DEFS "d-beseing.i" /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main /* Standard List Definitions */ &Scoped-Define ENABLED-FIELDS RowObject.Artnr RowObject.Inhalt ~ RowObject.Jahr RowObject.Bezeichnung RowObject.GGeb_Me RowObject.VGeb_Me ~ RowObject.KGeb_Me RowObject.TotEingang RowObject.MRuek RowObject.GGeb_EG ~ RowObject.VGeb_EG RowObject.KGeb_EG RowObject.Eingang RowObject.Eing_Dat ~ RowObject.lVerfall RowObject.Verfall RowObject.lLotnr RowObject.Lotnr ~ RowObject.Lagerort RowObject.Barcode RowObject.lGesammelt ~ RowObject.lEingelagert RowObject.lVerbucht RowObject.lEtiDrucken ~ RowObject.lEtiGedruckt &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS RECT-40 &Scoped-Define DISPLAYED-FIELDS RowObject.Artnr RowObject.Inhalt ~ RowObject.Jahr RowObject.Bezeichnung RowObject.Firma RowObject.Pos ~ RowObject.Besnr RowObject.SubPos RowObject.Nummer_2 RowObject.VGeb_Cd ~ RowObject.VGebKto RowObject.KGeb_Cd RowObject.KGebKto RowObject.GGebKto ~ RowObject.GGeb_Cd RowObject.ProduktionsNr RowObject.Lager RowObject.GGeb_Me ~ RowObject.VGeb_Me RowObject.KGeb_Me RowObject.TotEingang RowObject.MRuek ~ RowObject.GGeb_EG RowObject.VGeb_EG RowObject.KGeb_EG RowObject.Eingang ~ RowObject.Eing_Dat RowObject.lVerfall RowObject.Verfall RowObject.lLotnr ~ RowObject.Lotnr RowObject.Lagerort RowObject.Barcode RowObject.lGesammelt ~ RowObject.lEingelagert RowObject.lVerbucht RowObject.lEtiDrucken ~ RowObject.lEtiGedruckt RowObject.GGebinde RowObject.VGebinde ~ RowObject.KGebinde &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject /* Custom List Definitions */ /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 RowObject.GGeb_Me RowObject.VGeb_Me RowObject.KGeb_Me ~ RowObject.TotEingang /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE RECTANGLE RECT-40 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 204 BY 10.48. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main RowObject.Artnr AT ROW 2 COL 13 COLON-ALIGNED WIDGET-ID 2 LABEL "Artikel" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Inhalt AT ROW 2 COL 25 COLON-ALIGNED NO-LABEL WIDGET-ID 16 VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Jahr AT ROW 2 COL 34 COLON-ALIGNED NO-LABEL WIDGET-ID 18 VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Bezeichnung AT ROW 2 COL 45 COLON-ALIGNED WIDGET-ID 8 LABEL "/" VIEW-AS FILL-IN NATIVE SIZE 60 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Firma AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 12 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 RowObject.Pos AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 28 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 RowObject.Besnr AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 6 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 RowObject.SubPos AT ROW 2 COL 98 COLON-ALIGNED WIDGET-ID 30 FORMAT "999" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 RowObject.Nummer_2 AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 80 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.VGeb_Cd AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 86 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.VGebKto AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 84 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.KGeb_Cd AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 78 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.KGebKto AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 76 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.GGebKto AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 72 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.GGeb_Cd AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 74 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.ProduktionsNr AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 82 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.Lager AT ROW 2 COL 128 COLON-ALIGNED WIDGET-ID 22 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.GGeb_Me AT ROW 3.52 COL 32 COLON-ALIGNED NO-LABEL WIDGET-ID 52 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-TAB-STOP RowObject.VGeb_Me AT ROW 3.52 COL 77 COLON-ALIGNED NO-LABEL WIDGET-ID 60 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-TAB-STOP RowObject.KGeb_Me AT ROW 3.52 COL 122 COLON-ALIGNED NO-LABEL WIDGET-ID 54 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-TAB-STOP RowObject.TotEingang AT ROW 3.52 COL 156 COLON-ALIGNED WIDGET-ID 58 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-TAB-STOP RowObject.MRuek AT ROW 3.52 COL 184 COLON-ALIGNED WIDGET-ID 56 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-TAB-STOP WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */ DEFINE FRAME F-Main RowObject.GGeb_EG AT ROW 4.52 COL 32 COLON-ALIGNED NO-LABEL WIDGET-ID 14 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 RowObject.VGeb_EG AT ROW 4.52 COL 77 COLON-ALIGNED NO-LABEL WIDGET-ID 32 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 RowObject.KGeb_EG AT ROW 4.52 COL 122 COLON-ALIGNED NO-LABEL WIDGET-ID 20 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 RowObject.Eingang AT ROW 4.52 COL 156 COLON-ALIGNED WIDGET-ID 10 FORMAT "zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Eing_Dat AT ROW 6 COL 32 COLON-ALIGNED WIDGET-ID 42 LABEL "Eingangsdatum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 RowObject.lVerfall AT ROW 6 COL 60 WIDGET-ID 26 LABEL "MHD / Verfalldatum" VIEW-AS TOGGLE-BOX SIZE 25 BY 1 RowObject.Verfall AT ROW 6 COL 103 COLON-ALIGNED WIDGET-ID 44 LABEL "MHD Datum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 RowObject.lLotnr AT ROW 7 COL 60 WIDGET-ID 24 LABEL "Lotnummer" VIEW-AS TOGGLE-BOX SIZE 18 BY 1 RowObject.Lotnr AT ROW 7 COL 103 COLON-ALIGNED WIDGET-ID 36 VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 RowObject.Lagerort AT ROW 7 COL 184 COLON-ALIGNED WIDGET-ID 88 VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 11 NO-TAB-STOP RowObject.Barcode AT ROW 8.52 COL 58 COLON-ALIGNED WIDGET-ID 4 FORMAT "x(200)" VIEW-AS FILL-IN NATIVE SIZE 120 BY 1 BGCOLOR 15 RowObject.lGesammelt AT ROW 10 COL 60 WIDGET-ID 68 LABEL "gesammelt" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 RowObject.lEingelagert AT ROW 10 COL 80 WIDGET-ID 62 LABEL "eingelagert" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 RowObject.lVerbucht AT ROW 10 COL 100 WIDGET-ID 70 LABEL "verbucht" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 RowObject.lEtiDrucken AT ROW 10 COL 120 WIDGET-ID 64 LABEL "Eti drucken" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 RowObject.lEtiGedruckt AT ROW 10 COL 140 WIDGET-ID 66 LABEL "Eti gedruckt" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 RowObject.GGebinde AT ROW 4.05 COL 13 COLON-ALIGNED NO-LABEL WIDGET-ID 46 VIEW-AS TEXT SIZE 18 BY 1 FONT 6 NO-TAB-STOP RowObject.VGebinde AT ROW 4.05 COL 58 COLON-ALIGNED NO-LABEL WIDGET-ID 50 VIEW-AS TEXT SIZE 18 BY 1 FONT 6 NO-TAB-STOP RowObject.KGebinde AT ROW 4.05 COL 103 COLON-ALIGNED NO-LABEL WIDGET-ID 48 VIEW-AS TEXT SIZE 18 BY 1 FONT 6 NO-TAB-STOP RECT-40 AT ROW 1.24 COL 2 WIDGET-ID 34 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataViewer Data Source: "d-beseing.w" Allow: Basic,DB-Fields,Smart Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target Frames: 1 Add Fields to: Neither Other Settings: PERSISTENT-ONLY COMPILE APPSERVER Temp-Tables and Buffers: TABLE: RowObject D "?" NO-UNDO ADDITIONAL-FIELDS: {d-beseing.i} END-FIELDS. END-TABLES. */ /* This procedure should always be RUN PERSISTENT. Report the error, */ /* then cleanup and return. */ IF NOT THIS-PROCEDURE:PERSISTENT THEN DO: MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U VIEW-AS ALERT-BOX ERROR BUTTONS OK. RETURN. END. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW vTableWin ASSIGN HEIGHT = 10.95 WIDTH = 206. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin /* ************************* Included-Libraries *********************** */ {src/adm2/viewer.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW vTableWin VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Artnr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Barcode IN FRAME F-Main EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Besnr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Besnr:HIDDEN IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Bezeichnung IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Bezeichnung:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Eingang IN FRAME F-Main EXP-FORMAT */ ASSIGN RowObject.Eingang:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Eing_Dat IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.GGebinde IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.GGebinde:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.GGebKto IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.GGebKto:HIDDEN IN FRAME F-Main = TRUE RowObject.GGebKto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.GGeb_Cd IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.GGeb_Cd:HIDDEN IN FRAME F-Main = TRUE RowObject.GGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.GGeb_Me IN FRAME F-Main 6 */ ASSIGN RowObject.GGeb_Me:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Inhalt:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Jahr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.KGebinde IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.KGebinde:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.KGebKto IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.KGebKto:HIDDEN IN FRAME F-Main = TRUE RowObject.KGebKto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.KGeb_Cd IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.KGeb_Cd:HIDDEN IN FRAME F-Main = TRUE RowObject.KGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.KGeb_Me IN FRAME F-Main 6 */ ASSIGN RowObject.KGeb_Me:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Lager IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Lager:HIDDEN IN FRAME F-Main = TRUE RowObject.Lager:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Lagerort:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR TOGGLE-BOX RowObject.lEingelagert IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lEtiDrucken IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lEtiGedruckt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lGesammelt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lLotnr IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lVerbucht IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX RowObject.lVerfall IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.MRuek:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Nummer_2 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Nummer_2:HIDDEN IN FRAME F-Main = TRUE RowObject.Nummer_2:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Pos IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Pos:HIDDEN IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.ProduktionsNr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.ProduktionsNr:HIDDEN IN FRAME F-Main = TRUE RowObject.ProduktionsNr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.SubPos IN FRAME F-Main NO-ENABLE EXP-FORMAT */ ASSIGN RowObject.SubPos:HIDDEN IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.TotEingang IN FRAME F-Main 6 */ ASSIGN RowObject.TotEingang:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Verfall IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.VGebinde IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.VGebinde:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.VGebKto IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.VGebKto:HIDDEN IN FRAME F-Main = TRUE RowObject.VGebKto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.VGeb_Cd IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.VGeb_Cd:HIDDEN IN FRAME F-Main = TRUE RowObject.VGeb_Cd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.VGeb_Me IN FRAME F-Main 6 */ ASSIGN RowObject.VGeb_Me:READ-ONLY IN FRAME F-Main = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "NO-LOCK" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME RowObject.lEingelagert &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lEingelagert vTableWin ON VALUE-CHANGED OF RowObject.lEingelagert IN FRAME F-Main /* eingelagert */ DO: IF NOT FMut THEN DO: SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). IF SELF:SCREEN-VALUE BEGINS 'n' THEN RETURN. rBesEing = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. IF rBesEing = ? OR rBesEing = 0 THEN RETURN. FIND bBesEing NO-LOCK WHERE RECID(bBesEing) = rBesEing NO-ERROR. FIND bHoReLager NO-LOCK WHERE bHoReLager.HoReLager_Id = bBesEing.HoReLager_Id NO-ERROR. IF AVAILABLE bHoReLager THEN DO: MESSAGE SUBSTITUTE('Artikel ist am Lagerplatz &1 mit der Menge &2 eingelagert', bHoReLager.cSort, bHoReLager.Bestand ) VIEW-AS ALERT-BOX. END. RELEASE bBesEing. RELEASE bHoReLager. END. ELSE lEingelagert = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lEtiDrucken &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lEtiDrucken vTableWin ON VALUE-CHANGED OF RowObject.lEtiDrucken IN FRAME F-Main /* Eti drucken */ DO: IF NOT FMut THEN DO: SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). END. ELSE lEtiDrucken = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lEtiGedruckt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lEtiGedruckt vTableWin ON VALUE-CHANGED OF RowObject.lEtiGedruckt IN FRAME F-Main /* Eti gedruckt */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). ELSE lEtiGedruckt = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lGesammelt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lGesammelt vTableWin ON VALUE-CHANGED OF RowObject.lGesammelt IN FRAME F-Main /* gesammelt */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). ELSE lGesammelt = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lLotnr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lLotnr vTableWin ON VALUE-CHANGED OF RowObject.lLotnr IN FRAME F-Main /* Lotnummer */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lVerbucht &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lVerbucht vTableWin ON VALUE-CHANGED OF RowObject.lVerbucht IN FRAME F-Main /* verbucht */ DO: SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lVerfall &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lVerfall vTableWin ON VALUE-CHANGED OF RowObject.lVerfall IN FRAME F-Main /* MHD / Verfalldatum */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ { incl/viwmainblock.i } CREATE tBesko. CREATE tBesze. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /************************ INTERNAL PROCEDURES ********************/ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin PROCEDURE addRecord : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO. DEFINE BUFFER bBesEing FOR BesEing. iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer) NO-ERROR. PUBLISH 'GET_CURRENT_BESKO' ( OUTPUT rBesko, OUTPUT iBesnr). IF iStatus <> 2 THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'ABBRUCH':U ) NO-ERROR. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. IF iBesnr = ? OR iBesnr = 0 OR rBesko = ? OR rBesko = 0 THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'ABBRUCH':U ) NO-ERROR. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. RUN 'g-besze-auswahl.w' ( OUTPUT iRecid ) NO-ERROR. IF iRecid = ? OR iRecid = 0 THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'ABBRUCH':U ) NO-ERROR. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. FIND Besze NO-LOCK WHERE RECID(Besze) = iRecid. EMPTY TEMP-TABLE tBesze. CREATE tBesze. BUFFER-COPY Besze TO tBesze. RELEASE Besze. FNeu = TRUE. FMut = TRUE. FDisp = TRUE. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: EMPTY TEMP-TABLE tBesEing. CREATE tBesEing. FIND FIRST tBesze. BUFFER-COPY tBesze TO tBesEing ASSIGN tBesEing.Bezeichnung = TRIM(tBesze.Bez1 + ' ' + tBesze.Bez2) tBesEing.GGeb_EG = tBesze.GGeb_Me - tBesze.GGeb_EG tBesEing.VGeb_EG = tBesze.VGeb_Me - tBesze.VGeb_EG tBesEing.KGeb_EG = tBesze.KGeb_Me - tBesze.KGeb_EG tBesEing.MRuek = tBesze.MRuek tBesEing.TotEing = tBesze.Eingang. ASSIGN tBesEing.Eingang = tBesze.MRuek tBesEing.Eing_Dat = TODAY tBesEing.GGebinde = DYNAMIC-FUNCTION ('getGGebindeKBez':U, tBesEing.GGeb_Cd ) tBesEing.VGebinde = DYNAMIC-FUNCTION ('getVGebindeKBez':U, tBesEing.VGeb_Cd ) tBesEing.KGebinde = DYNAMIC-FUNCTION ('getKGebindeKBez':U, tBesEing.KGeb_Cd ). FIND LAST BesEing NO-LOCK OF tBesze NO-ERROR. tBesEing.SubPos = (IF AVAILABLE BesEing THEN (BesEing.SubPos + 10) ELSE 10). RUN TEMP_TABLE_TO_SCREEN ( htBesEing ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin PROCEDURE cancelRecord : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ FCancel = TRUE. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin PROCEDURE copyRecord : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ FNeu = TRUE. FMut = TRUE. FCopy = TRUE. FDisp = TRUE. RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin PROCEDURE deleteRecord : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE Ja AS LOG NO-UNDO. rBesEing = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. FIND bBesEing NO-LOCK WHERE RECID(bBesEing) = rBesEing. IF bBesEing.lVerbucht OR bBesEing.lEingelagert THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ). IF NOT Ja THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: /* Transaction wegen TRIGGERS */ RUN SUPER. LEAVE. END. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin PROCEDURE disableFields : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcFieldType). IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ). IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO: RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ). END. DO WITH FRAME {&FRAME-NAME}: END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _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 F-Main. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin PROCEDURE displayFields : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE rBesEing AS RECID NO-UNDO. DEFINE BUFFER bBesEing FOR BesEing. IF NOT FDisp THEN DO: FDisp = TRUE. RETURN. END. IF FCancel THEN pcColValues = OldColValues. IF NOT FNeu THEN OldColValues = pcColValues. cAktRowid = ENTRY(01, pcColValues, CHR(01)). OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U). /* IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).*/ DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcColValues). FCancel = FALSE. DO WITH FRAME {&FRAME-NAME}: IF rowObject.lLotnr:SCREEN-VALUE BEGINS 'n' THEN rowObject.Lotnr:BGCOLOR = 15. ELSE DO: IF rowObject.Lotnr:SCREEN-VALUE = '' THEN rowObject.Lotnr:BGCOLOR = 11. ELSE rowObject.Lotnr:BGCOLOR = 15. END. IF rowObject.lVerfall:SCREEN-VALUE BEGINS 'n' THEN rowObject.Verfall:BGCOLOR = 15. ELSE DO: IF rowObject.Verfall:SCREEN-VALUE = '' THEN rowObject.Verfall:BGCOLOR = 11. ELSE rowObject.Verfall:BGCOLOR = 15. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin PROCEDURE enableFields : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ /* RUN SUPER. */ IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ). IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO: RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ). END. DO WITH FRAME {&FRAME-NAME}: END. IF FNeu THEN RETURN. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO: RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin PROCEDURE enableObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. { incl/viwenableobject.i } iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin PROCEDURE ENTRY_FELD_TEST : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ { incl/viwentryfeldtest.i } DO WITH FRAME {&FRAME-NAME}: CASE FeldName: END CASE. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin PROCEDURE FEHLWERTE : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT-OUTPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE i1 AS INTEGER NO-UNDO. IF FCancel THEN RETURN. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}: /* FIND FIRST tBesze. */ /* i1 = LOOKUP('Firma', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = tBesze.Firma NO-ERROR. */ /* i1 = LOOKUP('Besnr', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.Besnr) NO-ERROR. */ /* i1 = LOOKUP('Artnr', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.Artnr) NO-ERROR. */ /* i1 = LOOKUP('Inhalt', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.Inhalt) NO-ERROR. */ /* i1 = LOOKUP('Jahr', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.Jahr) NO-ERROR. */ /* i1 = LOOKUP('Pos', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.Pos) NO-ERROR. */ /* i1 = LOOKUP('Bezeichnung', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = TRIM(tBesze.Bez1 + ' ' + tBesze.Bez2) NO-ERROR.*/ /* i1 = LOOKUP('lVerfall', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.lVerfall) NO-ERROR. */ /* i1 = LOOKUP('lLotnr', oldColList, ',') + 1. */ /* ENTRY(i1, pcColValues, CHR(1)) = STRING(tBesze.lLotnr) NO-ERROR. */ END. IF FCopy THEN DO: END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin PROCEDURE LEAVE_FELD_TEST : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ { incl/viwleavefeldtest.i } DO WHILE FNeu WITH FRAME {&FRAME-NAME}: CASE FeldName: END CASE. LEAVE. END. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NOT ipHandle:MODIFIED THEN LEAVE. CASE FeldName: WHEN 'GGeb_EG' THEN RUN RECHNE_MENGE ( 'GGeb' ). WHEN 'VGeb_EG' THEN RUN RECHNE_MENGE ( 'VGeb' ). WHEN 'KGeb_EG' THEN rowObject.Eingang:SCREEN-VALUE = rowObject.KGeb_EG:SCREEN-VALUE. END CASE. LEAVE. END. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO: DO WHILE TRUE: IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE. RETURN ''. END. APPLY 'ALT-S'. RETURN 'APPLY'. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNE_MENGE vTableWin PROCEDURE RECHNE_MENGE : /* ------------------------------------------------------------------------------ */ /* Purpose: */ /* Parameters: */ /* Notes: */ /* ------------------------------------------------------------------------------ */ DEFINE INPUT PARAMETER ipcCode AS CHARACTER NO-UNDO. DEFINE VARIABLE cGeb_Cd AS CHARACTER NO-UNDO. DEFINE VARIABLE iGGeb_EG AS INTEGER NO-UNDO. DEFINE VARIABLE iVGeb_EG AS INTEGER NO-UNDO. DEFINE VARIABLE iKGeb_EG AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: iGGeb_EG = INTEGER(rowObject.GGeb_EG:SCREEN-VALUE). iVGeb_EG = INTEGER(rowObject.VGeb_EG:SCREEN-VALUE). iKGeb_EG = INTEGER(rowObject.KGeb_EG:SCREEN-VALUE). FIND FIRST tBesEing. CASE ipcCode: WHEN 'GGeb' THEN DO: IF iGGeb_EG = 0 THEN RETURN. cGeb_Cd = tBesEing.GGeb_Cd. FIND GGebinde NO-LOCK WHERE GGebinde.Firma = Firma AND GGebinde.Geb_Cd = cGeb_Cd. iVGeb_EG = iGGeb_EG * GGebinde.Inhalt. cGeb_Cd = tBesEing.VGeb_Cd. FIND VGebinde NO-LOCK WHERE VGebinde.Firma = Firma AND VGebinde.Geb_Cd = cGeb_Cd. iKGeb_EG = iVGeb_EG * VGebinde.Inhalt. END. WHEN 'VGeb' THEN DO: IF iVGeb_EG = 0 THEN RETURN. cGeb_Cd = tBesEing.VGeb_Cd. FIND VGebinde NO-LOCK WHERE VGebinde.Firma = Firma AND VGebinde.Geb_Cd = cGeb_Cd. iKGeb_EG = iVGeb_EG * VGebinde.Inhalt. END. END. ASSIGN rowObject.GGeb_EG:SCREEN-VALUE = STRING(iGGeb_EG) rowObject.VGeb_EG:SCREEN-VALUE = STRING(iVGeb_EG) rowObject.KGeb_EG:SCREEN-VALUE = STRING(iKGeb_EG) rowObject.Eingang:SCREEN-VALUE = STRING(iKGeb_EG). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin PROCEDURE RETURN_FELD : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ { incl/viwreturnfeld.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_TABLE_TO_SCREEN vTableWin PROCEDURE TEMP_TABLE_TO_SCREEN : /* ------------------------------------------------------------------------------ */ /* Purpose: */ /* Parameters: */ /* Notes: */ /* ------------------------------------------------------------------------------ */ DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEFINE VARIABLE ii AS INTEGER NO-UNDO. DEFINE VARIABLE i1 AS INTEGER NO-UNDO. DEFINE VARIABLE cColList AS CHARACTER NO-UNDO. DEFINE VARIABLE cColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO. DEFINE VARIABLE cInhalt AS CHARACTER NO-UNDO. cColList = DYNAMIC-FUNCTION('getDisplayedFields':U). ii = NUM-ENTRIES(cColList, ',') + 1. cColValues = FILL(CHR(01), ii). DO ii = 1 TO ipHandle:NUM-FIELDS: cFeld = ipHandle:BUFFER-FIELD(ii):NAME. i1 = LOOKUP(cFeld, cColList, ',') + 1 NO-ERROR. IF i1 < 2 THEN NEXT. cInhalt = ipHandle:BUFFER-FIELD(ii):BUFFER-VALUE. ENTRY(i1, cColValues, CHR(1)) = (IF cInhalt = ? THEN '' ELSE cInhalt) NO-ERROR. END. ENTRY(1, cColValues, CHR(01)) = cAktRowId. RUN displayFields ( cColValues ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin PROCEDURE TEST_EINGABEN : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE OUTPUT PARAMETER opJa AS LOG NO-UNDO. DEFINE VARIABLE eHandle AS HANDLE NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE iNummer AS INTEGER NO-UNDO. DEFINE VARIABLE iMenge AS INTEGER NO-UNDO. DEFINE VARIABLE iEingang AS INTEGER NO-UNDO. DEFINE VARIABLE iTotEing AS INTEGER NO-UNDO. opJa = FALSE. eHandle = ?. IF NOT FMut THEN RETURN. AAA000: DO WHILE TRUE WITH FRAME {&FRAME-NAME}: FIND FIRST tBesze. FIND bBesze NO-LOCK OF tBesze. iMenge = INTEGER(rowObject.Eingang:SCREEN-VALUE) NO-ERROR. iEingang = INTEGER(rowObject.Eingang:SCREEN-VALUE) NO-ERROR. iTotEing = INTEGER(rowObject.TotEing:SCREEN-VALUE) NO-ERROR. IF (bBesze.MRuek + bBesze.Eingang - iMenge) < 0 THEN DO: DYNAMIC-FUNCTION ('fehlerMeldung':U, 1110, '' ) NO-ERROR. RELEASE bBesze. eHandle = rowObject.KGeb_EG:HANDLE. LEAVE. END. RELEASE bBesze. LEAVE. END. IF VALID-HANDLE(eHandle) THEN DO: APPLY 'ENTRY' TO eHandle. RETURN NO-APPLY. END. opJa = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin PROCEDURE updateMode : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO. DEFINE BUFFER bBesEing FOR BesEing. CASE pcMode: WHEN 'updateBegin' THEN DO: rBesEing = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. FIND bBesEing NO-LOCK WHERE RECID(bBesEing) = rBesEing. FIND bBesze NO-LOCK WHERE bBesze.Firma = bBesEing.Firma AND bBesze.Besnr = bBesEing.Besnr AND bBesze.Pos = bBesEing.Pos. EMPTY TEMP-TABLE tBesEing. CREATE tBesEing. BUFFER-COPY bBesEing TO tBesEing. RELEASE bBesEing. EMPTY TEMP-TABLE tBesze. CREATE tBesze. BUFFER-COPY bBesze TO tBesze. RELEASE bBesze. END. WHEN 'updateEnd' THEN DO: END. END. RUN SUPER( INPUT pcMode). CASE pcMode: WHEN 'updateBegin' THEN DO: FMut = TRUE. ASSIGN lGesammelt = FALSE lEingelagert = FALSE lVerbucht = FALSE lEtiDrucken = FALSE lEtiGedruckt = FALSE. END. WHEN 'updateEnd' THEN DO: FNeu = FALSE. FMut = FALSE. FCopy = FALSE. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin PROCEDURE updateRecord : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF FNeu THEN DO: DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE). END. rowObject.Eingang:SCREEN-VALUE = rowObject.KGeb_EG:SCREEN-VALUE. END. FNeu = FALSE. FCopy = FALSE. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: RUN SUPER. IF lGesammelt THEN DO: IF rowObject.lGesammelt:SCREEN-VALUE BEGINS 'n' THEN DO: FIND FIRST Tabel WHERE Tabel.Firma = Firma AND Tabel.RecArt = 'BESSAMM' AND Tabel.Int_1 = integer(rowObject.Besnr :SCREEN-VALUE) AND Tabel.Int_2 = integer(rowObject.Pos :SCREEN-VALUE) AND Tabel.Int_3 = integer(rowObject.SubPos:SCREEN-VALUE) NO-ERROR. DO WHILE AVAILABLE Tabel: FIND BesEing WHERE BesEing.Firma = Firma AND BesEing.Besnr = Tabel.Int_1 AND BesEing.Pos = Tabel.Int_2 AND BesEing.SubPos = Tabel.Int_3 NO-ERROR. IF NOT AVAILABLE BesEing THEN LEAVE. FIND FIRST HoReLager USE-INDEX HoReLager-k4 WHERE HoReLager.Firma = Firma AND HoReLager.Lager = 0 AND HoReLager.Artnr = BesEing.Artnr AND HoReLager.Inhalt = BesEing.Inhalt AND HoReLager.Jahr = BesEing.Jahr AND HoReLager.iStatus = 3 NO-ERROR. IF AVAILABLE HoReLager THEN DO: ASSIGN HoReLager.iStatus = 2 HoReLager.Bestand = 0 HoReLager.Eingang = ? HoReLager.Lotnummer = '' HoReLager.Verfall = ?. RELEASE HoReLager. END. BesEing.lGesammelt = FALSE. RELEASE BesEing. LEAVE. END. IF AVAILABLE Tabel THEN DELETE Tabel. RELEASE Tabel. END. END. LEAVE. END. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject vTableWin PROCEDURE viewObject : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ RUN SUPER. iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer) NO-ERROR. PUBLISH 'GET_CURRENT_BESKO' ( OUTPUT rBesko, OUTPUT iBesnr ). FIND Besko NO-LOCK WHERE RECID(Besko) = rBesko NO-ERROR. IF NOT AVAILABLE Besko THEN NEXT. FIND FIRST tBesko. BUFFER-COPY Besko TO tBesko. RELEASE Besko. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME