&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE XSchrift NO-UNDO LIKE Schrift. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut. &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 ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR AltSchname LIKE Schrift.Schname NO-UNDO. DEF VAR QOpen AS LOG NO-UNDO. DEF VAR FOpen AS LOG NO-UNDO. DEF VAR OBreite AS INT. DEF VAR VProgname AS CHAR NO-UNDO. DEF VAR ARecid AS RECID INIT -1 NO-UNDO. DEF VAR BRecid AS RECID INIT -1 NO-UNDO. DEF VAR FInit AS LOG NO-UNDO. /* ------------------------------------------------------------------------- */ DEF VAR VKnr LIKE Debop.Knr. DEF VAR BKnr LIKE Debop.Knr. DEF VAR VFaknr LIKE Debop.Faknr. DEF VAR BFaknr LIKE Debop.Faknr. DEF VAR VSuchbe LIKE Adresse.Suchbe. DEF VAR BSuchbe LIKE Adresse.Suchbe. DEF VAR VDatum LIKE Debop.FakDat. DEF VAR BDatum LIKE Debop.FakDat. DEF VAR VNull AS LOG FORMAT "1/0". DEF VAR VTotal AS LOG FORMAT "1/0". DEF VAR FSaldo AS LOG FORMAT "1/0". DEF VAR VAnzOP AS INT. DEF VAR VDruDat AS DATE FORMAT "99.99.9999". DEF VAR VZeile AS CHAR FORMAT "x(200)". DEF VAR RRand AS INT INIT 0. DEF VAR VFakBetr AS DEC. DEF VAR VZahBetr AS DEC. DEF VAR VSkonto AS DEC. DEF VAR VSaldo AS DEC. DEF VAR TFakBetr AS DEC. DEF VAR TZahBetr AS DEC. DEF VAR TSkonto AS DEC. DEF VAR TSaldo AS DEC. DEF VAR VTot AS DEC EXTENT 10 NO-UNDO. DEF VAR VFX AS CHAR FORMAT "x(04)" NO-UNDO. DEF VAR VFN AS INT NO-UNDO. DEF VAR XTage AS CHAR FORMAT "x(04)" NO-UNDO. DEF VAR FSeite AS LOG INIT TRUE NO-UNDO. DEF VAR XAdresse AS CHAR NO-UNDO. DEF VAR FIRST_Knr AS LOG. DEF VAR LAST_Knr AS LOG. DEF VAR excelAppl AS COM-HANDLE NO-UNDO. DEF VAR cDrucker AS CHAR NO-UNDO. DEF BUFFER BAdresse FOR Adresse. DEF BUFFER BDebst FOR Debst. DEF BUFFER Debwu FOR Debwu. DEF WORKFILE WKonto FIELD Konto LIKE Debop.Konto FIELD Saldo LIKE Debop.Saldo. DEF WORKFILE WWust FIELD WuCd AS INT FIELD Proz AS DEC FIELD Wpfl AS DEC FIELD Wust AS DEC. DEF TEMP-TABLE tDebop LIKE Debop. /* ---------- Globale Variablen ---------------------------------- */ { v8/globvar.i" " " " "SHARED" } { v8/debivar.i " " " " "SHARED" } { v8/artivar.i " " " " "SHARED" } { v8/contvar.i " " " " "SHARED" } { v8/listtitv.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_Druckername /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES XSchrift Schrift /* Define KEY-PHRASE in case it is used by any query. */ &Scoped-define KEY-PHRASE TRUE /* Definitions for BROWSE Br_Druckername */ &Scoped-define FIELDS-IN-QUERY-Br_Druckername XSchrift.Schname &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Druckername &Scoped-define QUERY-STRING-Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~ ~{&SORTBY-PHRASE} &Scoped-define OPEN-QUERY-Br_Druckername OPEN QUERY Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~ ~{&SORTBY-PHRASE}. &Scoped-define TABLES-IN-QUERY-Br_Druckername XSchrift &Scoped-define FIRST-TABLE-IN-QUERY-Br_Druckername XSchrift /* Definitions for BROWSE Br_Schriftbild */ &Scoped-define FIELDS-IN-QUERY-Br_Schriftbild Schrift.Schbild &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Schriftbild &Scoped-define QUERY-STRING-Br_Schriftbild FOR EACH Schrift NO-LOCK ~ BY Schrift.Schbild &Scoped-define OPEN-QUERY-Br_Schriftbild OPEN QUERY Br_Schriftbild FOR EACH Schrift NO-LOCK ~ BY Schrift.Schbild. &Scoped-define TABLES-IN-QUERY-Br_Schriftbild Schrift &Scoped-define FIRST-TABLE-IN-QUERY-Br_Schriftbild Schrift /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~ Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] Listen.VFl[1] Listen.VCh[1] ~ Listen.BCh[1] Listen.VFl[2] &Scoped-define ENABLED-TABLES Listen &Scoped-define FIRST-ENABLED-TABLE Listen &Scoped-Define ENABLED-OBJECTS RECT-10 RECT-11 RECT-12 RECT-13 RECT-17 ~ Br_Druckername Br_Schriftbild F_Sort F_TZZ F_KZZ F_FZZ F_LQ F_KOPIE ~ F_SCHACHT F_Preisgruppen F_Vertreter Btn_Start Btn_Ende &Scoped-Define DISPLAYED-FIELDS Listen.VNr[1] Listen.BNr[1] Listen.VNr[2] ~ Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] Listen.VFl[1] Listen.VCh[1] ~ Listen.BCh[1] Listen.VFl[2] &Scoped-define DISPLAYED-TABLES Listen &Scoped-define FIRST-DISPLAYED-TABLE Listen &Scoped-Define DISPLAYED-OBJECTS F_USER F_Programm F_Zeichen F_Sort F_TZZ ~ F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT F_Preisgruppen F_Vertreter /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_Sort F_TZZ F_KZZ F_FZZ &Scoped-define List-2 Listen.VNr[1] Listen.BNr[1] F_Preisgruppen ~ F_Vertreter Listen.VNr[2] Listen.BNr[2] Listen.VDa[1] Listen.BDa[1] ~ Listen.VFl[1] Listen.VCh[1] Listen.BCh[1] Listen.VFl[2] /* _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_Ende LABEL "&Ende" SIZE 14 BY 1. DEFINE BUTTON Btn_Start LABEL "&Starten" SIZE 14 BY 1. DEFINE VARIABLE F_FZZ AS INTEGER FORMAT "999":U INITIAL 0 LABEL "Fusszeilen" VIEW-AS FILL-IN NATIVE SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "9":U INITIAL 0 LABEL "Anz. Kopien" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1.05 TOOLTIP "Anzahl Listenkopien" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_KZZ AS INTEGER FORMAT "999":U INITIAL 0 LABEL "Kopfzeilen" VIEW-AS FILL-IN NATIVE SIZE 6 BY 1.05 TOOLTIP "Wieviele leere Kopfzeilen müssen gedruckt werden" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_LQ AS LOGICAL FORMAT "j/n":U INITIAL NO LABEL "Schönschrift" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Preisgruppen AS CHARACTER FORMAT "x(256)":U LABEL "Preisgrp." VIEW-AS FILL-IN NATIVE SIZE 30 BY 1 TOOLTIP "F1 = Auswahl der Codes" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Programm AS CHARACTER FORMAT "X(20)":U INITIAL "DEBOP" LABEL "Programm" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_SCHACHT AS INTEGER FORMAT "9":U INITIAL 0 LABEL "Schacht" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1.05 TOOLTIP "Welcher Schacht muss angesteuer werden" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_TZZ AS INTEGER FORMAT "999":U INITIAL 0 LABEL "Zeilen" VIEW-AS FILL-IN NATIVE SIZE 6 BY 1.05 TOOLTIP "Wieviele Zeilen hat die ganze Seite" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_USER AS CHARACTER FORMAT "X(20)":U LABEL "Benutzer" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Vertreter AS CHARACTER FORMAT "x(256)":U LABEL "Vertreter" VIEW-AS FILL-IN NATIVE SIZE 30 BY 1 TOOLTIP "F1 = Auswahl der Codes" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Zeichen AS INTEGER FORMAT "zzz,zzz,zz9":U INITIAL 0 LABEL "Anz. Zeichen" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Sort AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Kundennummer", 1, "Suchbegriff", 2, "Excel", 3 SIZE 29 BY 2.57 NO-UNDO. DEFINE RECTANGLE RECT-10 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 40 BY 4.14. DEFINE RECTANGLE RECT-11 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 95 BY 9.33. DEFINE RECTANGLE RECT-12 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 40 BY 4.52. DEFINE RECTANGLE RECT-13 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 115.6 BY 1.81. DEFINE RECTANGLE RECT-17 EDGE-PIXELS 5 GRAPHIC-EDGE NO-FILL SIZE 143 BY 17.52. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_Druckername FOR XSchrift SCROLLING. DEFINE QUERY Br_Schriftbild FOR Schrift SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_Druckername &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Druckername B-table-Win _STRUCTURED QUERY Br_Druckername NO-LOCK DISPLAY XSchrift.Schname COLUMN-LABEL "Drucker" FORMAT "x(50)":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 50 BY 8.57 BGCOLOR 15 . DEFINE BROWSE Br_Schriftbild &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Schriftbild B-table-Win _STRUCTURED QUERY Br_Schriftbild DISPLAY Schrift.Schbild FORMAT "x(30)":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 35 BY 8.57 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main Br_Druckername AT ROW 1.67 COL 5 Br_Schriftbild AT ROW 1.67 COL 60 F_USER AT ROW 2.14 COL 110 COLON-ALIGNED F_Programm AT ROW 3.19 COL 110 COLON-ALIGNED F_Zeichen AT ROW 4.33 COL 110 COLON-ALIGNED F_Sort AT ROW 7 COL 105 NO-LABEL F_TZZ AT ROW 11.67 COL 10.4 COLON-ALIGNED F_KZZ AT ROW 11.67 COL 30.2 COLON-ALIGNED F_FZZ AT ROW 11.67 COL 49.4 COLON-ALIGNED F_LQ AT ROW 11.67 COL 71.4 COLON-ALIGNED F_KOPIE AT ROW 11.67 COL 90.2 COLON-ALIGNED F_SCHACHT AT ROW 11.67 COL 108.2 COLON-ALIGNED Listen.VNr[1] AT ROW 13.38 COL 34 COLON-ALIGNED HELP "" LABEL "von - bis Fakturanummer" FORMAT "9999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1.05 BGCOLOR 15 Listen.BNr[1] AT ROW 13.38 COL 56.4 COLON-ALIGNED HELP "" NO-LABEL FORMAT "9999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1.05 BGCOLOR 15 F_Preisgruppen AT ROW 13.38 COL 84.4 COLON-ALIGNED F_Vertreter AT ROW 14.38 COL 84.4 COLON-ALIGNED Listen.VNr[2] AT ROW 14.62 COL 34 COLON-ALIGNED LABEL "von - bis Kundennummer" FORMAT "999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1.05 BGCOLOR 15 Listen.BNr[2] AT ROW 14.62 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1.05 BGCOLOR 15 Btn_Start AT ROW 15.67 COL 102 Listen.VDa[1] AT ROW 15.86 COL 34 COLON-ALIGNED AUTO-RETURN LABEL "von - bis Fakturadatum" FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1.05 BGCOLOR 15 Listen.BDa[1] AT ROW 15.86 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1.05 BGCOLOR 15 Listen.VFl[1] AT ROW 15.86 COL 77.4 LABEL "Nur mit Saldo ?" VIEW-AS TOGGLE-BOX SIZE 23.8 BY 1.05 Btn_Ende AT ROW 16.91 COL 102 Listen.VCh[1] AT ROW 17.14 COL 34 COLON-ALIGNED LABEL "von - bis Suchbegriff" FORMAT "x(15)" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1.05 BGCOLOR 15 Listen.BCh[1] AT ROW 17.14 COL 56.4 COLON-ALIGNED NO-LABEL FORMAT "x(15)" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1.05 BGCOLOR 15 Listen.VFl[2] AT ROW 17.14 COL 77.4 HELP "" LABEL "Saldo per Data ?" VIEW-AS TOGGLE-BOX SIZE 23.8 BY 1.05 "--" VIEW-AS TEXT SIZE 1.4 BY 1.05 AT ROW 17.14 COL 55.6 "--" VIEW-AS TEXT SIZE 1.4 BY 1.05 AT ROW 13.38 COL 55.6 "--" VIEW-AS TEXT SIZE 1.4 BY 1.05 AT ROW 14.62 COL 55.6 "--" VIEW-AS TEXT SIZE 1.4 BY 1.05 AT ROW 15.86 COL 55.6 RECT-10 AT ROW 1.86 COL 100 RECT-11 AT ROW 1.48 COL 3 RECT-12 AT ROW 6.38 COL 100 RECT-13 AT ROW 11.33 COL 3.8 RECT-17 AT ROW 1 COL 1 WITH 1 DOWN KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SCROLLABLE TITLE "Drucken Offene Posten". /* *********************** 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 Temp-Tables and Buffers: TABLE: XSchrift T "?" NO-UNDO Anadat Schrift TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut 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 B-table-Win ASSIGN HEIGHT = 18.52 WIDTH = 144. /* 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_Druckername RECT-17 F-Main */ /* BROWSE-TAB Br_Schriftbild Br_Druckername F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN Listen.BCh[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN Listen.BDa[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN Listen.BNr[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT EXP-HELP */ /* SETTINGS FOR FILL-IN Listen.BNr[2] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN F_FZZ IN FRAME F-Main 1 */ /* SETTINGS FOR FILL-IN F_KZZ IN FRAME F-Main 1 */ /* SETTINGS FOR FILL-IN F_Preisgruppen IN FRAME F-Main 2 */ /* SETTINGS FOR FILL-IN F_Programm IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR RADIO-SET F_Sort IN FRAME F-Main 1 */ /* SETTINGS FOR FILL-IN F_TZZ IN FRAME F-Main 1 */ /* SETTINGS FOR FILL-IN F_USER IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Vertreter IN FRAME F-Main 2 */ /* SETTINGS FOR FILL-IN F_Zeichen IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR FILL-IN Listen.VCh[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN Listen.VDa[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR TOGGLE-BOX Listen.VFl[1] IN FRAME F-Main 2 EXP-LABEL */ /* SETTINGS FOR TOGGLE-BOX Listen.VFl[2] IN FRAME F-Main 2 EXP-LABEL EXP-HELP */ /* SETTINGS FOR FILL-IN Listen.VNr[1] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT EXP-HELP */ /* SETTINGS FOR FILL-IN Listen.VNr[2] IN FRAME F-Main 2 EXP-LABEL EXP-FORMAT */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Druckername /* Query rebuild information for BROWSE Br_Druckername _TblList = "Temp-Tables.XSchrift" _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE" _FldNameList[1] > Temp-Tables.XSchrift.Schname "XSchrift.Schname" "Drucker" "x(50)" "character" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE Br_Druckername */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Schriftbild /* Query rebuild information for BROWSE Br_Schriftbild _TblList = "Anadat.Schrift" _OrdList = "Anadat.Schrift.Schbild|yes" _FldNameList[1] = Anadat.Schrift.Schbild _Query is NOT OPENED */ /* BROWSE Br_Schriftbild */ &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 F-Main &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win ON GO OF FRAME F-Main /* Drucken Offene Posten */ DO: DO TRANSACTION: FIND Listen WHERE RECID(Listen) = ARecid. Listen.Listfl = ''. END. RUN new-state ('drucken_ende':U). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Druckername &Scoped-define SELF-NAME Br_Druckername &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win ON ROW-ENTRY OF Br_Druckername IN FRAME F-Main DO: /* This code displays initial values for newly added or copied rows. */ {src/adm/template/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win ON ROW-LEAVE OF Br_Druckername IN FRAME F-Main DO: /* Do not disable this code or no updates will take place except by pressing the Save button on an Update SmartPanel. */ {src/adm/template/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win ON VALUE-CHANGED OF Br_Druckername IN FRAME F-Main DO: {src/adm/template/brschnge.i} ASchname = XSchrift.Schname. OPEN QUERY Br_Schriftbild FOR EACH Schrift WHERE Schrift.Schname = ASchname NO-LOCK. FIND BSchrift WHERE BSchrift.Schname = ASchname AND BSchrift.Schbild = ASchbild NO-LOCK NO-ERROR. IF AVAILABLE BSchrift THEN DO: REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR. Br_Schriftbild:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}. Br_Schriftbild:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}. END. ELSE DO: APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Schriftbild &Scoped-define SELF-NAME Br_Schriftbild &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win ON ROW-ENTRY OF Br_Schriftbild IN FRAME F-Main DO: /* This code displays initial values for newly added or copied rows. */ {src/adm/template/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win ON ROW-LEAVE OF Br_Schriftbild IN FRAME F-Main DO: /* Do not disable this code or no updates will take place except by pressing the Save button on an Update SmartPanel. */ {src/adm/template/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win ON VALUE-CHANGED OF Br_Schriftbild IN FRAME F-Main DO: {src/adm/template/brschnge.i} IF ASchbild <> Schrift.Schbild THEN DO: ASSIGN F_TZZ = Schrift.Schzztot F_KZZ = Schrift.Schzzbeg F_FZZ = Schrift.Schzzend. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}. END. ASchbild = Schrift.Schbild. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Ende &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende B-table-Win ON CHOOSE OF Btn_Ende IN FRAME F-Main /* Ende */ DO: DO TRANSACTION: FIND Listen WHERE RECID(Listen) = ARecid. Listen.Listfl = ''. END. { v8/druck_ende.i } RUN new-state ('Seite_1':U). APPLY 'GO' TO FRAME {&FRAME-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Start &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start B-table-Win ON CHOOSE OF Btn_Start IN FRAME F-Main /* Starten */ DO: DO TRANSACTION WITH FRAME {&FRAME-NAME}: ASSIGN {&List-1}. FIND Listen WHERE RECID(Listen) = ARecid. FIND LiDruck WHERE RECID(LiDruck) = BRecid. ASSIGN Breite = F_Zeichen Listen.Sort = F_Sort LiDruck.Listtzz = F_TZZ LiDruck.Listkzz = F_KZZ LiDruck.Listfzz = F_FZZ LiDruck.Listlq = F_LQ LiDruck.ListCopy = F_KOPIE LiDruck.Schacht = F_SCHACHT LiDruck.Listdru = XSchrift.Schname LiDruck.Listbild = Schrift.Schbild. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1. ASSIGN {&List-2}. IF VNr[01] = 0 AND BNr[01] = 0 THEN Bnr[01] = 999999. IF VNr[01] > BNr[01] THEN BNr[01] = VNr[01]. IF VNr[02] = 0 AND BNr[02] = 0 THEN Bnr[02] = 999999. IF VNr[02] > BNr[02] THEN BNr[02] = VNr[02]. IF VDa[01] = ? THEN VDa[01] = 01/01/1901. IF BDa[01] = ? THEN BDa[01] = DATE(31,12,YEAR(TODAY)). IF VCh[01] = '' AND BCh[01] = '' THEN BCh[01] = FILL('z', 15). IF VCh[01] > BCh[01] THEN BCh[01] = VCh[01]. IF F_Preisgruppen <> '' THEN DO: Linktext = ''. i1 = NUM-ENTRIES(F_Preisgruppen). DO ix = 1 TO i1: Linktext = Linktext + STRING(INTEGER(ENTRY(ix, F_Preisgruppen)),"999") + ",". END. F_Preisgruppen = SUBSTRING(Linktext,01, LENGTH(Linktext) - 1). DISPLAY F_Preisgruppen WITH FRAME {&FRAME-NAME}. END. ECh[01] = F_Preisgruppen. IF F_Vertreter <> '' THEN DO: Linktext = ''. i1 = NUM-ENTRIES(F_Vertreter). DO ix = 1 TO i1: Linktext = Linktext + STRING(INTEGER(ENTRY(ix, F_Vertreter)),"999") + ",". END. F_Vertreter = SUBSTRING(Linktext,01, LENGTH(Linktext) - 1). DISPLAY F_Vertreter WITH FRAME {&FRAME-NAME}. END. ECh[02] = F_Vertreter. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}. ASSIGN LiDruck.ProgWahl = Listen.ProgWahl LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99'). RELEASE Listen . RELEASE LiDruck. END. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK. DISABLE Btn_Start WITH FRAME {&FRAME-NAME}. DISABLE Btn_Ende WITH FRAME {&FRAME-NAME}. RUN LIBILD. SESSION:SET-WAIT-STATE('GENERAL'). RUN DRUCKEN. SESSION:SET-WAIT-STATE(''). DO TRANSACTION WITH FRAME {&FRAME-NAME}: FIND Listen WHERE RECID(Listen) = ARecid. ASSIGN Listen.Listfl = ''. RELEASE Listen . END. FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK. ENABLE Btn_Start WITH FRAME {&FRAME-NAME}. ENABLE Btn_Ende WITH FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Preisgruppen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgruppen B-table-Win ON LEFT-MOUSE-DBLCLICK OF F_Preisgruppen IN FRAME F-Main /* Preisgrp. */ OR HELP OF F_Preisgruppen IN FRAME {&FRAME-NAME} DO: LVRecArt = 'PREGRP'. LVTitel = 'Preisgruppen'. LVFirma = GVFirma. Linktext = SELF:SCREEN-VALUE. RUN "v8/d-ausw-tabel.w". SELF:SCREEN-VALUE = Linktext. Linktext = ''. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Vertreter &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vertreter B-table-Win ON LEFT-MOUSE-DBLCLICK OF F_Vertreter IN FRAME F-Main /* Vertreter */ OR HELP OF F_Vertreter IN FRAME {&FRAME-NAME} DO: LVRecArt = 'VERTR'. LVTitel = 'Vertreter'. LVFirma = GVFirma. Linktext = SELF:SCREEN-VALUE. RUN "v8/d-ausw-tabel.w". SELF:SCREEN-VALUE = Linktext. Linktext = ''. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Druckername &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win /* *************************** Main Block *************************** */ &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN dispatch IN THIS-PROCEDURE ('initialize':U). &ENDIF ON END-ERROR ANYWHERE DO: DO TRANSACTION: FIND Listen WHERE RECID(Listen) = ARecid. Listen.Listfl = ''. RELEASE Listen. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABSCHLUSS B-table-Win PROCEDURE ABSCHLUSS : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR. PUT "" SKIP(3). Zuszz = 9. FOR EACH WKonto NO-LOCK: Zuszz = Zuszz + 1. END. IF FSaldo THEN DO: FOR EACH WWust: Zuszz = Zuszz + 1. END. END. RUN LISTTIT2. SUBSTRING(VZeile,030) = TRIM(Helptext[12]). SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],01,20)). SUBSTRING(VZeile,091) = STRING(VTot[01],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = " ". { v8/putzeile.i "1" } SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],21,20)). SUBSTRING(VZeile,091) = STRING(VTot[02],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = "* ". { v8/putzeile.i "1" } SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[13],41,20)). SUBSTRING(VZeile,091) = STRING(VTot[03],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = "** ". { v8/putzeile.i "1" } SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[14],01,20)). SUBSTRING(VZeile,091) = STRING(VTot[04],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = "*** ". { v8/putzeile.i "1" } SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[14],21,20)). SUBSTRING(VZeile,091) = STRING(VTot[05],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = "****". { v8/putzeile.i "1" } SUBSTRING(VZeile,070) = TRIM(SUBSTRING(Helptext[15],01,20)). SUBSTRING(VZeile,091) = STRING(VTot[10],"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,107) = " ". { v8/putzeilf.i "3" } i1 = 0. FOR EACH WKonto: IF i1 = 0 THEN DO: SUBSTRING(VZeile,030) = TRIM(Helptext[16]). END. SUBSTRING(VZeile,070) = STRING(WKonto.Konto,"x(12)"). SUBSTRING(VZeile,091) = STRING(WKonto.Saldo,"zzz,zzz,zz9.99-"). { v8/putzeile.i "1" } i1 = 1. END. DO WHILE TRUE: /* IF NOT FSaldo THEN LEAVE. */ { v8/putzeile.i "2" } i1 = 0. FOR EACH WWust BY WWust.WuCd BY WWust.Proz: IF i1 = 0 THEN DO: SUBSTRING(VZeile,030) = 'Mehrwertsteuer : '. END. SUBSTRING(VZeile,052) = STRING(WWust.WuCd,"z9"). IF WWust.Wust = 0 THEN DO: SUBSTRING(VZeile,056) = STRING(WWust.Proz,"zz9.99% inkl"). SUBSTRING(VZeile,070) = STRING(WWust.Wpfl,"zzz,zzz,zz9.99-"). END. ELSE DO: SUBSTRING(VZeile,056) = STRING(WWust.Proz,"zz9.99% exkl"). SUBSTRING(VZeile,070) = STRING(WWust.Wpfl,"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,095) = STRING(WWust.Wust,"zzz,zz9.99-"). END. { v8/putzeile.i "1" } i1 = 1. END. LEAVE. END. TiDruck = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &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 AUSGABE B-table-Win PROCEDURE AUSGABE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cAdresse AS CHAR NO-UNDO. DEF VAR j1 AS INT NO-UNDO. DEF VAR j2 AS INT NO-UNDO. IF FIRST_Knr THEN DO: Ueber4 = "". Ueber5 = "". VFakBetr = 0. VZahBetr = 0. VSkonto = 0. VSaldo = 0. VAnzOP = 0. cAdresse = ''. DO WHILE TRUE: IF NOT BDebst.Passant THEN DO: cAdresse = BAdresse.Anzeig_Br. LEAVE. END. FIND Passant USE-INDEX Passant-k1 WHERE Passant.Firma = tDebop.Firma AND Passant.Knr = tDebop.Knr AND Passant.Faknr = tDebop.Faknr NO-LOCK NO-ERROR. IF NOT AVAILABLE Passant THEN DO: cAdresse = BAdresse.Anzeig_Br. LEAVE. END. DO j2 = 5 TO 1 BY -1: IF Passant.Adr[j2] = '' THEN NEXT. LEAVE. END. IF j2 = 0 THEN DO: cAdresse = '????????????????????'. LEAVE. END. IF j2 = 1 THEN DO: cAdresse = Passant.Adr[01]. LEAVE. END. IF j2 = 2 THEN DO: cAdresse = Passant.Adr[01] + ', ' + Passant.Adr[02]. LEAVE. END. cAdresse = Passant.Adr[01] + ', '. DO j1 = 2 TO (j2 - 1): IF Passant.Adr[j1] = '' THEN NEXT. cAdresse = cAdresse + Passant.Adr[j1] + ', '. END. cAdresse = cAdresse + Passant.Adr[j2]. LEAVE. END. IF FSeite THEN TiDruck = TRUE. ELSE Zuszz = 10. TiGedru = FALSE. RUN LISTTIT2. IF NOT TiGedru THEN DO: PUT "" SKIP(1). END. VZeile = "". SUBSTRING(VZeile,001) = STRING(tDebop.Knr ,"9999999"). SUBSTRING(VZeile,010) = TRIM (cAdresse). IF NOT BDebst.Passant THEN SUBSTRING(VZeile,091) = STRING(BDebst.Saldo,"zzz,zzz,zz9.99-"). { v8/putzeilf.i "1" } Ueber4 = STRING(tDebop.Knr,"9999999 ") + cAdresse. Ueber4 = TRIM(SUBSTRING(Ueber4,01,Breite)). Ueber4 = Drufettb + Ueber4 + Drufette. END. SUBSTRING(VZeile,001) = STRING(tDebop.Faknr ,"9999999"). SUBSTRING(VZeile,009) = STRING(tDebop.FakDat ,"99.99.9999"). SUBSTRING(VZeile,021) = STRING(tDebop.Faellig,"99.99.9999"). SUBSTRING(VZeile,033) = STRING(tDebop.Kte ,"x(04)"). SUBSTRING(VZeile,037) = STRING(tDebop.FakBetr,"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,091) = STRING(tDebop.Saldo ,"zzz,zzz,zz9.99-"). IF tDebop.ZahDat <> ? THEN SUBSTRING(VZeile,054) = STRING(tDebop.ZahDat ,"99.99.9999"). IF tDebop.ZahBetr <> 0 THEN SUBSTRING(VZeile,064) = STRING(tDebop.ZahBetr,"zzz,zzz,zz9.99-"). IF tDebop.Skonto <> 0 THEN SUBSTRING(VZeile,079) = STRING(tDebop.Skonto ,"zzzz,zz9.99-"). VFX = "". IF (VDruDat - tDebop.Faellig) > 0 THEN DO: XTage = STRING((VDruDat - tDebop.Faellig) / 30,"zzzz9.99"). VFN = INTEGER(SUBSTRING(XTage,01,05)). VFN = VFN + 1. VFX = FILL("*", VFN). VFN = VFN + 1. END. ELSE DO: VFN = 1. END. IF VFN > 5 THEN VFN = 5. SUBSTRING(VZeile,107) = STRING(VFX,"x(04)"). { v8/putzeile.i "1" } VFakBetr = VFakBetr + tDebop.FakBetr. VZahBetr = VZahBetr + tDebop.ZahBetr. VSkonto = VSkonto + tDebop.Skonto. VSaldo = VSaldo + tDebop.Saldo. VTot[VFN] = VTot[VFN] + tDebop.Saldo. VTot[10] = VTot[10] + tDebop.Saldo. VAnzOP = VAnzOp + 1. FIND FIRST WKonto WHERE WKonto.Konto = tDebop.Konto NO-ERROR. IF NOT AVAILABLE WKonto THEN DO: CREATE WKonto. ASSIGN WKonto.Konto = tDebop.Konto. END. WKonto.Saldo = WKonto.Saldo + tDebop.Saldo. DO ix = 1 TO 11: IF tDebop.FakWpfl[ix] = 0 THEN NEXT. FIND FIRST WWust WHERE WWust.WuCd = ix AND WWust.Proz = tDebop.FakWPro[ix] NO-ERROR. IF NOT AVAILABLE WWust THEN DO: CREATE WWust. ASSIGN WWust.WuCd = ix WWust.Proz = tDebop.FakWPro[ix]. END. WWust.Wpfl = WWust.Wpfl + tDebop.FakWpfl[ix] - tDebop.ZahWpfl[ix]. WWust.Wust = WWust.Wust + tDebop.FakWust[ix] - tDebop.ZahWust[ix]. END. IF NOT VTotal THEN NEXT. IF NOT LAST_Knr THEN NEXT. IF VAnzOP < 2 THEN NEXT. SUBSTRING(VZeile,037) = STRING(VFakBetr,"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,064) = STRING(VZahBetr,"zzz,zzz,zz9.99-"). SUBSTRING(VZeile,079) = STRING(VSkonto ,"zzzz,zz9.99-"). SUBSTRING(VZeile,091) = STRING(VSaldo ,"zzz,zzz,zz9.99-"). { v8/putzeilf.i "1" } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_EXCEL B-table-Win PROCEDURE AUSGABE_EXCEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR i1 AS INT NO-UNDO. DEF VAR cZeile AS CHAR NO-UNDO. DEF VAR cAdresse AS CHAR NO-UNDO. DEF VAR XTage AS CHAR NO-UNDO. ASSIGN TFakBetr = 0 TZahBetr = 0 TSkonto = 0 TSaldo = 0. FOR EACH tDebop USE-INDEX Debop-k1 BREAK BY tDebop.Firma BY tDebop.Knr BY tDebop.Faknr : IF FIRST-OF ( tDebop.Knr ) THEN DO: FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = tDebop.Knr NO-LOCK NO-ERROR. IF AVAILABLE Adresse THEN cAdresse = Adresse.Anzeig_Br. ELSE cAdresse = '??????????'. ASSIGN VFakBetr = 0 VZahBetr = 0 VSkonto = 0 VSaldo = 0 VAnzOP = 0. END. VFX = "". IF (VDruDat - tDebop.Faellig) > 0 THEN DO: XTage = STRING((VDruDat - tDebop.Faellig) / 30,"zzzz9.99"). VFN = INTEGER(SUBSTRING(XTage,01,05)). VFN = VFN + 1. VFX = FILL("*", VFN). VFN = VFN + 1. END. ELSE DO: VFN = 1. END. IF VFN > 6 THEN VFN = 6. ASSIGN VFakBetr = VFakBetr + tDebop.Fakbetr VZahBetr = VZahBetr + tDebop.ZahBetr VSkonto = VSkonto + tDebop.Skonto VSaldo = VSaldo + tDebop.Saldo VAnzOP = VAnzOP + 1 TFakBetr = TFakBetr + tDebop.Fakbetr TZahBetr = TZahBetr + tDebop.ZahBetr TSkonto = TSkonto + tDebop.Skonto TSaldo = TSaldo + tDebop.Saldo VTot[VFN] = VTot[VFN] + tDebop.Saldo VTot[10] = VTot[10] + tDebop.Saldo. cZeile = '£' + STRING(tDebop.Knr,'999999') + '£' + cAdresse + '£' + STRING(tDebop.Faknr,'999999') + '£' + STRING(tDebop.Fakdat,'99.99.9999') + '£' + string(tDebop.Faellig,'99.99.9999') + '£' + tDebop.Kte + '£' + TRIM(STRING(tDebop.Fakbetr,'->>>>>>>>9.99')) + '£'. IF tDebop.ZahDat <> ? THEN cZeile = cZeile + STRING(tDebop.ZahDat,'99.99.9999'). cZeile = cZeile + '£' + TRIM(STRING(tDebop.ZahBetr,'->>>>>>>>9.99')) + '£' + TRIM(STRING(tDebop.Skonto ,'->>>>>>>>9.99')) + '£' + TRIM(STRING(tDebop.Saldo ,'->>>>>>>>9.99')) + '£' + TRIM(SUBSTRING(VFX,01,05)). PUT CONTROL cZeile CHR(10). DO WHILE TRUE: IF NOT LAST-OF ( tDebop.Knr ) THEN LEAVE. IF VAnzOP < 2 THEN LEAVE. cZeile = 'Total Kunde£££££££' + TRIM(STRING(VFakBetr,"->>>>>>>>>9.99")) + '££' + TRIM(STRING(VZahBetr,"->>>>>>>>>9.99")) + '£' + TRIM(STRING(VSkonto ,"->>>>>>>>>9.99")) + '£' + TRIM(STRING(VSaldo ,"->>>>>>>>>9.99")). PUT CONTROL cZeile CHR(10). LEAVE. END. IF LAST-OF (tDebop.Knr) THEN PUT CONTROL '£' CHR(10). END. cZeile = 'Gesamt-Total£££££££' + TRIM(STRING(TFakBetr,"->>>>>>>>>9.99")) + '££' + TRIM(STRING(TZahBetr,"->>>>>>>>>9.99")) + '£' + TRIM(STRING(TSkonto ,"->>>>>>>>>9.99")) + '£' + TRIM(STRING(TSaldo ,"->>>>>>>>>9.99")). PUT CONTROL cZeile CHR(10). PUT CONTROL '£££££££££££' TRIM(STRING(VTot[01],'->>>>>>>>>9.99')) '£01 - 30 Tage *' CHR(10) '£££££££££££' TRIM(STRING(VTot[02],'->>>>>>>>>9.99')) '£31 - 60 Tage **' CHR(10) '£££££££££££' TRIM(STRING(VTot[03],'->>>>>>>>>9.99')) '£61 - 90 Tage ***' CHR(10) '£££££££££££' TRIM(STRING(VTot[04],'->>>>>>>>>9.99')) '£91 -120 Tage ****' CHR(10) '£££££££££££' TRIM(STRING(VTot[05],'->>>>>>>>>9.99')) '£121-150 Tage *****' CHR(10) '£££££££££££' TRIM(STRING(VTot[06],'->>>>>>>>>9.99')) '£> 150 ******' CHR(10) '£££££££££££' TRIM(STRING(VTot[10],'->>>>>>>>>9.99')) '£Gesamttotal' CHR(10). 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 DRUCKEN B-table-Win PROCEDURE DRUCKEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR. VSort = Listen.Sort. VFaknr = Listen.VNr[01]. BFaknr = Listen.BNr[01]. VKnr = Listen.VNr[02]. BKnr = Listen.BNr[02]. VDatum = Listen.VDa[01]. BDatum = Listen.BDa[01]. VSuchbe = Listen.VCh[01]. BSuchbe = Listen.BCh[01]. VNull = Listen.VFl[01]. FSaldo = Listen.VFl[02]. VDruDat = TODAY. IF FSaldo THEN DO: VDatum = 01/01/0001. VDruDat = BDatum. END. RUN TEMPFILE. IF FSaldo THEN DO: Tittxt = 'Saldo per : ' + STRING(BDatum,"99.99.9999"). END. ELSE DO: Tittxt = STRING(VDatum,"99.99.9999") + " - " + STRING(BDatum,"99.99.9999"). END. RUN LISTTIT1. XDruDat = VDruDat. /* ========================================================================== */ IF VSort = 1 THEN DO: /* SORT NACH KUNDENNUMMER */ DO PRESELECT EACH tDebop USE-INDEX Debop-k1 NO-LOCK, FIRST BDebst USE-INDEX Debst-k1 WHERE BDebst.Firma = tDebop.Firma AND BDebst.Knr = tDebop.Knr NO-LOCK, FIRST BAdresse WHERE BAdresse.Firma = AdFirma AND BAdresse.Knr = tDebop.Knr NO-LOCK BREAK BY tDebop.Knr BY tDebop.Faknr: DO VCopy = 1 TO LiDruck.ListCopy: LNeu = TRUE. /* -------------------------------------------------------------------------- */ { v8/opendruck.i } /* -------------------------------------------------------------------------- */ VLine = 0. VRand = 0. RRand = 0. VTot = 0. VZeile = "". FSeite = FALSE. FOR EACH WKonto: DELETE WKonto. END. FOR EACH WWust: DELETE WWust. END. REPEAT: IF LNeu THEN FIND FIRST BAdresse NO-ERROR. ELSE FIND NEXT BAdresse NO-ERROR. IF NOT AVAILABLE BAdresse THEN LEAVE. LNeu = FALSE. IF FIRST-OF(tDebop.Knr) THEN FIRST_Knr = TRUE. ELSE FIRST_Knr = FALSE. IF LAST-OF (tDebop.Knr) THEN LAST_Knr = TRUE. ELSE LAST_Knr = FALSE. IF BDebst.Passant THEN ASSIGN FIRST_Knr = TRUE LAST_Knr = TRUE. RUN AUSGABE. END. Ueber4 = "". Ueber5 = "". RUN ABSCHLUSS. TiDruck = TRUE. IF DOpen = TRUE THEN DO: OUTPUT CLOSE. IF lPDF THEN RUN datei2viper.p ( cDrucker ). END. ELSE DO: RUN "v8/d-liste.w" ( INPUT Helptext[02] ). END. END. /* Kopien */ END. /* PRESELECT */ END. /* SORT KUNDENNUMMER */ /* ========================================================================== */ IF VSort = 2 THEN DO: /* SORT NACH SUCHBEGRIFF */ DO PRESELECT EACH tDebop USE-INDEX Debop-k1 NO-LOCK, FIRST BDebst USE-INDEX Debst-k1 WHERE BDebst.Firma = tDebop.Firma AND BDebst.Knr = tDebop.Knr NO-LOCK, FIRST BAdresse WHERE BAdresse.Firma = AdFirma AND BAdresse.Knr = tDebop.Knr AND BAdresse.Suchbe >= VSuchbe AND BAdresse.Suchbe <= BSuchbe NO-LOCK BREAK BY BAdresse.Suchbe BY tDebop.Knr BY tDebop.Faknr: DO VCopy = 1 TO LiDruck.ListCopy: LNeu = TRUE. /* -------------------------------------------------------------------------- */ { v8/opendruck.i } /* -------------------------------------------------------------------------- */ VLine = 0. VRand = 0. RRand = 0. VTot = 0. VZeile = "". FSeite = FALSE. FOR EACH WKonto: DELETE WKonto. END. REPEAT: IF LNeu THEN FIND FIRST BAdresse NO-ERROR. ELSE FIND NEXT BAdresse NO-ERROR. IF NOT AVAILABLE BAdresse THEN LEAVE. LNeu = FALSE. IF FIRST-OF(tDebop.Knr) THEN FIRST_Knr = TRUE. ELSE FIRST_Knr = FALSE. IF LAST-OF (tDebop.Knr) THEN LAST_Knr = TRUE. ELSE LAST_Knr = FALSE. IF BDebst.Passant THEN ASSIGN FIRST_Knr = TRUE LAST_Knr = TRUE. RUN AUSGABE. END. Ueber4 = "". Ueber5 = "". RUN ABSCHLUSS. TiDruck = TRUE. IF DOpen = TRUE THEN DO: OUTPUT CLOSE. IF lPDF THEN RUN datei2viper.p ( cDrucker ). END. ELSE DO: RUN "v8/d-liste.w" ( INPUT Helptext[02] ). END. END. /* Kopien */ END. /* PRESELECT */ END. /* SORT SUCHBEGRIFF */ /* ========================================================================== */ IF VSort = 3 THEN RUN EXCEL. /* EXCEL-Ausgabe */ APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL B-table-Win PROCEDURE EXCEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cVorlage AS CHAR NO-UNDO. DEF VAR cDokument AS CHAR NO-UNDO. DEF VAR cDaten AS CHAR NO-UNDO. DEF VAR cDateiName AS CHAR NO-UNDO. DEF VAR Zelle AS CHAR NO-UNDO. FIND FIRST tDebop NO-LOCK NO-ERROR. IF NOT AVAILABLE tDebop THEN DO: MESSAGE 'Keine Daten selektiert ! ' VIEW-AS ALERT-BOX. RETURN. END. cVorlage = 'Debop.xls'. cDokument = 'Debop.xls'. cDaten = 'Debop.txt'. cDateiName = cDokument + CHR(01) + cVorlage. RUN CREATEDATEI ( INPUT cDateiName ). IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY. cDokument = RETURN-VALUE. cDateiName = cDaten. RUN CREATEDATEI ( INPUT cDateiName ). IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY. cDaten = RETURN-VALUE. OUTPUT TO VALUE(cDaten). RUN AUSGABE_EXCEL. OUTPUT CLOSE. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR. IF NOT VALID-HANDLE(excelAppl) THEN DO: RUN FEHLER ( INPUT 1035 ). RETURN. END. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ). IF NOT ja THEN DO: RUN FEHLER ( INPUT 1040 ). DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR. RETURN NO-APPLY. END. Zelle = 'A5'. excelAppl:Range(Zelle):SELECT. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ). RUN KOPF ( INPUT excelAppl ). Zelle = 'A1'. excelAppl:Range(Zelle):SELECT. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF B-table-Win PROCEDURE KOPF : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO. DEF VAR Zelle AS CHAR NO-UNDO. DEF VAR rechts AS INT NO-UNDO. DEF VAR mitte AS INT NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR i2 AS INT NO-UNDO. DEF VAR Breite AS DEC DECIMALS 4 NO-UNDO. DEF VAR TotBre AS DEC DECIMALS 4 NO-UNDO. DEF VAR DifBre AS DEC DECIMALS 4 NO-UNDO. DEF VAR FHoch AS LOG NO-UNDO. DEF VAR cMonate AS CHAR NO-UNDO INIT 'Jan;Feb;Mar;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez;Kum'. DEF VAR lDatum AS DATE NO-UNDO. eh:Range('A1'):Select. eh:Selection:ColumnWidth = 0.2. FIND Steuer USE-INDEX Steuer-k1 WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR. Zelle = 'B1'. eh:Range(Zelle):Select. eh:Selection:Value = Steuer.Firma1. Zelle = 'B2'. eh:Range(Zelle):Select. eh:Selection:Value = Steuer.Ort. /* ------------------------------------------------------ */ Zelle = 'G1'. eh:Range(Zelle):Select. eh:Selection:Value = 'Debitoren Offene Posten'. IF FSaldo THEN DO: Zelle = 'G2'. eh:Range(Zelle):Select. eh:Selection:Value = 'Saldo per : ' + STRING(BDatum,'99.99.9999'). END. /* ------------------------------------------------------ */ Zelle = 'M1'. eh:Range(Zelle):Select. eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999'). Zelle = 'M2'. eh:Range(Zelle):Select. eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS'). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD B-table-Win PROCEDURE LIBILD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { v8/libild.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 B-table-Win PROCEDURE LISTTIT1 : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { v8/listtit1.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 B-table-Win PROCEDURE LISTTIT2 : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ { v8/listtit2.i } 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 ) . DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}. IF ARecid > -1 THEN DO: FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK. F_Preisgruppen = Listen.ECh[01]. F_Vertreter = Listen.ECh[02]. DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}. END. ENABLE {&List-2} WITH FRAME {&FRAME-NAME}. 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: ------------------------------------------------------------------------------*/ DO TRANSACTION: FIND Listen WHERE RECID(Listen) = ARecid. Listen.Listfl = ''. END. RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) . 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 BUFFER BListen FOR Listen. DEF VAR VListnr LIKE Listen.Listnr. F_USER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR. QOpen = FALSE. FInit = TRUE. RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) . VProgname = TRIM(F_USER) + '!' + TRIM(F_Programm). FIND FIRST Listen USE-INDEX Listen-k1 WHERE Listen.Firma = GVFirma AND Listen.Progname = VProgname AND Listen.Listfl = '' NO-LOCK NO-ERROR. DO TRANSACTION: IF NOT AVAILABLE Listen THEN DO: FIND LAST BListen USE-INDEX Listen-k1 WHERE BListen.Firma = GVFirma NO-LOCK NO-ERROR. IF AVAILABLE BListen THEN VListnr = BListen.Listnr + 1. ELSE VListnr = 1. CREATE Listen. ASSIGN Listen.Firma = GVFirma Listen.Listnr = VListnr Listen.Progname = VProgname Listen.Listfl = '' Listen.Jahr = GVJahr Listen.Sprcd = GVSprcd Listen.Sort = 1 Listen.ProgWahl = 1. END. ARecid = RECID(Listen). FIND LiDruck USE-INDEX LiDruck-k1 WHERE LiDruck.Firma = GVFirma AND LiDruck.Listnr = Listen.Listnr AND LiDruck.ProgWahl = Listen.ProgWahl NO-LOCK NO-ERROR. IF NOT AVAILABLE LiDruck THEN DO: CREATE LiDruck. ASSIGN LiDruck.Firma = GVFirma LiDruck.Listnr = Listen.Listnr LiDruck.ProgWahl = Listen.ProgWahl LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99') LiDruck.ListCopy = 1 LiDruck.Schacht = 0 LiDruck.Listlq = FALSE. END. BRecid = RECID(LiDruck). FIND Listen WHERE RECID(Listen) = ARecid. Listen.Listfl = 'A'. RELEASE Listen. RELEASE LiDruck. END. /* TRANSACTION */ FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK. FOpen = TRUE. ASchname = LiDruck.ListDru. ASchbild = LiDruck.ListBild. RUN dispatch IN THIS-PROCEDURE ('open-query':U). FIND FIRST XSchrift WHERE XSchrift.Schname = ASchname NO-LOCK NO-ERROR. IF AVAILABLE XSchrift THEN DO: REPOSITION Br_Druckername TO RECID RECID(XSchrift) NO-ERROR. Br_Druckername:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}. Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}. END. ELSE DO: Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}. END. APPLY 'VALUE-CHANGED' TO BROWSE Br_Druckername. RUN LIBILD. F_Zeichen = Breite. F_Sort = Listen.Sort. F_TZZ = LiDruck.Listtzz. F_KZZ = LiDruck.Listkzz. F_FZZ = LiDruck.Listfzz. F_LQ = LiDruck.Listlq. F_KOPIE = LiDruck.ListCopy. F_SCHACHT = LiDruck.Schacht. OBreite = Breite. RUN dispatch IN THIS-PROCEDURE ('display-fields':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 FOpen = FALSE THEN RETURN NO-APPLY. IF QOpen = TRUE THEN DO: CLOSE QUERY Br_Druckername. CLOSE QUERY Br_Schriftbild. END. QOpen = FALSE. FOR EACH XSchrift: DELETE XSchrift. END. AltSchname = ''. FOR EACH Schrift NO-LOCK: IF Schrift.Schname = AltSchname THEN NEXT. CREATE XSchrift. BUFFER-COPY Schrift TO XSchrift. AltSchname = Schrift.Schname. END. OPEN QUERY Br_Druckername FOR EACH XSchrift NO-LOCK. QOpen = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-row-changed B-table-Win PROCEDURE local-row-changed : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'row-changed':U ) . OPEN QUERY Br_Schriftbild FOR EACH Schrift WHERE Schrift.Schname = XSchrift.Schname NO-LOCK. IF AVAILABLE LiDruck THEN DO: FIND BSchrift WHERE BSchrift.Schname = LiDruck.ListDru AND BSchrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR. IF AVAILABLE BSchrift THEN DO: REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR. END. END. APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild. 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: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . IF ARecid < 0 THEN RETURN. DO TRANSACTION: FIND Listen WHERE RECID(Listen) = ARecid. ASSIGN Listen.VNr[01] = XVAufnr Listen.BNr[01] = XVAufnr. RELEASE Listen. END. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK. RUN dispatch IN THIS-PROCEDURE ('display-fields':U). 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 "Schrift"} {src/adm/template/snd-list.i "XSchrift"} /* 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 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: /* Object instance CASEs can go here to replace standard behavior or add new cases. */ {src/adm/template/bstates.i} END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMPFILE B-table-Win PROCEDURE TEMPFILE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR lJa AS LOG NO-UNDO. EMPTY TEMP-TABLE tDebop. FOR EACH Debop NO-LOCK USE-INDEX Debop-k1 WHERE Debop.Firma = GVFirma AND Debop.Knr >= VKnr AND Debop.Knr <= BKnr AND Debop.Faknr >= VFaknr AND Debop.Faknr <= BFaknr AND Debop.FakDat >= VDatum AND Debop.FakDat <= BDatum BREAK BY Debop.Knr BY Debop.Faknr : IF FIRST-OF ( Debop.Knr ) THEN DO: lJa = TRUE. FIND Debst NO-LOCK USE-INDEX Debst-k1 WHERE Debst.Firma = Debop.Firma AND Debst.Knr = Debop.Knr NO-ERROR. IF NOT AVAILABLE Debst THEN DO: lJa = FALSE. NEXT. END. IF F_Preisgruppen <> '' THEN DO: IF LOOKUP(STRING(Debst.Preis_Grp,"999"), F_Preisgruppen) = 0 THEN lJa = FALSE. END. IF F_Vertreter <> '' THEN DO: IF LOOKUP(STRING(Debst.Vertr ,"999"), F_Vertreter ) = 0 THEN lJa = FALSE. END. END. IF NOT lJa THEN NEXT. CREATE tDebop. BUFFER-COPY Debop TO tDebop. IF FSaldo THEN DO: FOR EACH Debza NO-LOCK USE-INDEX Debza-k1 WHERE Debza.Firma = Debop.Firma AND Debza.Knr = Debop.Knr AND Debza.Faknr = Debop.Faknr : IF Debza.ZahDat <= BDatum THEN NEXT. tDebop.ZahBetr = tDebop.ZahBetr - Debza.ZahBetr. tDebop.Skonto = tDebop.ZahBetr - Debza.Skonto. tDebop.Saldo = tDebop.Saldo + Debza.ZahBetr + Debza.Skonto. DO ix = 1 TO 12: tDebop.ZahWpfl[ix] = tDebop.ZahWpfl[ix] - Debza.ZahWpfl[ix]. tDebop.ZahWust[ix] = tDebop.ZahWust[ix] - Debza.ZahWust[ix]. END. END. END. IF NOT VNull THEN NEXT. IF tDebop.Saldo <> 0 THEN NEXT. DELETE tDebop. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME