&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win /*------------------------------------------------------------------------ File: Description: from BROWSER.W - Basic SmartBrowser Object Template Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress UIB. */ /*----------------------------------------------------------------------*/ /* 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 ************************** */ &Scoped-define ERSTES-FELD Menge &Scoped-define ZWEITES-FELD Menge &Scoped-define LETZTES-FELD Menge &Scoped-define INPUT-FELDER AufGebKo.Menge &Scoped-define DATEI-NAME AufGebKo &Scoped-define Zahl_Felder F_ZahBetr,F_ZahSko,CB-ZahARt,Btn_Bezahlt /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ /* --------------------------------------------------------------------------- */ DEF VAR VUpdate AS LOG INIT FALSE NO-UNDO. DEF VAR VSpeichern AS LOG INIT FALSE NO-UNDO. DEF VAR VNeu AS LOG INIT FALSE NO-UNDO. DEF VAR FErfassen AS LOG INIT FALSE NO-UNDO. DEF VAR PHandle AS HANDLE NO-UNDO. DEF VAR XHandle AS HANDLE NO-UNDO. DEF VAR LHandle AS HANDLE NO-UNDO. DEF VAR ch AS CHAR NO-UNDO. DEF VAR VText AS CHAR FORMAT "x(30)" NO-UNDO. DEF VAR QOpen AS LOG INIT FALSE NO-UNDO. DEF VAR FQOpen AS LOG INIT FALSE NO-UNDO. DEF VAR Vorhanden AS LOG NO-UNDO. DEF VAR VROWID AS ROWID NO-UNDO. DEF VAR Feldname AS CHAR NO-UNDO. DEF VAR FeldInhalt AS CHAR NO-UNDO. DEF VAR BStatus AS INT INIT 0 NO-UNDO. DEF BUFFER B{&DATEI-NAME} FOR {&DATEI-NAME}. /* --------------------------------------------------------------------------- */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR XZahart AS CHAR NO-UNDO. DEF VAR VZahArt AS INT NO-UNDO. DEF VAR VKonto AS CHAR NO-UNDO. DEF VAR xx AS INT NO-UNDO. DEF VAR VBetrag AS DEC NO-UNDO. DEF VAR ok AS LOG NO-UNDO. DEF VAR ARecid AS RECID NO-UNDO. DEF VAR FCuDw AS LOG NO-UNDO. DEF VAR FDruMut AS LOG NO-UNDO. DEF BUFFER BAufko FOR Aufko. DEF BUFFER YAufko FOR Aufko. /* ---------- Globale Variablen ---------------------------------- */ { v8/globvar.i" " " " "SHARED" } { v8/debivar.i " " " " "SHARED" } { v8/artivar.i " " " " "SHARED" } { v8/contvar.i " " " " "SHARED" } { v8/aufkototv.i "NEW" "SHARED" } /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartBrowser &Scoped-define DB-AWARE no &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main &Scoped-define BROWSE-NAME br_table /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES AufGebKo /* Define KEY-PHRASE in case it is used by any query. */ &Scoped-define KEY-PHRASE TRUE /* Definitions for BROWSE br_table */ &Scoped-define FIELDS-IN-QUERY-br_table AufGebKo.Menge VText @ VText ~ VBetrag @ VBetrag &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table AufGebKo.Menge &Scoped-define ENABLED-TABLES-IN-QUERY-br_table AufGebKo &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-br_table AufGebKo &Scoped-define QUERY-STRING-br_table FOR EACH AufGebKo WHERE ~{&KEY-PHRASE} ~ AND AufGebKo.Firma = GVFirma ~ AND AufGebKo.Aufnr = XVAufnr NO-LOCK ~ ~{&SORTBY-PHRASE} &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH AufGebKo WHERE ~{&KEY-PHRASE} ~ AND AufGebKo.Firma = GVFirma ~ AND AufGebKo.Aufnr = XVAufnr NO-LOCK ~ ~{&SORTBY-PHRASE}. &Scoped-define TABLES-IN-QUERY-br_table AufGebKo &Scoped-define FIRST-TABLE-IN-QUERY-br_table AufGebKo /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-38 RECT-9 br_table Btn_Erfassen ~ Btn_Speichern E_Adresse Btn_Loeschen Btn_Verschieben Btn_Zurueck ~ Btn_Verbuchen F_WW F_Gebinde Btn_Aendern F_Recycling F_MWST F_Total ~ CB-Zahart F_Skonto F_Netto Btn_Bezahlt F_Saldo F_Bezahlt F_Skonto_Bez &Scoped-Define DISPLAYED-OBJECTS F_Aufnr E_Adresse F_WW F_Gebinde ~ F_Recycling F_MWST F_Total CB-Zahart F_Skonto F_Netto F_Saldo F_Zahbetr ~ F_ZahSko F_Bezahlt F_Skonto_Bez /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~ F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez &Scoped-define List-5 Aufko.Fahrer Aufko.BeiFahrer Aufko.LKW &Scoped-define List-6 F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~ F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE /* Actions: ? adm/support/keyedit.w ? ? ? */ /* STRUCTURED-DATA &BROWSE-NAME ************************** * Set attributes related to FOREIGN KEYS */ RUN set-attribute-list ( 'Keys-Accepted = "", Keys-Supplied = ""':U). /************************** */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE /* Actions: ? adm/support/advqedit.w ? ? ? */ /* STRUCTURED-DATA &BROWSE-NAME ************************ * Set attributes related to SORTBY-OPTIONS */ RUN set-attribute-list ( 'SortBy-Options = ""':U). /************************ */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Aendern LABEL "&Mutieren" SIZE 14 BY 1. DEFINE BUTTON Btn_Ausgleich LABEL "&Ausgleichen" SIZE 14 BY 1. DEFINE BUTTON Btn_Bezahlt LABEL "&Bezahlen" SIZE 14 BY 1. DEFINE BUTTON Btn_Erfassen LABEL "&Erfassen" SIZE 14 BY 1. DEFINE BUTTON Btn_Loeschen LABEL "&Löschen" SIZE 14 BY 1. DEFINE BUTTON Btn_Speichern LABEL "&Speichern" SIZE 14 BY 1. DEFINE BUTTON Btn_Verbuchen LABEL "Verb&uchen" SIZE 14 BY 1. DEFINE BUTTON Btn_Verschieben LABEL "&Weiter" SIZE 14 BY 1. DEFINE BUTTON Btn_Zurueck LABEL "&Zurück" SIZE 14 BY 1. DEFINE VARIABLE CB-Zahart AS CHARACTER FORMAT "X(256)":U LABEL "Zahlungsart" VIEW-AS COMBO-BOX INNER-LINES 5 DROP-DOWN-LIST SIZE 30 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE E_Adresse AS CHARACTER VIEW-AS EDITOR NO-WORD-WRAP MAX-CHARS 500 SIZE 50 BY 5.43 BGCOLOR 15 FONT 6 NO-UNDO. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "9999999":U INITIAL 0 LABEL "Auftragsnummer" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bezahlt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Bezahlt" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zz,zz9.999-":U INITIAL 0 LABEL "Gebinde" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Mehrwertst." VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Netto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Nettobetrag" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zz,zz9.999-":U INITIAL 0 LABEL "Gebühren" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Saldo" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Skonto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skonto" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Skonto_Bez AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skontoabzug" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Totalbetrag" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Warenwert" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Zahbetr AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Zahlbetrag" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_ZahSko AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skonto" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-38 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 38.8 BY 2.67. DEFINE RECTANGLE RECT-9 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 169 BY 20.95. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY br_table FOR AufGebKo SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table B-table-Win _STRUCTURED QUERY br_table NO-LOCK DISPLAY AufGebKo.Menge FORMAT "zz,zz9-":U VText @ VText COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U WIDTH 28 VBetrag @ VBetrag COLUMN-LABEL "Betrag" FORMAT "zzz,zz9.99-":U WIDTH 12 ENABLE AufGebKo.Menge /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 53 BY 20.48 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 1.48 COL 3 F_Aufnr AT ROW 1.81 COL 99 COLON-ALIGNED Btn_Erfassen AT ROW 2 COL 118 Btn_Speichern AT ROW 3 COL 118 E_Adresse AT ROW 3.29 COL 62 NO-LABEL Btn_Loeschen AT ROW 4 COL 118 Btn_Verschieben AT ROW 5.52 COL 118 Btn_Zurueck AT ROW 6.52 COL 118 Btn_Verbuchen AT ROW 9.05 COL 118 Btn_Ausgleich AT ROW 9.1 COL 92.2 F_WW AT ROW 10.95 COL 70 COLON-ALIGNED F_Gebinde AT ROW 11.95 COL 70 COLON-ALIGNED Aufko.Fahrer AT ROW 12.52 COL 93 COLON-ALIGNED NO-LABEL FORMAT "99" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 Aufko.BeiFahrer AT ROW 12.52 COL 100 COLON-ALIGNED NO-LABEL FORMAT "99" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 Aufko.LKW AT ROW 12.52 COL 107 COLON-ALIGNED NO-LABEL FORMAT "99" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 Btn_Aendern AT ROW 12.52 COL 116 F_Recycling AT ROW 12.95 COL 70 COLON-ALIGNED F_MWST AT ROW 13.95 COL 70 COLON-ALIGNED F_Total AT ROW 14.95 COL 70 COLON-ALIGNED CB-Zahart AT ROW 15.38 COL 100 COLON-ALIGNED F_Skonto AT ROW 15.95 COL 70 COLON-ALIGNED F_Netto AT ROW 16.95 COL 70 COLON-ALIGNED Btn_Bezahlt AT ROW 17 COL 118 F_Saldo AT ROW 17.95 COL 70 COLON-ALIGNED F_Zahbetr AT ROW 18.95 COL 70 COLON-ALIGNED F_ZahSko AT ROW 19 COL 113 COLON-ALIGNED F_Bezahlt AT ROW 19.95 COL 70 COLON-ALIGNED F_Skonto_Bez AT ROW 20 COL 113 COLON-ALIGNED "Fahrer BeiFa LKW" VIEW-AS TEXT SIZE 21.2 BY 1 AT ROW 11.52 COL 95 RECT-38 AT ROW 11.24 COL 93 RECT-9 AT ROW 1.24 COL 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SCROLLABLE DEFAULT-BUTTON Btn_Speichern. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartBrowser Allow: Basic,Browse Frames: 1 Add Fields to: EXTERNAL-TABLES Other Settings: PERSISTENT-ONLY COMPILE */ /* 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 B-table-Win ASSIGN HEIGHT = 21.67 WIDTH = 171.6. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win /* ************************* Included-Libraries *********************** */ {src/adm/method/browser.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW B-table-Win NOT-VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit */ /* BROWSE-TAB br_table RECT-9 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE FRAME F-Main:RESIZABLE = TRUE. /* SETTINGS FOR FILL-IN Aufko.BeiFahrer IN FRAME F-Main NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR BUTTON Btn_Ausgleich IN FRAME F-Main NO-ENABLE */ ASSIGN Btn_Erfassen:PRIVATE-DATA IN FRAME F-Main = "Abbrechen". ASSIGN E_Adresse:RETURN-INSERTED IN FRAME F-Main = TRUE E_Adresse:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN Aufko.Fahrer IN FRAME F-Main NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Bezahlt IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_MWST IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Netto IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Recycling IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Saldo IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Skonto IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Skonto_Bez IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Total IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_WW IN FRAME F-Main 1 6 */ /* SETTINGS FOR FILL-IN F_Zahbetr IN FRAME F-Main NO-ENABLE 1 6 */ /* SETTINGS FOR FILL-IN F_ZahSko IN FRAME F-Main NO-ENABLE 1 6 */ /* SETTINGS FOR FILL-IN Aufko.LKW IN FRAME F-Main NO-DISPLAY NO-ENABLE 5 EXP-LABEL EXP-FORMAT */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table /* Query rebuild information for BROWSE br_table _TblList = "AnaDat.AufGebKo" _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE" _Where[1] = "AufGebKo.Firma = GVFirma AND AufGebKo.Aufnr = XVAufnr" _FldNameList[1] > AnaDat.AufGebKo.Menge "AufGebKo.Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > "_" "VText @ VText" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "28" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > "_" "VBetrag @ VBetrag" "Betrag" "zzz,zz9.99-" ? ? ? ? ? ? ? no ? no no "12" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE br_table */ &ANALYZE-RESUME &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 Aufko.BeiFahrer &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.BeiFahrer B-table-Win ON HELP OF Aufko.BeiFahrer IN FRAME F-Main /* BeiFahrer */ DO: LVFirma = GVFirma. LVRecArt = 'BEIFAHR'. LVSprcd = 1. LVCodeI = INTEGER(SELF:SCREEN-VALUE). ok = TRUE. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ). IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME br_table &Scoped-define SELF-NAME br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-DISPLAY OF br_table IN FRAME F-Main DO: IF NOT AVAILABLE AufGebKo THEN RETURN. RUN ANZEIGE. IF AufGebKo.Menge <> 0 THEN DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. END. ELSE DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-ENTRY OF br_table IN FRAME F-Main DO: {src/adm/template/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON ROW-LEAVE OF br_table IN FRAME F-Main DO: LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-LEAVE. XHandle = LAST-EVENT:WIDGET-ENTER. DO WHILE VUpdate AND NOT FErfassen WITH FRAME {&FRAME-NAME}: IF KEYFUNCTION(LKY) = 'END-ERROR' THEN DO: VSpeichern = FALSE. RUN ERFASSEN. RETURN NO-APPLY. END. IF NOT FCuDw THEN DO: IF {&BROWSE-NAME}:CURRENT-ROW-MODIFIED = FALSE THEN DO: VSpeichern = FALSE. VUpdate = FALSE. RUN ERFASSEN. RETURN NO-APPLY. END. END. IF LKY = KEYCODE('RETURN') THEN DO: RUN SPEICHERN. RETURN NO-APPLY. END. IF LKY = KEYCODE('TAB') AND LHandle:NAME = '{&LETZTES-FELD}' THEN DO: RUN SPEICHERN. RETURN NO-APPLY. END. IF VALID-HANDLE(XHandle) THEN DO: DO WHILE XHandle:TYPE = 'BUTTON': IF XHandle:NAME = 'Btn_Erfassen' THEN RETURN. IF XHandle:NAME = 'Btn_Speichern' THEN RETURN. APPLY 'ENTRY' TO LHandle. RETURN NO-APPLY. END. END. RETURN NO-APPLY. END. FErfassen = FALSE. {src/adm/template/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table B-table-Win ON VALUE-CHANGED OF br_table IN FRAME F-Main DO: RUN ANZEIGE. {src/adm/template/brschnge.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Aendern &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Aendern B-table-Win ON CHOOSE OF Btn_Aendern IN FRAME F-Main /* Mutieren */ DO: DO WITH FRAME {&FRAME-NAME}: IF Btn_Aendern:LABEL = '&Mutieren' THEN DO: Btn_Aendern:LABEL = '&OK'. ENABLE {&List-5}. APPLY 'ENTRY' TO Aufko.Fahrer. RETURN NO-APPLY. END. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: LVRecid = RECID(Aufko). FIND Aufko WHERE RECID(Aufko) = LVRecid. ASSIGN {&List-5}. RELEASE Aufko. DISABLE {&List-5}. Btn_Aendern:LABEL = '&Mutieren'. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. LEAVE. END. FIND Aufko WHERE RECID(Aufko) = LVRecid NO-LOCK NO-ERROR. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Ausgleich &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ausgleich B-table-Win ON CHOOSE OF Btn_Ausgleich IN FRAME F-Main /* Ausgleichen */ DO: /* FIND Aufko USE-INDEX Aufko-k1 WHERE Aufko.Firma = GVFirma AND Aufko.Aufnr = XVAufnr NO-LOCK NO-ERROR. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: FOR EACH Aufze OF Aufko No-LOCK: IF Aufze.Artnr = 0 THEN NEXT. FOR EACH AufGebKo USE-INDEX AufGebKo-k1 WHERE AufGebKo.Firma = Aufze.Firma AND AufGebKo.Aufnr = Aufze.Aufnr: IF AufGebKo.Kto_Cd1 <> Aufze.KGebKto AND AufGebKo.Kto_Cd2 <> Aufze.KGebKto AND AufGebKo.Kto_Cd3 <> Aufze.KGebKto THEN NEXT. IF AufGebKo.Kto_Cd1 <> Aufze.VGebKto AND AufGebKo.Kto_Cd2 <> Aufze.VGebKto AND AufGebKo.Kto_Cd3 <> Aufze.VGebKto THEN NEXT. IF AufGebKo.Kto_Cd1 <> Aufze.GGebKto AND AufGebKo.Kto_Cd2 <> Aufze.GGebKto AND AufGebKo.Kto_Cd3 <> Aufze.GGebKto THEN NEXT. RUN GEBINDE_KONTO ( INPUT 2 ). IF AufGebKo.Kto_Cd1 = Aufze.KGebKto THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.KGeb_Me. IF AufGebKo.Kto_Cd2 = Aufze.KGebKto THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.KGeb_Me. IF AufGebKo.Kto_Cd3 = Aufze.KGebKto THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.KGeb_Me. IF AufGebKo.Kto_Cd1 = Aufze.VGebKto THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.VGeb_Me. IF AufGebKo.Kto_Cd2 = Aufze.VGebKto THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.VGeb_Me. IF AufGebKo.Kto_Cd3 = Aufze.VGebKto THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.VGeb_Me. IF AufGebKo.Kto_Cd1 = Aufze.GGebKto THEN AufGebKo.Anz_1 = AufGebKo.Anz_1 + Aufze.GGeb_Me. IF AufGebKo.Kto_Cd2 = Aufze.GGebKto THEN AufGebKo.Anz_2 = AufGebKo.Anz_2 + Aufze.GGeb_Me. IF AufGebKo.Kto_Cd3 = Aufze.GGebKto THEN AufGebKo.Anz_3 = AufGebKo.Anz_3 + Aufze.GGeb_Me. RUN GEBINDE_KONTO ( INPUT 1 ). ASSIGN AufGebKo.Betrag_1 = AufGebKo.Anz_1 * AufGebKo.Wert_1 * AufGebKo.Menge AufGebKo.Betrag_2 = AufGebKo.Anz_2 * AufGebKo.Wert_2 * AufGebKo.Menge AufGebKo.Betrag_3 = AufGebKo.Anz_3 * AufGebKo.Wert_3 * AufGebKo.Menge. END. END. RUN "v8/aufkotot.p". LEAVE. END. RUN ANZEIGE_DETAIL. RUN dispatch IN THIS-PROCEDURE ('open-query':U). */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Bezahlt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Bezahlt B-table-Win ON CHOOSE OF Btn_Bezahlt IN FRAME F-Main /* Bezahlen */ DO: FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'FAKART' AND Tabel.CodeC = '' AND Tabel.CodeI = Aufko.Fak_Art AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF NOT AVAILABLE Tabel THEN RETURN NO-APPLY. IF Tabel.Int_3 <> 3 AND Tabel.Int_3 <> 20 THEN DO: { v8/fehler.i "0319" } RETURN NO-APPLY. END. DO WHILE TRUE TRANSACTION WITH FRAME {&FRAME-NAME}: IF Btn_Bezahlt:LABEL = '&Bezahlen' THEN DO: ENABLE F_ZahBetr F_ZahSko. F_ZahBetr = F_Netto. F_ZahSko = F_Skonto. DISPLAY F_ZahBetr F_ZahSko. APPLY 'ENTRY' TO F_Zahbetr. Btn_Bezahlt:LABEL = '&Buchen'. RETURN NO-APPLY. END. ELSE DO WITH FRAME {&FRAME-NAME}: ASSIGN {&list-1}. VKonto = CB-Zahart:SCREEN-VALUE. IF VKonto = 'XXXXXX' THEN DO: BELL. MESSAGE 'Kein Konto gewählt ! ' VIEW-AS ALERT-BOX ERROR. APPLY 'ENTRY' TO CB-Zahart. RETURN NO-APPLY. END. FIND Aufko WHERE RECID(Aufko) = ARecid. Aufko.Bar_Betr = F_Zahbetr. Aufko.Bar_Skonto = F_ZahSko. Aufko.Bar_Konto = VKonto. F_Zahbetr = 0. F_ZahSko = 0. F_Bezahlt = Aufko.Bar_Betr. F_Skonto_Bez = Aufko.Bar_Skonto. F_Saldo = F_Total - F_Bezahlt - F_SKonto_Bez. DISPLAY {&List-1}. RELEASE Aufko. DISABLE F_ZahBetr F_ZahSko. Btn_Bezahlt:LABEL = '&Bezahlen'. END. LEAVE. END. FIND Aufko WHERE RECID(Aufko) = ARecid NO-LOCK. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Erfassen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erfassen B-table-Win ON CHOOSE OF Btn_Erfassen IN FRAME F-Main /* Erfassen */ DO: IF VUpdate THEN VSpeichern = FALSE. VUpdate = FALSE. RUN ERFASSEN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Loeschen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Loeschen B-table-Win ON CHOOSE OF Btn_Loeschen IN FRAME F-Main /* Löschen */ DO: RUN LOESCHEN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Speichern &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Speichern B-table-Win ON CHOOSE OF Btn_Speichern IN FRAME F-Main /* Speichern */ DO: VUpdate = FALSE. RUN SPEICHERN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Verbuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verbuchen B-table-Win ON CHOOSE OF Btn_Verbuchen IN FRAME F-Main /* Verbuchen */ DO: FIND Aufko USE-INDEX Aufko-k1 WHERE Aufko.Firma = GVFirma AND Aufko.Aufnr = XVAufnr NO-LOCK NO-ERROR. IF Aufko.Faknr = 0 THEN DO: { v8/fehler.i "0313" } APPLY 'ENTRY' TO Btn_Verbuchen. RETURN NO-APPLY. END. FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'FAKART' AND Tabel.CodeC = '' AND Tabel.CodeI = Aufko.Fak_Art AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. DO WHILE TRUE: IF NOT AVAILABLE Tabel THEN LEAVE. IF Tabel.Int_3 = 20 THEN LEAVE. IF Tabel.Int_3 = 3 THEN LEAVE. IF Tabel.Int_3 = 4 AND Aufko.Auf_Sta = 5 THEN LEAVE. { v8/fehler.i "0313" } APPLY 'ENTRY' TO Btn_Verbuchen. RETURN NO-APPLY. END. XVAufnr = Aufko.Aufnr. XVKnr = Aufko.Fak_Knr. LVDat = Aufko.Fak_Dat. Linknr = 9. RUN "v8/d-verbuchen.w". Linknr = 0. RUN new-state ( 'Seite_1_Open, MAIN':U ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Verschieben &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verschieben B-table-Win ON CHOOSE OF Btn_Verschieben IN FRAME F-Main /* Weiter */ DO: IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY. XVAufnr = Aufko.Aufnr. RUN WEITER ( INPUT XVAufnr ). IF RETURN-VALUE <> '' THEN RETURN NO-APPLY. RUN new-state ( 'Seite_1_Open, MAIN':U ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Zurueck &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zurueck B-table-Win ON CHOOSE OF Btn_Zurueck IN FRAME F-Main /* Zurück */ DO: IF NOT AVAILABLE Aufko THEN RETURN NO-APPLY. XVAufnr = Aufko.Aufnr. RUN ZURUECK ( INPUT XVAufnr ). IF RETURN-VALUE <> '' THEN RETURN NO-APPLY. RUN new-state ( 'Seite_1_Open, MAIN':U ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB-Zahart &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB-Zahart B-table-Win ON VALUE-CHANGED OF CB-Zahart IN FRAME F-Main /* Zahlungsart */ DO: VKonto = SELF:SCREEN-VALUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Aufko.Fahrer &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.Fahrer B-table-Win ON HELP OF Aufko.Fahrer IN FRAME F-Main /* Fahrer */ DO: LVFirma = GVFirma. LVRecArt = 'FAHRER'. LVSprcd = 1. LVCodeI = INTEGER(SELF:SCREEN-VALUE). ok = TRUE. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ). IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Zahbetr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr B-table-Win ON LEAVE OF F_Zahbetr IN FRAME F-Main /* Zahlbetrag */ DO: IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN NO-APPLY. LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LHandle) AND LHandle:TYPE = 'BUTTON' AND LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Zahbetr. IF F_Zahbetr <> 0 THEN F_ZahSko = F_Total - F_Zahbetr. DISPLAY F_ZahSko. IF LKY <> 999 THEN DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr B-table-Win ON RETURN OF F_Zahbetr IN FRAME F-Main /* Zahlbetrag */ DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_ZahSko &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko B-table-Win ON LEAVE OF F_ZahSko IN FRAME F-Main /* Skonto */ DO: IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN NO-APPLY. LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LHandle) AND LHandle:TYPE = 'BUTTON' AND LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_ZahSko. IF LKY <> 999 THEN DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko B-table-Win ON RETURN OF F_ZahSko IN FRAME F-Main /* Skonto */ DO: APPLY 'ENTRY' TO Btn_Bezahlt. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Aufko.LKW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Aufko.LKW B-table-Win ON HELP OF Aufko.LKW IN FRAME F-Main /* LKW */ DO: LVFirma = GVFirma. LVRecArt = 'LKW'. LVSprcd = 1. LVCodeI = INTEGER(SELF:SCREEN-VALUE). ok = TRUE. RUN "v8/d-a-tabel-i.w" ( INPUT-OUTPUT ok ). IF ok THEN SELF:SCREEN-VALUE = STRING(LVCodeI). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win /* *************************** Main Block *************************** */ SUBSCRIBE TO 'ENDEAUFTRAG' ANYWHERE. FIND FIRST AufGebKo USE-INDEX AufGebKo-k1 WHERE AufGebKo.Firma = GVFirma AND AufGebKo.Aufnr = XVAufnr NO-LOCK NO-ERROR. IF NOT AVAILABLE AufGebKo THEN DO: FOR EACH GebRueck NO-LOCK USE-INDEX GebRueck-k1 WHERE GebRueck.Firma = GVFirma TRANSACTION: CREATE AufGebKo. ASSIGN AufGebKo.Firma = GVFirma AufGebKo.Aufnr = XVAufnr AufGebKo.Sort_Cd = GebRueck.Sort_Cd AufGebKo.Geb_Cd = GebRueck.Geb_Cd AufGebKo.Anz_1 = GebRueck.Anz_1 AufGebKo.Kto_Cd1 = GebRueck.Kto_Cd1 AufGebKo.Anz_2 = GebRueck.Anz_2 AufGebKo.Kto_Cd2 = GebRueck.Kto_Cd2 AufGebKo.Anz_3 = GebRueck.Anz_3 AufGebKo.Kto_Cd3 = GebRueck.Kto_Cd3. IF AufGebKo.Kto_Cd1 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK. AufGebKo.Wert_1 = GebKonto.Depot. END. IF AufGebKo.Kto_Cd2 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK. AufGebKo.Wert_2 = GebKonto.Depot. END. IF AufGebKo.Kto_Cd3 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK. AufGebKo.Wert_3 = GebKonto.Depot. END. RELEASE AufGebKo. END. END. FCuDw = FALSE. /* ------ Triggers ---------------------------------------------------- */ ON INSERT-MODE OF BROWSE {&BROWSE-NAME} DO: IF VUpdate THEN RETURN NO-APPLY. RUN ERFASSEN. END. ON RETURN OF BROWSE {&BROWSE-NAME} DO: IF VUpdate THEN RETURN NO-APPLY. RUN SPEICHERN. END. ON DELETE-CHARACTER OF BROWSE {&BROWSE-NAME} DO: IF VUpdate THEN RETURN NO-APPLY. RUN LOESCHEN. END. ON ENTRY OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME} DO: IF NOT VNeu THEN DO: APPLY 'ENTRY' TO {&DATEI-NAME}.{&ZWEITES-FELD} IN BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. END. ON RETURN OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME} DO: IF NOT VUpdate THEN RETURN. APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. ON CURSOR-UP OF {&INPUT-FELDER} IN BROWSE {&BROWSE-NAME} DO: IF NOT VUpdate THEN RETURN. DO WITH FRAME {&FRAME-NAME}: FCuDw = TRUE. RUN SPEICHERN. ok = {&BROWSE-NAME}:SELECT-PREV-ROW(). /* IF NOT ok THEN RETURN NO-APPLY. */ {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). RUN ANZEIGE. RUN SPEICHERN. FCuDw = FALSE. RETURN NO-APPLY. END. END. ON CURSOR-DOWN OF {&INPUT-FELDER} IN BROWSE {&BROWSE-NAME} DO: IF NOT VUpdate THEN RETURN. DO WITH FRAME {&FRAME-NAME}: FCuDw = TRUE. RUN SPEICHERN. ok = {&BROWSE-NAME}:SELECT-NEXT-ROW(). /* IF NOT ok THEN RETURN NO-APPLY. */ {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). RUN ANZEIGE. RUN SPEICHERN. FCuDw = FALSE. RETURN NO-APPLY. END. END. ON LEFT-MOUSE-DOWN, RIGHT-MOUSE-DOWN, MIDDLE-MOUSE-DOWN OF BROWSE {&BROWSE-NAME} DO: DO WHILE TRUE: IF NOT VUpdate THEN LEAVE. XHandle = {&BROWSE-NAME}:CURRENT-COLUMN IN FRAME {&FRAME-NAME}. IF NOT VALID-HANDLE(XHandle) THEN XHandle = LAST-EVENT:WIDGET-LEAVE. IF VALID-HANDLE(XHandle) THEN DO: APPLY 'LEAVE' TO XHandle. RETURN. END. LEAVE. END. END. ON LEAVE OF {&DATEI-NAME}.{&ERSTES-FELD} IN BROWSE {&BROWSE-NAME} DO: IF NOT VUpdate THEN RETURN. LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LHandle) THEN DO: IF LHandle:TYPE = 'BUTTON' AND LHandle:PRIVATE-DATA = 'Abbrechen' THEN DO: VSpeichern = FALSE. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. END. IF NOT VSpeichern THEN RETURN. XHandle = {&BROWSE-NAME}:CURRENT-COLUMN IN FRAME {&FRAME-NAME}. Feldname = XHandle:NAME. Feldinhalt = XHandle:SCREEN-VALUE. APPLY 'ROW-DISPLAY' TO BROWSE {&BROWSE-NAME}. END. ON RETURN OF Aufko.Fahrer, Aufko.BeiFahr, Aufko.LKW IN FRAME {&FRAME-NAME} DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. ON END-ERROR OF Aufko.Fahrer, Aufko.BeiFahr, Aufko.LKW IN FRAME {&FRAME-NAME} DO: DISPLAY {&List-5} WITH FRAME {&FRAME-NAME}. DISABLE {&List-5} WITH FRAME {&FRAME-NAME}. Btn_Aendern:LABEL = '&Mutieren'. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. ON END-ERROR OF {&Zahl_Felder} IN FRAME {&FRAME-NAME} DO: DO WITH FRAME {&FRAME-NAME}: LKY = LASTKEY. IF Btn_Bezahlt:LABEL = '&Bezahlen' THEN DO: VSpeichern = FALSE. RUN new-state ( INPUT 'ENDE, MAIN':U ). RETURN NO-APPLY. END. Btn_Bezahlt:LABEL = '&Bezahlen'. F_Zahbetr = 0. F_ZahSko = 0. F_Bezahlt = Aufko.Bar_Betr. F_Skonto_Bez = Aufko.Bar_Skonto. F_Saldo = F_Total - F_Bezahlt - F_SKonto_Bez. DISPLAY {&List-1}. DISABLE F_ZahBetr F_ZahSko. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. END. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN dispatch IN THIS-PROCEDURE ('initialize':U). &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE PROCEDURE adm-row-available : /*------------------------------------------------------------------------------ Purpose: Dispatched to this procedure when the Record- Source has a new row available. This procedure tries to get the new row (or foriegn keys) from the Record-Source and process it. Parameters: ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/row-head.i} /* Process the newly available records (i.e. display fields, open queries, and/or pass records on to any RECORD-TARGETS). */ {src/adm/template/row-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE B-table-Win PROCEDURE ANZEIGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ VText = ''. IF AVAILABLE {&DATEI-NAME} THEN DO: VRecid = RECID({&DATEI-NAME}). VROWID = ROWID({&DATEI-NAME}). FIND GebRueck NO-LOCK USE-INDEX GebRueck-k1 WHERE GebRueck.Firma = GVFirma AND GebRueck.Geb_Cd = AufGebKo.Geb_Cd NO-ERROR. IF AVAILABLE GebRueck THEN VText = GebRueck.Bez. ELSE VText = FILL('?', 20). VBetrag = AufGebKo.Betrag_1 + AufGebKo.Betrag_2 + AufGebKo.Betrag_3. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANZEIGE_DETAIL B-table-Win PROCEDURE ANZEIGE_DETAIL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: F_Aufnr = XVAufnr. E_Adresse = ''. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Aufko.Knr NO-LOCK NO-ERROR. E_Adresse = Adresse.Anschrift[05] + CHR(10) + Adresse.Anschrift[06] + CHR(10) + Adresse.Anschrift[07] + CHR(10) + Adresse.Anschrift[08] + CHR(10) + Adresse.Anschrift[09] + CHR(10) + Adresse.Anschrift[10] + CHR(10) + Adresse.Anschrift[11] + CHR(10) + Adresse.Anschrift[12]. DISPLAY F_Aufnr E_Adresse {&List-5}. F_WW = VTotal[01]. F_Gebinde = VTotal[11]. F_Recycling = VTotal[12]. F_MWST = VTotal[09]. F_Total = VTotal[10]. F_Skonto = 0. F_ZahBetr = 0. F_ZahSko = 0. F_Bezahlt = Aufko.Bar_Betr. F_Skonto_Bez = Aufko.Bar_Skonto. F_Saldo = F_Total - F_Bezahlt - F_Skonto. ARecid = RECID(Aufko). VKonto = Aufko.Bar_Konto. IF VKonto = '' THEN VKonto = 'XXXXXX'. CB-Zahart:SCREEN-VALUE = VKonto NO-ERROR. FIND Kondi USE-INDEX Kondi-k1 WHERE Kondi.Kond = Aufko.Kond AND Kondi.Sprcd = Adresse.Sprcd NO-LOCK NO-ERROR. IF AVAILABLE Kondi THEN DO: IF Kondi.Skonto[01] <> 0 THEN DO: Rundbetr = VTotal[02] * Kondi.Skonto[01] / 100. Rundcode = 1. RUN "v8/runden.p". F_Skonto = Rundbetr. END. END. Rundbetr = F_Total - F_Skonto. Rundcode = 1. RUN "v8/runden.p". F_Netto = Rundbetr. DISPLAY {&List-1}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BUTTON_ENABLE B-table-Win PROCEDURE BUTTON_ENABLE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER Art AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF Art < 90 THEN BStatus = Art. IF Art = 98 THEN Art = 9. IF Art = 99 THEN Art = BStatus. CASE Art: WHEN 1 THEN DO: ENABLE Btn_Erfassen. DISABLE Btn_Speichern Btn_Loeschen. END. WHEN 2 THEN DO: ENABLE Btn_Erfassen Btn_Speichern Btn_Loeschen. END. WHEN 3 THEN DO: DISABLE Btn_Loeschen. ENABLE Btn_Speichern. END. WHEN 9 THEN DO: DISABLE Btn_Erfassen Btn_Speichern Btn_Loeschen. END. END CASE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _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 ENDEAUFTRAG B-table-Win PROCEDURE ENDEAUFTRAG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ VSpeichern = FALSE. IF VUpdate THEN DO: ja = TRUE. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ERFASSEN B-table-Win PROCEDURE ERFASSEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF Btn_Erfassen:SENSITIVE = FALSE THEN RETURN NO-APPLY. APPLY 'ENTRY' TO Btn_Erfassen. CASE Btn_Erfassen:LABEL: WHEN '&Erfassen' THEN DO: RETURN NO-APPLY. END. WHEN '&Abbrechen' THEN DO: VSpeichern = FALSE. RUN adm-disable-fields. RUN adm-cancel-record. VUpdate = FALSE. VNeu = FALSE. FErfassen = FALSE. Btn_Erfassen:LABEL = '&Erfassen'. Btn_Speichern:LABEL = '&Aendern'. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ). ELSE RUN BUTTON_ENABLE ( 1 ). END. END CASE. END. IF NOT VUpdate THEN RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_KONTO B-table-Win PROCEDURE GEBINDE_KONTO : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR MW AS INT. DEF INPUT PARAMETER Art AS INT. DO WHILE AufGebKo.Kto_Cd1 <> '': IF AufGebKo.Anz_1 = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. IF GebKonto.MWST_Art = 1 THEN DO: FIND FIRST AufGKon NO-LOCK USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = AufGebKo.Firma AufGKon.Aufnr = AufGebKo.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_1 * AufGebKo.Menge). IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_1 * AufGebKo.Menge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. DO WHILE AufGebKo.Kto_Cd2 <> '': IF AufGebKo.Anz_2 = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. IF GebKonto.MWST_Art = 1 THEN DO: FIND FIRST AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = AufGebKo.Firma AufGKon.Aufnr = AufGebKo.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_2 * AufGebKo.Menge). IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_2 * AufGebKo.Menge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. DO WHILE AufGebKo.Kto_Cd3 <> '': IF AufGebKo.Anz_3 = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = GVFirma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. IF GebKonto.MWST_Art = 1 THEN DO: FIND FIRST AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd NO-LOCK NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = GVFirma AND AufGKon.Aufnr = AufGebKo.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = AufGebKo.Firma AufGKon.Aufnr = AufGebKo.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. IF Art = 1 THEN AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_3 * AufGebKo.Menge). IF Art = 2 THEN AufGKon.Eingang = AufGKon.Eingang - (AufGebKo.Anz_3 * AufGebKo.Menge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-assign-record B-table-Win PROCEDURE local-assign-record : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ DEF VAR cString AS CHAR NO-UNDO. RUN GEBINDE_KONTO ( INPUT 2 ). RUN dispatch IN THIS-PROCEDURE ( INPUT 'assign-record':U ) . RUN GEBINDE_KONTO ( INPUT 1 ). XVAufnr = AufGebKo.Aufnr. RUN AUFTRAGSTOTAL ( XVAufnr, OUTPUT cString ). DO ix = 1 TO NUM-ENTRIES(cString, CHR(01)): VTotal[ix] = DECIMAL(ENTRY(ix, cString, CHR(01))). END. RUN SAMMFAKMUT ( INPUT XVAufnr ). IF VNeu THEN DO: END. ELSE DO: END. ASSIGN AufGebKo.Betrag_1 = AufGebKo.Anz_1 * AufGebKo.Wert_1 * AufGebKo.Menge AufGebKo.Betrag_2 = AufGebKo.Anz_2 * AufGebKo.Wert_2 * AufGebKo.Menge AufGebKo.Betrag_3 = AufGebKo.Anz_3 * AufGebKo.Wert_3 * AufGebKo.Menge. VBetrag = AufGebKo.Betrag_1 + AufGebKo.Betrag_2 + AufGebKo.Betrag_3. RUN dispatch IN THIS-PROCEDURE ('display-fields':U). RUN ANZEIGE_DETAIL. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win PROCEDURE local-display-fields : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) . IF AufGebKo.Menge <> 0 THEN DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. END. ELSE DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. VText:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. VBetrag:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. END. DO WITH FRAME {&FRAME-NAME}: END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win PROCEDURE local-hide : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ IF VUpdate THEN DO: APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}. RUN ERFASSEN. END. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) . FQOpen = FALSE. RUN BUTTON_ENABLE ( INPUT 98 ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win PROCEDURE local-initialize : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ DEF VAR cDelim AS CHAR NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: cDelim = '|'. cString = 'Kein Konto|XXXXXX'. FOR EACH Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'ZAHART' AND Tabel.CodeC = '' AND Tabel.Sprcd = 1 NO-LOCK: cString = cString + cDelim + Tabel.Bez1 + '|' + Tabel.Bez2. cDelim = '|'. END. IF cString = '' THEN cString = '|'. CB-Zahart:DELIMITER = "|". CB-Zahart:LIST-ITEM-PAIRS = cString. END. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) . END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win PROCEDURE local-open-query : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ /* IF QOpen THEN CLOSE QUERY {&BROWSE-NAME}. */ QOpen = FALSE. Vorhanden = FALSE. RUN dispatch IN THIS-PROCEDURE ( INPUT 'open-query':U ). QOpen = TRUE. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE. Vorhanden = TRUE. LEAVE. END. DO WITH FRAME {&FRAME-NAME}: IF Vorhanden THEN DO: RUN BUTTON_ENABLE ( 2 ). APPLY 'VALUE-CHANGED' TO BROWSE {&BROWSE-NAME}. END. ELSE DO: RUN BUTTON_ENABLE ( 1 ). END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win PROCEDURE local-view : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ DEF VAR cString AS CHAR NO-UNDO. IF XVAufnr = 0 THEN DO: RUN new-state ( INPUT 'seite_1, MAIN':U ). RETURN NO-APPLY. END. FIND Aufko NO-LOCK USE-INDEX Aufko-k1 WHERE Aufko.Firma = GVFirma AND Aufko.Aufnr = XVAufnr NO-ERROR. IF NOT AVAILABLE Aufko THEN DO: RUN new-state ( INPUT 'seite_1, MAIN':U ). RETURN NO-APPLY. END. FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = "FAKART" AND Tabel.CodeC = "" AND Tabel.CodeI = Aufko.Fak_Art AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF Tabel.Int_3 > 3 THEN FDruMut = TRUE. ELSE FDruMut = FALSE. RUN AUFTRAGSTOTAL ( XVAufnr, OUTPUT cString ). DO ix = 1 TO NUM-ENTRIES(cString, CHR(01)): VTotal[ix] = DECIMAL(ENTRY(ix, cString, CHR(01))). END. /* RUN "v8/aufkotot.p". */ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . FQOpen = TRUE. RUN BUTTON_ENABLE ( INPUT 99 ). DO WITH FRAME {&FRAME-NAME}: Btn_Erfassen:LABEL IN FRAME {&FRAME-NAME} = '&Erfassen'. Btn_Speichern:LABEL IN FRAME {&FRAME-NAME} = '&Aendern'. RUN dispatch IN THIS-PROCEDURE ('open-query':U). RUN dispatch IN THIS-PROCEDURE ('disable-fields':U). RUN ANZEIGE_DETAIL. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE. {&BROWSE-NAME}:SELECT-FOCUSED-ROW(). APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN B-table-Win PROCEDURE LOESCHEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ /* IF Btn_Loeschen:SENSITIVE IN FRAME {&FRAME-NAME} = FALSE THEN RETURN NO-APPLY. APPLY 'ENTRY' TO Btn_Erfassen IN FRAME {&FRAME-NAME}. RUN BUTTON_ENABLE ( 9 ). Ja = FALSE. { v8/loeschen.i } IF NOT Ja THEN DO: RUN BUTTON_ENABLE ( 2 ). RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ). RETURN. END. RUN dispatch IN THIS-PROCEDURE ('delete-record':U). DO WHILE TRUE WITH FRAME {&FRAME-NAME}: Vorhanden = FALSE. IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE. IF NUM-RESULTS("{&BROWSE-NAME}":U) = 0 THEN LEAVE. Vorhanden = TRUE. LEAVE. END. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ). ELSE RUN BUTTON_ENABLE ( 1 ). RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ). */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAKMUT B-table-Win PROCEDURE SAMMFAKMUT : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER KoAufnr AS INT NO-UNDO. IF NOT FDruMut THEN RETURN. REPEAT TRANSACTION: FIND BAufko USE-INDEX Aufko-k1 WHERE BAufko.Firma = GVFirma AND BAufko.Aufnr = KoAufnr. IF BAufko.Gedruckt = FALSE THEN RETURN. Aufko.Gedruckt = FALSE. DO WHILE TRUE: FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = GVFirma AND Tabel.RecArt = 'FAKART' AND Tabel.CodeC = '' AND Tabel.CodeI = BAufko.Fak_Art AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR. IF Tabel.Int_3 <> 4 THEN LEAVE. /* nicht Sammelrechnung */ IF BAufko.Samm_Nr = 0 THEN LEAVE. FOR EACH YAufko USE-INDEX Aufko-k4 WHERE YAufko.Firma = BAufko.Firma AND YAufko.Knr = BAufko.Knr AND YAufko.Fak_Art = BAufko.Fak_Art AND YAufko.Samm_Nr = BAufko.Samm_Nr. YAufko.Gedruckt = FALSE. IF Tabel.Int_2 = YAufko.Auf_Sta THEN YAufko.Auf_Sta = YAufko.Auf_Sta - 1. RELEASE YAufko. END. LEAVE. END. RELEASE BAufko. LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/snd-head.i} /* For each requested table, put it's ROWID in the output list. */ {src/adm/template/snd-list.i "AufGebKo"} /* Deal with any unexpected table requests before closing. */ {src/adm/template/snd-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SPEICHERN B-table-Win PROCEDURE SPEICHERN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR XROWID AS ROWID NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF Btn_Speichern:SENSITIVE = FALSE THEN RETURN NO-APPLY. APPLY 'ENTRY' TO Btn_Speichern. REPEAT TRANSACTION: CASE Btn_Speichern:LABEL: WHEN '&Aendern' THEN DO: RUN adm-enable-fields. APPLY 'ENTRY' TO {&DATEI-NAME}.{&ZWEITES-FELD} IN BROWSE {&BROWSE-NAME}. VUpdate = TRUE. VNeu = FALSE. VSpeichern = TRUE. Btn_Erfassen:LABEL = '&Abbrechen'. Btn_Speichern:LABEL = '&Speichern'. RUN BUTTON_ENABLE ( 3 ). END. WHEN '&Speichern' THEN DO: VUpdate = FALSE. RUN adm-disable-fields. RUN adm-update-record. RUN adm-end-update. VNeu = FALSE. VSpeichern = FALSE. Btn_Erfassen:LABEL = '&Erfassen'. Btn_Speichern:LABEL = '&Aendern'. IF Vorhanden THEN RUN BUTTON_ENABLE ( 2 ). ELSE RUN BUTTON_ENABLE ( 1 ). END. END CASE. RELEASE AufGebKo. LEAVE. END. END. IF NOT VUpdate THEN RUN state-changed ( INPUT THIS-PROCEDURE, INPUT 'browser_entry' ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win PROCEDURE state-changed : /* ----------------------------------------------------------- Purpose: Parameters: Notes: -------------------------------------------------------------*/ DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO. CASE p-state: WHEN 'first-record' THEN DO: RUN ANZEIGE. RUN set-attribute-list('Query-Position=':U + p-state). RETURN NO-APPLY. END. WHEN 'browser_entry' THEN DO: APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. {src/adm/template/bstates.i} END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME