&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-besko.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 F_Knr &Scoped-define LETZTES_FELD Kurs &Scoped-define KEY_FELDER F_Knr &Scoped-define NUR_LESEN Firma,Lieferant,Faktor,Bnr { incl/viwdefinition.i } DEFINE VARIABLE cBenDaten AS CHARACTER NO-UNDO. DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DEFINE VARIABLE cAktRowId AS CHARACTER NO-UNDO. DEFINE VARIABLE nTotale AS DECIMAL NO-UNDO EXTENT 10. DEFINE VARIABLE nTotal AS DECIMAL NO-UNDO. DEFINE VARIABLE iStatus AS INTEGER NO-UNDO. DEFINE VARIABLE hLastLeave AS HANDLE NO-UNDO. DEFINE TEMP-TABLE tBesko LIKE Besko FIELD Lieferant AS CHARACTER FIELD Lieferungen AS CHARACTER FIELD BestelltBis AS CHARACTER FIELD iStatus AS INTEGER . DEFINE VARIABLE htBesko AS HANDLE. htBesko = TEMP-TABLE tBesko:DEFAULT-BUFFER-HANDLE. {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-besko.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.Best_Datum RowObject.U_Ref ~ RowObject.Lief_Datum RowObject.Lieferzeit RowObject.I_Best RowObject.Rabatt ~ RowObject.ZusRab RowObject.Spesen RowObject.Besnr RowObject.Buch_Datum ~ RowObject.Bestell_Nr RowObject.Best_Tot RowObject.Kurs RowObject.Abgeholt ~ RowObject.Netto RowObject.Faktor &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS T_Kopf F_Knr CB_Waehrung T_Schluss ~ T_Bemerkung RECT-2 RECT-3 &Scoped-Define DISPLAYED-FIELDS RowObject.Knr RowObject.Best_Datum ~ RowObject.U_Ref RowObject.Lief_Datum RowObject.Lieferzeit RowObject.I_Best ~ RowObject.Lieferant RowObject.Rabatt RowObject.ZusRab RowObject.Spesen ~ RowObject.Besnr RowObject.Buch_Datum RowObject.Bestell_Nr ~ RowObject.Best_Tot RowObject.SpesenBetr RowObject.Kurs RowObject.Abgeholt ~ RowObject.Schluss RowObject.Bemerkung RowObject.Kopf RowObject.Abholtext ~ RowObject.Firma RowObject.MWST_Nr RowObject.Lief_Bed RowObject.FRW ~ RowObject.Kond RowObject.Gedruckt RowObject.Best_Sta RowObject.Lager ~ RowObject.Verbucht RowObject.BestelltBis RowObject.Lieferungen ~ RowObject.Netto RowObject.Wochentag RowObject.Faktor &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject &Scoped-Define DISPLAYED-OBJECTS T_Kopf F_Knr CB_Waehrung T_Schluss ~ T_Bemerkung /* 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 VARIABLE CB_Waehrung AS CHARACTER FORMAT "X(256)":U LABEL "Währung" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 37.8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Knr AS CHARACTER FORMAT "x(20)":U LABEL "Lieferant" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 190 BY 9.52. DEFINE RECTANGLE RECT-3 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 190 BY .1. DEFINE VARIABLE T_Bemerkung AS LOGICAL INITIAL NO LABEL "&Bemerkung" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 NO-UNDO. DEFINE VARIABLE T_Kopf AS LOGICAL INITIAL NO LABEL "&Kopftext" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 NO-UNDO. DEFINE VARIABLE T_Schluss AS LOGICAL INITIAL NO LABEL "&Schlusstext" VIEW-AS TOGGLE-BOX SIZE 16 BY 1 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main T_Kopf AT ROW 9 COL 130 WIDGET-ID 80 NO-TAB-STOP F_Knr AT ROW 1.52 COL 11 COLON-ALIGNED WIDGET-ID 74 RowObject.Knr AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 30 LABEL "Lieferant" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Best_Datum AT ROW 5.52 COL 24 COLON-ALIGNED WIDGET-ID 12 LABEL "Bestell-Datum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 RowObject.U_Ref AT ROW 5.52 COL 106 COLON-ALIGNED WIDGET-ID 56 LABEL "unsere Referenz" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Lief_Datum AT ROW 6.52 COL 24 COLON-ALIGNED WIDGET-ID 46 LABEL "Lieferung am" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 RowObject.Lieferzeit AT ROW 6.52 COL 72 COLON-ALIGNED WIDGET-ID 42 VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 RowObject.I_Best AT ROW 6.52 COL 106 COLON-ALIGNED WIDGET-ID 28 LABEL "Ihre Bestellung" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Lieferant AT ROW 1.52 COL 24 COLON-ALIGNED NO-LABELS WIDGET-ID 40 VIEW-AS FILL-IN NATIVE SIZE 80 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Rabatt AT ROW 6.52 COL 137.4 COLON-ALIGNED WIDGET-ID 50 VIEW-AS FILL-IN NATIVE SIZE 10 BY 1 BGCOLOR 15 RowObject.ZusRab AT ROW 6.52 COL 157 COLON-ALIGNED WIDGET-ID 76 VIEW-AS FILL-IN NATIVE SIZE 10 BY 1 BGCOLOR 15 RowObject.Spesen AT ROW 6.52 COL 178 COLON-ALIGNED WIDGET-ID 54 FORMAT "zz9.99" VIEW-AS FILL-IN NATIVE SIZE 10 BY 1 BGCOLOR 15 RowObject.Besnr AT ROW 1.52 COL 113.4 COLON-ALIGNED WIDGET-ID 8 VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Buch_Datum AT ROW 7.52 COL 24 COLON-ALIGNED WIDGET-ID 18 LABEL "Buchungsdatum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 RowObject.Bestell_Nr AT ROW 7.52 COL 106 COLON-ALIGNED WIDGET-ID 10 LABEL "Seine Bestell-Nr" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Best_Tot AT ROW 1.52 COL 143 COLON-ALIGNED WIDGET-ID 16 LABEL "Bestelltotal" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 14 NO-TAB-STOP CB_Waehrung AT ROW 9 COL 24 COLON-ALIGNED WIDGET-ID 68 RowObject.SpesenBetr AT ROW 2.52 COL 148 COLON-ALIGNED WIDGET-ID 78 LABEL "Spesenbetrag" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Kurs AT ROW 9 COL 68 COLON-ALIGNED WIDGET-ID 36 VIEW-AS FILL-IN NATIVE SIZE 20.2 BY 1 BGCOLOR 15 RowObject.Abgeholt AT ROW 3 COL 102.8 WIDGET-ID 2 LABEL "Abgeholt" VIEW-AS TOGGLE-BOX SIZE 20.2 BY 1 RowObject.Schluss AT ROW 2 COL 100 NO-LABELS WIDGET-ID 52 BGCOLOR 15 NO-TAB-STOP RowObject.Bemerkung AT ROW 2 COL 100 NO-LABELS WIDGET-ID 6 BGCOLOR 15 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.Kopf AT ROW 2 COL 100 NO-LABELS WIDGET-ID 34 BGCOLOR 15 NO-TAB-STOP RowObject.Abholtext AT ROW 2 COL 100 NO-LABELS WIDGET-ID 4 VIEW-AS EDITOR SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Firma AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 22 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.MWST_Nr AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 48 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Lief_Bed AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 44 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.FRW AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 24 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Kond AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 32 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Gedruckt AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 26 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Best_Sta AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 14 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Lager AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 38 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Verbucht AT ROW 2 COL 100 COLON-ALIGNED WIDGET-ID 58 VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.BestelltBis AT ROW 3 COL 24 COLON-ALIGNED WIDGET-ID 60 VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Lieferungen AT ROW 3 COL 63 COLON-ALIGNED WIDGET-ID 62 VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Netto AT ROW 3.52 COL 143 COLON-ALIGNED WIDGET-ID 66 VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 14 NO-TAB-STOP RowObject.Wochentag AT ROW 6.52 COL 43 COLON-ALIGNED WIDGET-ID 64 LABEL "/" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Faktor AT ROW 9 COL 97 COLON-ALIGNED WIDGET-ID 20 VIEW-AS FILL-IN NATIVE SIZE 7.6 BY 1 BGCOLOR 15 NO-TAB-STOP T_Schluss AT ROW 9 COL 150 WIDGET-ID 82 T_Bemerkung AT ROW 9 COL 170 WIDGET-ID 84 RECT-2 AT ROW 1.24 COL 2 WIDGET-ID 70 RECT-3 AT ROW 4.95 COL 2 WIDGET-ID 72 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-besko.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-besko.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.19 WIDTH = 196.6. /* 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 TOGGLE-BOX RowObject.Abgeholt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR EDITOR RowObject.Abholtext IN FRAME F-Main NO-ENABLE EXP-LABEL */ ASSIGN RowObject.Abholtext:HIDDEN IN FRAME F-Main = TRUE RowObject.Abholtext:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR EDITOR RowObject.Bemerkung IN FRAME F-Main NO-ENABLE EXP-LABEL VIEW-AS */ ASSIGN RowObject.Bemerkung:HIDDEN IN FRAME F-Main = TRUE RowObject.Bemerkung:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Besnr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.BestelltBis IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.BestelltBis:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Bestell_Nr IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Best_Datum IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Best_Sta IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Best_Sta:HIDDEN IN FRAME F-Main = TRUE RowObject.Best_Sta:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Best_Tot IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Best_Tot:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Buch_Datum IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Faktor:READ-ONLY IN FRAME F-Main = TRUE. /* 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.FRW IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.FRW:HIDDEN IN FRAME F-Main = TRUE RowObject.FRW:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Gedruckt IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Gedruckt:HIDDEN IN FRAME F-Main = TRUE RowObject.Gedruckt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.I_Best IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main NO-ENABLE EXP-LABEL */ ASSIGN RowObject.Knr:HIDDEN IN FRAME F-Main = TRUE RowObject.Knr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Kond IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Kond:HIDDEN IN FRAME F-Main = TRUE RowObject.Kond:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR EDITOR RowObject.Kopf IN FRAME F-Main NO-ENABLE EXP-LABEL VIEW-AS */ ASSIGN RowObject.Kopf:HIDDEN IN FRAME F-Main = TRUE RowObject.Kopf: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. /* SETTINGS FOR FILL-IN RowObject.Lieferant IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Lieferant:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Lieferungen IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Lieferungen:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Lief_Bed IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Lief_Bed:HIDDEN IN FRAME F-Main = TRUE RowObject.Lief_Bed:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Lief_Datum IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.MWST_Nr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.MWST_Nr:HIDDEN IN FRAME F-Main = TRUE RowObject.MWST_Nr:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Netto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR EDITOR RowObject.Schluss IN FRAME F-Main NO-ENABLE EXP-LABEL VIEW-AS */ ASSIGN RowObject.Schluss:HIDDEN IN FRAME F-Main = TRUE RowObject.Schluss:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Spesen IN FRAME F-Main EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.SpesenBetr IN FRAME F-Main NO-ENABLE EXP-LABEL */ ASSIGN RowObject.SpesenBetr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.U_Ref IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Verbucht IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Verbucht:HIDDEN IN FRAME F-Main = TRUE RowObject.Verbucht:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Wochentag IN FRAME F-Main NO-ENABLE EXP-LABEL */ ASSIGN RowObject.Wochentag: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.Abgeholt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Abgeholt vTableWin ON VALUE-CHANGED OF RowObject.Abgeholt IN FRAME F-Main /* Abgeholt */ DO: RUN 'g-einlesen-editor.w' ( SELF:LABEL, FMut, rowObject.Abholtext:HANDLE ) NO-ERROR. IF NOT FMut THEN DO: SELF:SCREEN-VALUE = STRING(NOT(LOGICAL(SELF:SCREEN-VALUE)),'TRUE/FASLE'). APPLY 'U1'. RETURN NO-APPLY. END. IF rowObject.Abholtext:SCREEN-VALUE <> '' THEN SELF:SCREEN-VALUE = 'TRUE'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Waehrung &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Waehrung vTableWin ON VALUE-CHANGED OF CB_Waehrung IN FRAME F-Main /* Währung */ DO: DO WITH FRAME {&FRAME-NAME}: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Frw:SCREEN-VALUE. rowObject.FRW:SCREEN-VALUE = SELF:SCREEN-VALUE. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.FRW = SELF:SCREEN-VALUE NO-ERROR. rowObject.Kurs :SCREEN-VALUE = STRING(Waehrung.Kurs). rowObject.Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor). END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Knr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr vTableWin ON ALT-F OF F_Knr IN FRAME F-Main /* Lieferant */ DO: DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE BUFFER bAdresse FOR Adresse. DEFINE BUFFER bLiefst FOR Liefst. IF NOT FNeu THEN RETURN NO-APPLY. iRecid = ?. RUN g-suchen-adresse.w ( INPUT 'LIE;', OUTPUT iRecid ). IF iRecid = ? THEN RETURN. IF iRecid = 0 THEN RETURN. FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = iRecid NO-ERROR. rowObject.Knr:SCREEN-VALUE = STRING(bAdresse.Knr). F_Knr :SCREEN-VALUE = STRING(bAdresse.Knr). RELEASE bAdresse. APPLY 'ENTRY' TO rowObject.Best_Datum. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Bemerkung &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Bemerkung vTableWin ON VALUE-CHANGED OF T_Bemerkung IN FRAME F-Main /* Bemerkung */ DO: RUN 'g-einlesen-editor.w' ( SELF:LABEL, FMut, rowObject.Bemerkung:HANDLE ) NO-ERROR. SELF:SCREEN-VALUE = (IF rowObject.Bemerkung:SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). IF NOT FMut THEN APPLY 'U1'. ELSE APPLY 'ENTRY' TO hLastLeave. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Kopf &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Kopf vTableWin ON VALUE-CHANGED OF T_Kopf IN FRAME F-Main /* Kopftext */ DO: RUN 'g-einlesen-editor.w' ( SELF:LABEL, FMut, rowObject.Kopf:HANDLE ) NO-ERROR. SELF:SCREEN-VALUE = (IF rowObject.Kopf:SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). IF NOT FMut THEN APPLY 'U1'. ELSE APPLY 'ENTRY' TO hLastLeave. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Schluss &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Schluss vTableWin ON VALUE-CHANGED OF T_Schluss IN FRAME F-Main /* Schlusstext */ DO: RUN 'g-einlesen-editor.w' ( SELF:LABEL, FMut, rowObject.Schluss:HANDLE ) NO-ERROR. SELF:SCREEN-VALUE = (IF rowObject.Schluss:SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). IF NOT FMut THEN APPLY 'U1'. ELSE APPLY 'ENTRY' TO hLastLeave. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ ON 'PAGE-DOWN':U OF FRAME {&FRAME-NAME} ANYWHERE DO: FMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ). IF NOT FMut THEN RETURN NO-APPLY. RUN 'TOOLBAR' IN hKontainer ('SAVE') NO-ERROR. RUN selectPage IN hKontainer ( 2 ). RETURN NO-APPLY. END. { incl/viwmainblock.i } &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: */ /*------------------------------------------------------------------------------*/ DYNAMIC-FUNCTION('setStatus':U IN hKontainer, 1 ) NO-ERROR. 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: */ /* 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: */ /* 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: */ /* Note */ /*------------------------------------------------------------------------------*/ DEFINE VARIABLE lJa AS LOG NO-UNDO. DEFINE VARIABLE rBesko AS RECID NO-UNDO. DEFINE BUFFER bBesko FOR Besko. rBesko = DYNAMIC-FUNCTION ('getCurrentRecid':U IN hDaten) NO-ERROR. FIND bBesko NO-LOCK WHERE RECID(bBesko) = rBesko. lJa = TRUE. IF bBesko.Best_Sta > 2 THEN lJa = FALSE. FIND FIRST BesEing NO-LOCK OF bBesko NO-ERROR. IF AVAILABLE BesEing THEN lJa = FALSE. IF NOT lJa THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. lJa = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ). IF NOT lJa THEN DO: RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: FOR EACH Besze OF Besko: DELETE Besze. END. FOR EACH BesGebKo OF Besko: DELETE BesGebKo. END. 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: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE dDatum AS DATE NO-UNDO. IF NOT FDisp THEN DO: FDisp = TRUE. RETURN. END. cAktRowId = ENTRY(1, pcColValues, CHR(01)). 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}: F_Knr :SCREEN-VALUE = rowObject.Knr:SCREEN-VALUE. CB_Waehrung:SCREEN-VALUE = rowObject.Frw:SCREEN-VALUE. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). dDatum = DATE(rowObject.Lief_Datum:SCREEN-VALUE) NO-ERROR. IF NOT ERROR-STATUS:ERROR AND rowObject.Wochentag:SCREEN-VALUE = '' THEN rowObject.Wochentag:SCREEN-VALUE = DYNAMIC-FUNCTION ('getWochentag':U, dDatum) NO-ERROR. T_Bemerkung:SCREEN-VALUE = (IF rowObject.Bemerkung:SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). T_Schluss :SCREEN-VALUE = (IF rowObject.Schluss :SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). T_Kopf :SCREEN-VALUE = (IF rowObject.Kopf :SCREEN-VALUE = '' THEN STRING(FALSE) ELSE STRING(TRUE)). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin PROCEDURE enableFields : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* 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. cBenDaten = DYNAMIC-FUNCTION('getBenutzerDaten':U) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: RUN COMBO_FRW ( CB_Waehrung:HANDLE ) NO-ERROR. END. 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('Firma', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR. i1 = LOOKUP('Best_Sta', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = STRING(1) NO-ERROR. i1 = LOOKUP('U_Ref', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = ENTRY(2, cBenutzerDaten, CHR(01)) NO-ERROR. i1 = LOOKUP('Lager', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = STRING(iLager) NO-ERROR. END. IF FCopy THEN DO: END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject vTableWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. iLager = DYNAMIC-FUNCTION('getLager':U IN hKontainer) NO-ERROR. 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: ------------------------------------------------------------------------------*/ { incl/viwleavefeldtest.i } DEFINE VARIABLE cKontakt AS CHARACTER NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. DEFINE VARIABLE lOK AS LOGICAL NO-UNDO. DEFINE BUFFER bAdresse FOR Adresse. hLastLeave = ipHandle. DO WHILE FNeu WITH FRAME {&FRAME-NAME}: CASE FeldName: WHEN 'F_Knr' THEN DO: iKnr = INTEGER(SELF:SCREEN-VALUE) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: iRecid = ?. RUN g-suchen-adresse.w ( INPUT SUBSTITUTE('LIE;&1', SELF:SCREEN-VALUE), OUTPUT iRecid ). IF iRecid = ? OR iRecid = 0 THEN DO: RETURN 'APPLY'. END. FIND bAdresse NO-LOCK WHERE RECID(bAdresse) = iRecid NO-ERROR. iKnr = bAdresse.Knr. END. EMPTY TEMP-TABLE tBesko. CREATE tBesko. ASSIGN tBesko.Firma = Firma tBesko.Knr = iKnr tBesko.Best_Datum = TODAY tBesko.iStatus = 0. lOK = DYNAMIC-FUNCTION ('filltBesko':U, INPUT-OUTPUT htBesko ) NO-ERROR. IF NOT lOK THEN RETURN 'ERROR'. FIND FIRST tBesko. RUN TEMP_TABLE_TO_SCREEN ( htBesko ). END. END CASE. LEAVE. END. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: CASE FeldName: WHEN 'Lief_Datum' THEN DO: rowObject.Wochentag:SCREEN-VALUE = DYNAMIC-FUNCTION('getWochenTag':U, DATE(rowObject.Lief_Datum:SCREEN-VALUE) ) NO-ERROR. 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 TEMP_TABLE_TO_SCREEN vTableWin PROCEDURE TEMP_TABLE_TO_SCREEN : /*------------------------------------------------------------------------------ Purpose: 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 hFeld AS HANDLE NO-UNDO. DEFINE VARIABLE cKunde AS CHARACTER NO-UNDO. DEFINE VARIABLE iKnr AS INTEGER 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. hFeld = ipHandle:BUFFER-FIELD(ii) NO-ERROR. IF NOT VALID-HANDLE ( hFeld ) THEN NEXT. IF hFeld:EXTENT > 1 THEN NEXT. IF hFeld:BUFFER-VALUE = ? THEN NEXT. ENTRY(i1, cColValues, CHR(1)) = ipHandle:BUFFER-FIELD(ii):BUFFER-VALUE NO-ERROR. END. IF cAktRowId <> ? THEN 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: 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 dDatum AS DATE NO-UNDO. DEFINE VARIABLE nKurs AS DECIMAL NO-UNDO DECIMALS 4. DEFINE VARIABLE cFrw AS CHARACTER NO-UNDO. opJa = FALSE. eHandle = ?. IF NOT FMut THEN RETURN. AAA000: DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF FNeu THEN DO: rowObject.Besnr:SCREEN-VALUE = DYNAMIC-FUNCTION('createBestellnummer':U, Firma ) NO-ERROR. IF INTEGER(rowObject.Besnr:SCREEN-VALUE) = 0 THEN DO: RUN FEHLER ( 1106 ). eHandle = rowObject.Knr:HANDLE. LEAVE. END. END. dDatum = DATE(rowObject.Best_Datum:SCREEN-VALUE) NO-ERROR. IF dDatum = ? THEN DO: RUN FEHLER ( 96 ). eHandle = rowObject.Best_Datum:HANDLE. LEAVE. END. dDatum = DATE(rowObject.Lief_Datum:SCREEN-VALUE) NO-ERROR. IF dDatum = ? THEN DO: RUN FEHLER ( 96 ). eHandle = rowObject.Lief_Datum:HANDLE. LEAVE. END. cFrw = rowObject.Frw:SCREEN-VALUE. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = Firma AND Waehrung.FRW = cFrw NO-ERROR. IF NOT AVAILABLE Waehrung THEN DO: RUN FEHLER ( 6004 ). eHandle = rowObject.Lief_Datum:HANDLE. LEAVE. END. rowObject.Faktor:SCREEN-VALUE = STRING(Waehrung.Faktor). IF FNeu THEN rowObject.Kurs:SCREEN-VALUE = STRING(Waehrung.Kurs). nKurs = DECIMAL(rowObject.Kurs:SCREEN-VALUE) NO-ERROR. IF ERROR-STATUS:ERROR OR nKurs = ? THEN DO: RUN FEHLER ( 6019 ). eHandle = rowObject.Lief_Datum:HANDLE. LEAVE. END. 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: 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 lMut AS LOGICAL NO-UNDO INIT FALSE. DEFINE VARIABLE iBesnr AS INTEGER NO-UNDO. DEFINE VARIABLE nKurs AS DECIMAL NO-UNDO DECIMALS 4. DEFINE VARIABLE lNeu AS LOGICAL NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. lNeu = FNeu. DO WITH FRAME {&FRAME-NAME}: IF FNeu THEN DO: DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE). END. IF rowobject.Kurs :MODIFIED THEN ASSIGN lMut = TRUE. IF rowobject.Spesen:MODIFIED THEN ASSIGN lMut = TRUE. IF rowobject.Rabatt:MODIFIED THEN ASSIGN lMut = TRUE. IF rowobject.ZusRab:MODIFIED THEN ASSIGN lMut = TRUE. iBesnr = INTEGER(rowObject.Besnr:SCREEN-VALUE) NO-ERROR. nKurs = DECIMAL(rowObject.Kurs :SCREEN-VALUE) NO-ERROR. END. FNeu = FALSE. FCopy = FALSE. RUN SUPER. REPEAT TRANSACTION: IF NOT lMut THEN LEAVE. DO WITH FRAME {&FRAME-NAME}: FOR EACH Besze WHERE Besze.Firma = Firma AND Besze.Besnr = iBesnr AND Besze.Artnr > 0: IF lMut THEN DO: ASSIGN Besze.Frw = rowObject.Frw :SCREEN-VALUE Besze.Kurs = nKurs Besze.Spesen = DECIMAL(rowObject.Spesen:SCREEN-VALUE) Besze.Rabatt = DECIMAL(rowObject.Rabatt:SCREEN-VALUE) Besze.ZusRab = DECIMAL(rowObject.ZusRab:SCREEN-VALUE) Besze.L_EP = Besze.L_EP_FRW * nKurs Besze.S_Preis = Besze.S_Preis_FRW * nKurs. END. iRecid = RECID(Besze). RELEASE Besze. DYNAMIC-FUNCTION ('calculateBeszeNetto':U, '', 0, 0, iRecid ). END. RELEASE Besze. nTotal = DYNAMIC-FUNCTION ('calculateBeskoTotal':U, Firma, iBesnr, OUTPUT nTotale ) NO-ERROR. END. IF NOT lNeu THEN LEAVE. DYNAMIC-FUNCTION ('createBesGebKo':U, Firma, iBesnr) NO-ERROR. LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject vTableWin PROCEDURE viewObject : /*------------------------------------------------------------------------------*/ /* Purpose: */ /* Notes: */ /*------------------------------------------------------------------------------*/ iStatus = DYNAMIC-FUNCTION ('getStatus':U IN hKontainer ) NO-ERROR. RUN SUPER. PUBLISH 'REFRESHBESKO'. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME