&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-artlief.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 Knr &Scoped-define LETZTES_FELD Strichcode_GGeb &Scoped-define KEY_FELDER Knr &Scoped-define NUR_LESEN Lieferant { incl/viwdefinition.i } DEFINE VARIABLE lLeave AS LOG NO-UNDO. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO. DEFINE VARIABLE iInhalt AS INTEGER NO-UNDO. DEFINE VARIABLE iJahr AS INTEGER NO-UNDO. DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE VARIABLE iGGeb_Inhalt AS INTEGER NO-UNDO. DEFINE VARIABLE iVGeb_Inhalt AS INTEGER NO-UNDO. DEFINE VARIABLE iKGeb_Inhalt AS INTEGER NO-UNDO. DEFINE BUFFER bArtst FOR Artst . DEFINE BUFFER bArtLager FOR ArtLager. {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-artlief.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.Knr RowObject.S_Artnr ~ RowObject.S_Bez1 RowObject.Lieferant RowObject.S_Bez2 RowObject.Haupt ~ RowObject.Mind_Bestand RowObject.Soll_Bestand RowObject.Meld_Bestand ~ RowObject.S_Preis RowObject.L_EP RowObject.S_Preis_FRW RowObject.L_EP_FRW ~ RowObject.Rabatt RowObject.ZusRab RowObject.L_Rabatt RowObject.Min_GGebinde ~ RowObject.Min_VGebinde RowObject.Min_KGebinde RowObject.Min_Betrag ~ RowObject.Strichcode_KGeb RowObject.Spesen RowObject.Strichcode_VGeb ~ RowObject.Strichcode_GGeb &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS RECT-1 CB_Spesenart &Scoped-Define DISPLAYED-FIELDS RowObject.Knr RowObject.S_Artnr ~ RowObject.S_Bez1 RowObject.Lieferant RowObject.S_Bez2 RowObject.GGeb_Inhalt ~ RowObject.Haupt RowObject.VGeb_Inhalt RowObject.Mind_Bestand ~ RowObject.Soll_Bestand RowObject.KGeb_Inhalt RowObject.Meld_Bestand ~ RowObject.Firma RowObject.S_Preis RowObject.Artnr RowObject.L_EP ~ RowObject.Min_Menge RowObject.S_Preis_FRW RowObject.VGeb_Cd ~ RowObject.L_EP_FRW RowObject.Inhalt RowObject.Jahr RowObject.Rabatt ~ RowObject.ZusRab RowObject.SpesenArt RowObject.L_Rabatt ~ RowObject.Min_GGebinde RowObject.Min_VGebinde RowObject.Min_KGebinde ~ RowObject.Min_Betrag RowObject.Strichcode_KGeb RowObject.Spesen ~ RowObject.Strichcode_VGeb RowObject.Strichcode_GGeb &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject &Scoped-Define DISPLAYED-OBJECTS CB_Spesenart /* Custom List Definitions */ /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Suchen IMAGE-UP FILE "grafik/select.bmp":U NO-FOCUS LABEL "S&uchen" SIZE 5 BY 1. DEFINE VARIABLE CB_Spesenart AS CHARACTER FORMAT "X(256)":U LABEL "Spesenart" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Beschaffungsspesen","000000", "Transportspesen","000001" DROP-DOWN-LIST SIZE 33.4 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 150 BY 12.62. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main Btn_Suchen AT ROW 1.57 COL 36 WIDGET-ID 16 RowObject.Knr AT ROW 1.52 COL 22 COLON-ALIGNED WIDGET-ID 22 LABEL "Knr" FORMAT "999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 TOOLTIP "mit ALT-F suchen von Lieferanten" BGCOLOR 15 RowObject.S_Artnr AT ROW 2.52 COL 22 COLON-ALIGNED WIDGET-ID 44 LABEL "seine Nummer" FORMAT "x(12)" VIEW-AS FILL-IN NATIVE SIZE 17.6 BY 1 BGCOLOR 15 RowObject.S_Bez1 AT ROW 3.52 COL 22 COLON-ALIGNED WIDGET-ID 46 LABEL "seine Bezeichnung" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 RowObject.Lieferant AT ROW 1.57 COL 41 COLON-ALIGNED NO-LABEL WIDGET-ID 54 VIEW-AS FILL-IN NATIVE SIZE 100 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.S_Bez2 AT ROW 3.52 COL 57 COLON-ALIGNED WIDGET-ID 48 LABEL "/" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 RowObject.GGeb_Inhalt AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 70 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Haupt AT ROW 3.52 COL 96 WIDGET-ID 20 LABEL "Hauptlieferant" VIEW-AS TOGGLE-BOX SIZE 23.4 BY 1 RowObject.VGeb_Inhalt AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 74 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Mind_Bestand AT ROW 5 COL 35 COLON-ALIGNED WIDGET-ID 56 VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Soll_Bestand AT ROW 5 COL 83 COLON-ALIGNED WIDGET-ID 58 VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.KGeb_Inhalt AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 72 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Meld_Bestand AT ROW 5 COL 128 COLON-ALIGNED WIDGET-ID 62 LABEL "Meld. Best." VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Firma AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 4 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.S_Preis AT ROW 6.52 COL 22 COLON-ALIGNED WIDGET-ID 50 LABEL "sein Preis" FORMAT "zzz,zzz,zz9.9999" VIEW-AS FILL-IN NATIVE SIZE 25 BY 1 BGCOLOR 15 RowObject.Artnr AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 2 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.L_EP AT ROW 6.52 COL 70 COLON-ALIGNED WIDGET-ID 24 LABEL "letzter EP" FORMAT "zzz,zzz,zz9.9999" VIEW-AS FILL-IN NATIVE SIZE 25 BY 1 BGCOLOR 15 RowObject.Min_Menge AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 32 LABEL "mindest Menge" FORMAT "zzz,zzz,zz9-" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.S_Preis_FRW AT ROW 7.52 COL 22 COLON-ALIGNED WIDGET-ID 52 LABEL "sein Preis (FRW)" FORMAT "zzz,zzz,zz9.9999" VIEW-AS FILL-IN NATIVE SIZE 25 BY 1 BGCOLOR 15 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.VGeb_Cd AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 12 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.L_EP_FRW AT ROW 7.52 COL 70 COLON-ALIGNED WIDGET-ID 26 LABEL "letzter EP (FRW)" FORMAT "zzz,zzz,zz9.9999" VIEW-AS FILL-IN NATIVE SIZE 25 BY 1 BGCOLOR 15 RowObject.Inhalt AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 6 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.Jahr AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 8 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.Rabatt AT ROW 8.52 COL 22 COLON-ALIGNED WIDGET-ID 34 LABEL "Rabatt / Zus. Rab" FORMAT "zz9.99" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.ZusRab AT ROW 8.52 COL 36 COLON-ALIGNED WIDGET-ID 60 LABEL "/" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.SpesenArt AT ROW 3 COL 78 COLON-ALIGNED WIDGET-ID 10 FORMAT "999999" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 NO-TAB-STOP RowObject.L_Rabatt AT ROW 8.52 COL 70 COLON-ALIGNED WIDGET-ID 28 LABEL "letzter Rabatt" FORMAT "zz9.99" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.Min_GGebinde AT ROW 6.52 COL 128 COLON-ALIGNED WIDGET-ID 64 LABEL "Mind.Bestell GGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Min_VGebinde AT ROW 7.52 COL 128 COLON-ALIGNED WIDGET-ID 68 LABEL "Mind.Bestell VGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Min_KGebinde AT ROW 8.52 COL 128 COLON-ALIGNED WIDGET-ID 66 LABEL "Mind.Bestell KGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Min_Betrag AT ROW 9.52 COL 122 COLON-ALIGNED WIDGET-ID 30 LABEL "mindest Betrag" FORMAT "zzzz,zz9.99" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 CB_Spesenart AT ROW 10 COL 22 COLON-ALIGNED WIDGET-ID 18 RowObject.Strichcode_KGeb AT ROW 10 COL 79.8 COLON-ALIGNED WIDGET-ID 40 LABEL "Strichcode KGeb" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Spesen AT ROW 11 COL 22 COLON-ALIGNED WIDGET-ID 36 VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.Strichcode_VGeb AT ROW 11 COL 79.8 COLON-ALIGNED WIDGET-ID 42 LABEL "Strichcode VGeb" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Strichcode_GGeb AT ROW 12 COL 79.8 COLON-ALIGNED WIDGET-ID 38 LABEL "Strichcode GGeb" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 14 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-artlief.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-artlief.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 = 13.1 WIDTH = 151.8. /* 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 Custom */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN RowObject.Artnr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Artnr:HIDDEN IN FRAME F-Main = TRUE RowObject.Artnr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR BUTTON Btn_Suchen IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.GGeb_Inhalt IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.GGeb_Inhalt:HIDDEN IN FRAME F-Main = TRUE RowObject.GGeb_Inhalt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR TOGGLE-BOX RowObject.Haupt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Inhalt IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Inhalt:HIDDEN IN FRAME F-Main = TRUE RowObject.Inhalt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Jahr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Jahr:HIDDEN IN FRAME F-Main = TRUE RowObject.Jahr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.KGeb_Inhalt IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.KGeb_Inhalt:HIDDEN IN FRAME F-Main = TRUE RowObject.KGeb_Inhalt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Lieferant:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.L_EP IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.L_EP_FRW IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.L_Rabatt IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Meld_Bestand IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Min_Betrag IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Min_GGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Min_KGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Min_Menge IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Min_Menge:HIDDEN IN FRAME F-Main = TRUE RowObject.Min_Menge:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Min_VGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Rabatt IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.SpesenArt IN FRAME F-Main NO-ENABLE EXP-FORMAT */ ASSIGN RowObject.SpesenArt:HIDDEN IN FRAME F-Main = TRUE RowObject.SpesenArt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Strichcode_GGeb IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Strichcode_KGeb IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Strichcode_VGeb IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.S_Artnr IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.S_Bez1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.S_Bez2 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.S_Preis IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.S_Preis_FRW IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* 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_Inhalt IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.VGeb_Inhalt:HIDDEN IN FRAME F-Main = TRUE RowObject.VGeb_Inhalt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.ZusRab IN FRAME F-Main EXP-LABEL */ /* _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 Btn_Suchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Suchen vTableWin ON CHOOSE OF Btn_Suchen IN FRAME F-Main /* Suchen */ DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. lLeave = FALSE. RUN 'g-suchen-adresse.w':U ( 'LIE', OUTPUT iRecid ). lLeave = TRUE. IF iRecid = ? OR iRecid = 0 THEN RETURN NO-APPLY. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR. rowObject.Knr :SCREEN-VALUE = STRING(Adresse.Knr). rowObject.Lieferant:SCREEN-VALUE = Adresse.Anzeig_br. APPLY 'ENTRY' TO rowObject.S_Artnr. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Spesenart &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Spesenart vTableWin ON VALUE-CHANGED OF CB_Spesenart IN FRAME F-Main /* Spesenart */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.SpesenArt:SCREEN-VALUE. rowObject.SpesenArt:SCREEN-VALUE = SELF:SCREEN-VALUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.Knr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Knr vTableWin ON ALT-F OF RowObject.Knr IN FRAME F-Main /* Knr */ DO: IF NOT FNeu THEN RETURN NO-APPLY. APPLY 'CHOOSE' TO Btn_Suchen. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ { incl/viwmainblock.i } ON 'VALUE-CHANGED':U OF rowObject.Haupt IN FRAME {&FRAME-NAME} DO: IF NOT FMut THEN SELF:SCREEN-VALUE = (IF SELF:SCREEN-VALUE BEGINS 'n' THEN STRING(TRUE) ELSE STRING(FALSE)). END. &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: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ FNeu = TRUE. FMut = TRUE. FDisp = 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 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. 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: */ /* RUN INAKTIVIEREN IN hDaten. */ /* LEAVE. */ /* END. */ /* */ RUN SUPER. /* 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}: Btn_Suchen:SENSITIVE = FALSE. 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: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. IF NOT FDisp THEN DO: FDisp = TRUE. RETURN. END. IF FCancel THEN pcColValues = OldColValues. IF NOT FNeu THEN OldColValues = pcColValues. 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}: CB_Spesenart:SCREEN-VALUE = rowObject.SpesenArt:SCREEN-VALUE NO-ERROR. iGGeb_Inhalt = INTEGER(rowObject.GGeb_Inhalt:SCREEN-VALUE). iVGeb_Inhalt = INTEGER(rowObject.VGeb_Inhalt:SCREEN-VALUE). iKGeb_Inhalt = INTEGER(rowObject.KGeb_Inhalt:SCREEN-VALUE). 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}: IF FNeu THEN Btn_Suchen:SENSITIVE = TRUE. 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 } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin PROCEDURE ENTRY_FELD_TEST : /*------------------------------------------------------------------------------ Purpose: 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: 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}: i1 = LOOKUP('Artnr', oldColList, ',') + 1. iArtnr = INTEGER(ENTRY(i1, pcColValues, CHR(1))) NO-ERROR. i1 = LOOKUP('Inhalt', oldColList, ',') + 1. iInhalt = INTEGER(ENTRY(i1, pcColValues, CHR(1))) NO-ERROR. i1 = LOOKUP('Jahr', oldColList, ',') + 1. iJahr = INTEGER(ENTRY(i1, pcColValues, CHR(1))) NO-ERROR. FIND FIRST ArtLief NO-LOCK USE-INDEX ArtLief-k1 WHERE ArtLief.Firma = Firma AND ArtLief.Artnr = iArtnr AND ArtLief.Inhalt = iInhalt AND ArtLief.Jahr = iJahr NO-ERROR. IF AVAILABLE ArtLief THEN DO: i1 = LOOKUP('Strichcode_KGeb', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = ArtLief.Strichcode_KGeb NO-ERROR. i1 = LOOKUP('Strichcode_VGeb', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = ArtLief.Strichcode_VGeb NO-ERROR. i1 = LOOKUP('Strichcode_GGeb', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = ArtLief.Strichcode_GGeb NO-ERROR. i1 = LOOKUP('Min_GGebinde', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = STRING(ArtLief.Min_GGebinde) NO-ERROR. i1 = LOOKUP('Min_VGebinde', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = STRING(ArtLief.Min_VGebinde) NO-ERROR. i1 = LOOKUP('Min_KGebinde', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = STRING(ArtLief.Min_KGebinde) NO-ERROR. END. FIND bArtst NO-LOCK WHERE bArtst.Firma = Firma AND bArtst.Artnr = iArtnr AND bArtst.Inhalt = iInhalt AND bArtst.Jahr = iJahr NO-ERROR. IF AVAILABLE ArtLief THEN DO: i1 = LOOKUP('KGeb_Inhalt', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = DYNAMIC-FUNCTION ('getKGebindeInhalt':U, bArtst.KGeb_Cd) NO-ERROR. i1 = LOOKUP('VGeb_Inhalt', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = DYNAMIC-FUNCTION ('getVGebindeInhalt':U, bArtst.VGeb_Cd) NO-ERROR. i1 = LOOKUP('GGeb_Inhalt', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = DYNAMIC-FUNCTION ('getGGebindeInhalt':U, bArtst.GGeb_Cd) NO-ERROR. END. END. RELEASE ArtLief. RELEASE bArtst. 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: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DEFINE VARIABLE Betrag AS DECIMAL DECIMALS 4 NO-UNDO. { incl/viwleavefeldtest.i } DO WHILE FNeu WITH FRAME {&FRAME-NAME}: CASE FeldName: WHEN 'Knr' THEN DO: IF lLeave THEN DO: FIND Liefst NO-LOCK USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = INTEGER(FeldInhalt) NO-ERROR. IF NOT AVAILABLE Liefst THEN DO: RUN FEHLER ( INPUT 1027 ). RETURN 'ERROR'. END. FIND Adresse NO-LOCK USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Liefst.Knr NO-ERROR. IF NOT AVAILABLE Adresse THEN DO: RUN FEHLER ( 1015 ). RETURN 'ERROR'. END. IF NOT Adresse.Aktiv THEN DO: RUN FEHLER ( 8016 ). RETURN 'ERROR'. END. rowObject.Lieferant:SCREEN-VALUE IN FRAME {&FRAME-NAME} = DYNAMIC-FUNCTION('GetAdressAnzeige':U, INPUT Liefst.Knr ) NO-ERROR. END. END. END CASE. LEAVE. END. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: CASE FeldName: WHEN 'S_Preis' THEN DO: IF NOT ipHandle:MODIFIED THEN LEAVE. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = iKnr NO-LOCK NO-ERROR. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.Frw = Liefst.FRW NO-ERROR. IF NOT AVAILABLE Waehrung THEN LEAVE. IF DECIMAL(rowObject.S_Preis:SCREEN-VALUE) = 0 AND DECIMAL(rowObject.S_Preis_FRW:SCREEN-VALUE) = 0 THEN LEAVE. IF DECIMAL(FeldInhalt) <> 0 THEN DO: Betrag = DECIMAL(FeldInhalt) * Waehrung.Faktor / Waehrung.Kurs. rowObject.S_Preis_FRW:SCREEN-VALUE = STRING(Betrag). LEAVE. END. Betrag = DECIMAL(rowObject.S_Preis_FRW:SCREEN-VALUE) * Waehrung.Kurs / Waehrung.Faktor. rowObject.S_Preis:SCREEN-VALUE = STRING(Betrag). LEAVE. END. WHEN 'S_Preis_FRW' THEN DO: IF NOT ipHandle:MODIFIED THEN LEAVE. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = iKnr NO-LOCK NO-ERROR. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.FRW = Liefst.FRW NO-ERROR. IF NOT AVAILABLE Waehrung THEN LEAVE. IF DECIMAL(rowObject.S_Preis:SCREEN-VALUE) = 0 AND DECIMAL(rowObject.S_Preis_FRW:SCREEN-VALUE) = 0 THEN LEAVE. IF DECIMAL(FeldInhalt) <> 0 THEN DO: Betrag = DECIMAL(FeldInhalt) * Waehrung.Kurs / Waehrung.Faktor. rowObject.S_Preis:SCREEN-VALUE = STRING(Betrag). LEAVE. END. Betrag = DECIMAL(rowObject.S_Preis:SCREEN-VALUE) * Waehrung.Faktor / Waehrung.Kurs. rowObject.S_Preis_FRW:SCREEN-VALUE = STRING(Betrag). LEAVE. END. WHEN 'L_EP' THEN DO: IF NOT ipHandle:MODIFIED THEN LEAVE. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = iKnr NO-LOCK NO-ERROR. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.FRW = Liefst.FRW NO-ERROR. IF NOT AVAILABLE Waehrung THEN LEAVE. IF DECIMAL(rowObject.L_EP:SCREEN-VALUE) = 0 AND DECIMAL(rowObject.L_EP_FRW:SCREEN-VALUE) = 0 THEN LEAVE. IF DECIMAL(FeldInhalt) NE 0 THEN DO: Betrag = DECIMAL(FeldInhalt) * Waehrung.Faktor / Waehrung.Kurs. rowObject.L_EP_FRW:SCREEN-VALUE = STRING(Betrag). LEAVE. END. Betrag = DECIMAL(rowObject.L_EP_FRW:SCREEN-VALUE) * Waehrung.Kurs / Waehrung.Faktor. rowObject.L_EP:SCREEN-VALUE = STRING(Betrag). LEAVE. END. WHEN 'L_EP_FRW' THEN DO: IF NOT ipHandle:MODIFIED THEN LEAVE. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = iKnr NO-LOCK NO-ERROR. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.FRW = Liefst.FRW NO-ERROR. IF NOT AVAILABLE Waehrung THEN LEAVE. IF DECIMAL(rowObject.L_EP:SCREEN-VALUE) = 0 AND DECIMAL(rowObject.L_EP_FRW:SCREEN-VALUE) = 0 THEN LEAVE. IF DECIMAL(FeldInhalt) NE 0 THEN DO: Betrag = DECIMAL(FeldInhalt) * Waehrung.Kurs / Waehrung.Faktor. rowObject.L_EP:SCREEN-VALUE = STRING(Betrag). LEAVE. END. Betrag = DECIMAL(rowObject.L_EP:SCREEN-VALUE) * Waehrung.Faktor / Waehrung.Kurs. rowObject.L_EP_FRW:SCREEN-VALUE = STRING(Betrag). LEAVE. END. WHEN 'Min_GGebinde' THEN DO: IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN LEAVE. rowObject.Min_VGebinde:SCREEN-VALUE = STRING(INTEGER(SELF:SCREEN-VALUE ) * iGGeb_Inhalt). rowObject.Min_KGebinde:SCREEN-VALUE = STRING(INTEGER(rowObject.Min_VGebinde:SCREEN-VALUE) * iVGeb_Inhalt). END. WHEN 'Min_VGebinde' THEN DO: IF INTEGER(SELF:SCREEN-VALUE) = 0 THEN LEAVE. rowObject.Min_KGebinde:SCREEN-VALUE = STRING(INTEGER(SELF:SCREEN-VALUE ) * iVGeb_Inhalt). END. 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 RETURN_FELD vTableWin PROCEDURE RETURN_FELD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { incl/viwreturnfeld.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin PROCEDURE TEST_EINGABEN : /*------------------------------------------------------------------------------ Purpose: 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. opJa = FALSE. eHandle = ?. IF NOT FMut THEN RETURN. AAA000: DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF INTEGER(rowObject.Min_GGebinde:SCREEN-VALUE) > 0 THEN rowObject.Min_VGebinde:SCREEN-VALUE = STRING(INTEGER(rowObject.Min_GGebinde:SCREEN-VALUE) * INTEGER(rowObject.GGeb_Inhalt:SCREEN-VALUE)). IF INTEGER(rowObject.Min_VGebinde:SCREEN-VALUE) > 0 THEN rowObject.Min_KGebinde:SCREEN-VALUE = STRING(INTEGER(rowObject.Min_VGebinde:SCREEN-VALUE) * INTEGER(rowObject.VGeb_Inhalt:SCREEN-VALUE)). 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. CASE pcMode: WHEN 'updateBegin' THEN DO: RUN refreshRow IN hDaten. END. WHEN 'updateEnd' THEN DO: END. END. RUN SUPER( INPUT pcMode). CASE pcMode: WHEN 'updateBegin' THEN DO: FMut = TRUE. 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: ------------------------------------------------------------------------------*/ DEFINE VARIABLE lArtMut AS LOGICAL NO-UNDO INIT FALSE. DEFINE VARIABLE iMind_Bestand AS INTEGER NO-UNDO. DEFINE VARIABLE iSoll_Bestand AS INTEGER NO-UNDO. DEFINE VARIABLE iMeld_Bestand AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF FNeu THEN DO: DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE). END. IF rowObject.Mind_Bestand:MODIFIED OR rowObject.Soll_Bestand:MODIFIED OR rowObject.Meld_Bestand:MODIFIED THEN DO: ASSIGN lArtMut = TRUE iMind_Bestand = INTEGER(rowObject.Mind_Bestand :SCREEN-VALUE) iSoll_Bestand = INTEGER(rowObject.Soll_Bestand:SCREEN-VALUE) iMeld_Bestand = INTEGER(rowObject.Meld_Bestand:SCREEN-VALUE) iArtnr = INTEGER(rowObject.Artnr :SCREEN-VALUE) iInhalt = INTEGER(rowObject.Inhalt :SCREEN-VALUE) iJahr = INTEGER(rowObject.Jahr :SCREEN-VALUE). END. END. FNeu = FALSE. FCopy = FALSE. RUN SUPER. IF lArtMut THEN DO: REPEAT TRANSACTION ON ERROR UNDO, LEAVE: FIND bArtLager WHERE bArtLager.Firma = Firma AND bArtLager.Artnr = iArtnr AND bArtLager.Inhalt = iInhalt AND bArtLager.Jahr = iJahr AND bArtLager.Lager = iLager. ASSIGN bArtLager.Mind_Bestand = iMind_Bestand bArtLager.Soll_Bestand = iSoll_Bestand bArtLager.Meld_Bestand = iMeld_Bestand . RELEASE bArtLager. LEAVE. END. lArtMut = FALSE. 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: ------------------------------------------------------------------------------*/ { incl/viwviewobject.i } RUN SUPER. PUBLISH 'GET-LAGER-IN-ARTIKE' ( OUTPUT iLager ). IF iLager = ? THEN iLager = 0. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME