&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gEtiketten &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gEtiketten /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM2 SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR MaxPage AS INT NO-UNDO. DEF VAR AktSeite AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR ProgName AS CHAR NO-UNDO. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR AdFirma AS CHAR NO-UNDO. DEF VAR iLiArt AS INT NO-UNDO. DEF VAR iVon AS INT NO-UNDO. DEF VAR iBis AS INT NO-UNDO. DEF VAR cVon AS CHAR NO-UNDO. DEF VAR cBis AS CHAR NO-UNDO. DEF VAR isok AS LOG NO-UNDO. DEF VAR cAdrart AS CHAR NO-UNDO. DEF VAR iArt AS INT NO-UNDO. DEF BUFFER BAdresse FOR Adresse. DEF TEMP-TABLE TAdresse LIKE Adresse FIELD Nummer-1 AS CHAR FIELD Nummer-2 AS CHAR FIELD Nummer-3 AS CHAR FIELD Ku_Grp AS INT FIELD Preis_Grp AS INT FIELD Vertr AS INT FIELD UmsLf AS DEC FIELD UmsVj AS DEC FIELD UmsVV AS DEC FIELD cMail AS CHAR FIELD xSort AS CHAR FIELD iInd AS INT INDEX TAdresse-k1 IS PRIMARY XSort Knr iInd. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDialog &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER DIALOG-BOX &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME gEtiketten /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS CB_Listenart R_Auswertung R_Sort T_Ansprech ~ F_Von F_Bis CB_Adrart F_Fe01 F_Fe02 F_Fe03 F_Fe04 F_Fe05 F_Fe06 F_Fe07 ~ F_Fe08 F_Fe09 F_Fe10 F_Fe11 F_Fe12 F_Fe13 F_Fe14 F_Fe15 T_Oder F_Kugrp ~ F_Prgrp F_Vertr F_UmsLfVon F_UmsLfBis F_UmsVjVon F_UmsVjBis F_UmsVVVon ~ F_UmsVVBis R_UndOder Btn_Excel Btn_Cancel Btn_Mail F_Druckpfad RECT-38 ~ RECT-39 RECT-40 &Scoped-Define DISPLAYED-OBJECTS CB_Listenart R_Auswertung R_Sort ~ T_Ansprech F_Von F_Bis CB_Adrart F_Fe01 F_Fe02 F_Fe03 F_Fe04 F_Fe05 F_Fe06 ~ F_Fe07 F_Fe08 F_Fe09 F_Fe10 F_Fe11 F_Fe12 F_Fe13 F_Fe14 F_Fe15 T_Oder ~ F_Kugrp F_Prgrp F_Vertr F_UmsLfVon F_UmsLfBis F_UmsVjVon F_UmsVjBis ~ F_UmsVVVon F_UmsVVBis R_UndOder F_Druckpfad /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-5 Btn_Excel Btn_Mail &Scoped-define List-6 R_Auswertung R_Sort T_Ansprech F_Von F_Bis F_Fe01 ~ F_Fe02 F_Fe03 F_Fe04 F_Fe05 F_Fe06 F_Fe07 F_Fe08 F_Fe09 F_Fe10 F_Fe11 ~ F_Fe12 F_Fe13 F_Fe14 F_Fe15 T_Oder F_Kugrp F_Prgrp F_Vertr F_UmsLfVon ~ F_UmsLfBis F_UmsVjVon F_UmsVjBis F_UmsVVVon F_UmsVVBis R_UndOder ~ F_Druckpfad /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Cancel AUTO-END-KEY LABEL "&Abbrechen" SIZE 16 BY 1. DEFINE BUTTON Btn_Excel IMAGE-UP FILE "grafik/results%.ico":U IMAGE-INSENSITIVE FILE "grafik/results%.ico":U LABEL "Excel" SIZE 7 BY 1.81. DEFINE BUTTON Btn_Mail IMAGE-UP FILE "grafik/mail.jpg":U IMAGE-INSENSITIVE FILE "grafik/mail.jpg":U LABEL "Excel" SIZE 7 BY 1.81. DEFINE VARIABLE CB_Adrart AS CHARACTER FORMAT "X(256)":U LABEL "Adressart" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 30 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Listenart AS CHARACTER FORMAT "X(256)":U LABEL "Listenart" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "alle Adressen","1", "nur Adressen","2", "nur Debitoren","3", "nur Lieferanten","4", "nur Kreditoren","5" DROP-DOWN-LIST SIZE 50 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bis AS CHARACTER FORMAT "X(256)":U LABEL "--" VIEW-AS FILL-IN NATIVE SIZE 30 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Cd01 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd02 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd03 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd04 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd05 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd06 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd07 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd08 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd09 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd10 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd11 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd12 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd13 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd14 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Cd15 AS CHARACTER FORMAT "x(05)":U VIEW-AS FILL-IN SIZE 8 BY 1 NO-UNDO. DEFINE VARIABLE F_Druckpfad AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 55 BY 1 TOOLTIP "ALT-F1 = Feld beschreibbar / CTRL-F1 = Inhalt wird geschrieben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe01 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe02 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe03 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe04 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe05 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe06 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe07 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe08 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe09 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe10 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe11 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe12 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe13 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe14 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Fe15 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Kugrp AS CHARACTER FORMAT "X(256)":U LABEL "Kundengruppen" VIEW-AS FILL-IN NATIVE SIZE 36.8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Prgrp AS CHARACTER FORMAT "X(256)":U LABEL "Preisgruppen" VIEW-AS FILL-IN NATIVE SIZE 36.8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsLfBis AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsLfVon AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "Umsatz laufend" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsVjBis AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsVjVon AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "Umsatz Vorjahr" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsVVBis AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "-" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_UmsVVVon AS DECIMAL FORMAT "z,zzz,zz9-":U INITIAL 0 LABEL "Ums. Vor-VorJahr" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "wenn der Umsatz unwichtig ist, dann überall 0 eingeben" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Vertr AS CHARACTER FORMAT "X(256)":U LABEL "Vertreter" VIEW-AS FILL-IN NATIVE SIZE 36.8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Von AS CHARACTER FORMAT "X(256)":U LABEL "Auswahl" VIEW-AS FILL-IN NATIVE SIZE 30 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE R_Auswertung AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Etiketten", 1, "Liste", 2, "Etikettendrucker", 3 SIZE 30 BY 2.14 NO-UNDO. DEFINE VARIABLE R_Sort AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "Kundennummer", 1, "Suchbegriff", 2, "Ort", 3, "Plz", 4 SIZE 50 BY 3 NO-UNDO. DEFINE VARIABLE R_UndOder AS INTEGER VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "und-Verknüpfung", 1, "oder-Verknüpfung", 2 SIZE 34.2 BY 1.43 NO-UNDO. DEFINE RECTANGLE RECT-38 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 124 BY 3.81. DEFINE RECTANGLE RECT-39 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 124 BY 11.24. DEFINE RECTANGLE RECT-40 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 124 BY 5.71. DEFINE VARIABLE T_Ansprech AS LOGICAL INITIAL no LABEL "inkl. Ansprechpartner ?" VIEW-AS TOGGLE-BOX SIZE 30 BY .81 NO-UNDO. DEFINE VARIABLE T_Oder AS LOGICAL INITIAL no LABEL "Oder (Eine der Bedingungen muss zutreffen)" VIEW-AS TOGGLE-BOX SIZE 50.4 BY 1 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME gEtiketten CB_Listenart AT ROW 1.52 COL 11 COLON-ALIGNED R_Auswertung AT ROW 1.57 COL 69 NO-LABEL R_Sort AT ROW 6.95 COL 13 NO-LABEL T_Ansprech AT ROW 6.95 COL 73 F_Von AT ROW 10.43 COL 36 COLON-ALIGNED F_Bis AT ROW 10.43 COL 71 COLON-ALIGNED CB_Adrart AT ROW 11.43 COL 36 COLON-ALIGNED F_Fe01 AT ROW 13.95 COL 3 COLON-ALIGNED NO-LABEL F_Fe02 AT ROW 13.95 COL 11 COLON-ALIGNED NO-LABEL F_Fe03 AT ROW 13.95 COL 19 COLON-ALIGNED NO-LABEL F_Fe04 AT ROW 13.95 COL 27 COLON-ALIGNED NO-LABEL F_Cd01 AT ROW 12.95 COL 3 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Fe05 AT ROW 13.95 COL 35 COLON-ALIGNED NO-LABEL F_Fe06 AT ROW 13.95 COL 43 COLON-ALIGNED NO-LABEL F_Fe07 AT ROW 13.95 COL 51 COLON-ALIGNED NO-LABEL F_Fe08 AT ROW 13.95 COL 59 COLON-ALIGNED NO-LABEL F_Fe09 AT ROW 13.95 COL 67 COLON-ALIGNED NO-LABEL F_Fe10 AT ROW 13.95 COL 75 COLON-ALIGNED NO-LABEL F_Fe11 AT ROW 13.95 COL 83 COLON-ALIGNED NO-LABEL F_Fe12 AT ROW 13.95 COL 91 COLON-ALIGNED NO-LABEL F_Fe13 AT ROW 13.95 COL 99 COLON-ALIGNED NO-LABEL F_Fe14 AT ROW 13.95 COL 107 COLON-ALIGNED NO-LABEL F_Fe15 AT ROW 13.95 COL 115 COLON-ALIGNED NO-LABEL F_Cd02 AT ROW 12.95 COL 11 COLON-ALIGNED NO-LABEL NO-TAB-STOP T_Oder AT ROW 15.29 COL 5 F_Kugrp AT ROW 17.43 COL 29 COLON-ALIGNED F_Prgrp AT ROW 18.43 COL 29 COLON-ALIGNED F_Vertr AT ROW 19.43 COL 29 COLON-ALIGNED F_UmsLfVon AT ROW 17.43 COL 86 COLON-ALIGNED F_UmsLfBis AT ROW 17.43 COL 105 COLON-ALIGNED F_UmsVjVon AT ROW 18.43 COL 86 COLON-ALIGNED F_UmsVjBis AT ROW 18.43 COL 105 COLON-ALIGNED F_UmsVVVon AT ROW 19.43 COL 86 COLON-ALIGNED F_UmsVVBis AT ROW 19.43 COL 105 COLON-ALIGNED R_UndOder AT ROW 20.76 COL 88 NO-LABEL F_Cd03 AT ROW 12.95 COL 19 COLON-ALIGNED NO-LABEL NO-TAB-STOP Btn_Excel AT ROW 22.67 COL 115.4 Btn_Cancel AT ROW 23.14 COL 4.2 Btn_Mail AT ROW 22.67 COL 107 F_Cd04 AT ROW 12.95 COL 27 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd05 AT ROW 12.95 COL 35 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd06 AT ROW 12.95 COL 43 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd07 AT ROW 12.95 COL 51 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd08 AT ROW 12.95 COL 59 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd09 AT ROW 12.95 COL 67 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd10 AT ROW 12.95 COL 75 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd11 AT ROW 12.95 COL 83 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd12 AT ROW 12.95 COL 91 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd13 AT ROW 12.95 COL 99 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd14 AT ROW 12.95 COL 107 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Cd15 AT ROW 12.95 COL 115 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Druckpfad AT ROW 3.81 COL 67 COLON-ALIGNED NO-LABEL WIDGET-ID 8 NO-TAB-STOP "Sortierung Kunde" VIEW-AS TEXT SIZE 50 BY .81 AT ROW 5.95 COL 13 FONT 6 RECT-38 AT ROW 1.24 COL 2 RECT-39 AT ROW 5.38 COL 2 RECT-40 AT ROW 16.86 COL 2 SPACE(1.99) SKIP(2.52) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Adressetiketten/Liste" CANCEL-BUTTON Btn_Cancel. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Design Page: 1 Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gEtiketten /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR DIALOG-BOX gEtiketten FRAME-NAME Custom */ ASSIGN FRAME gEtiketten:SCROLLABLE = FALSE FRAME gEtiketten:HIDDEN = TRUE. /* SETTINGS FOR BUTTON Btn_Excel IN FRAME gEtiketten 5 */ /* SETTINGS FOR BUTTON Btn_Mail IN FRAME gEtiketten 5 */ /* SETTINGS FOR FILL-IN F_Bis IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Cd01 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd02 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd03 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd04 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd05 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd06 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd07 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd08 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd09 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd10 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd11 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd12 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd13 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd14 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Cd15 IN FRAME gEtiketten NO-DISPLAY NO-ENABLE */ /* SETTINGS FOR FILL-IN F_Druckpfad IN FRAME gEtiketten 6 */ ASSIGN F_Druckpfad:HIDDEN IN FRAME gEtiketten = TRUE F_Druckpfad:READ-ONLY IN FRAME gEtiketten = TRUE. /* SETTINGS FOR FILL-IN F_Fe01 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe02 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe03 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe04 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe05 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe06 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe07 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe08 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe09 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe10 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe11 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe12 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe13 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe14 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Fe15 IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Kugrp IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Prgrp IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsLfBis IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsLfVon IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsVjBis IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsVjVon IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsVVBis IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_UmsVVVon IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Vertr IN FRAME gEtiketten 6 */ /* SETTINGS FOR FILL-IN F_Von IN FRAME gEtiketten 6 */ /* SETTINGS FOR RADIO-SET R_Auswertung IN FRAME gEtiketten 6 */ /* SETTINGS FOR RADIO-SET R_Sort IN FRAME gEtiketten 6 */ /* SETTINGS FOR RADIO-SET R_UndOder IN FRAME gEtiketten 6 */ /* SETTINGS FOR TOGGLE-BOX T_Ansprech IN FRAME gEtiketten 6 */ /* SETTINGS FOR TOGGLE-BOX T_Oder IN FRAME gEtiketten 6 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gEtiketten /* Query rebuild information for DIALOG-BOX gEtiketten _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gEtiketten */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gEtiketten &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gEtiketten gEtiketten ON END-ERROR OF FRAME gEtiketten /* Adressetiketten/Liste */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gEtiketten gEtiketten ON GO OF FRAME gEtiketten /* Adressetiketten/Liste */ DO: /* RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gEtiketten gEtiketten ON WINDOW-CLOSE OF FRAME gEtiketten /* Adressetiketten/Liste */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Cancel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gEtiketten ON CHOOSE OF Btn_Cancel IN FRAME gEtiketten /* Abbrechen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Excel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Excel gEtiketten ON CHOOSE OF Btn_Excel IN FRAME gEtiketten /* Excel */ DO: DO WITH FRAME {&FRAME-NAME}: DISABLE Btn_Excel. IF INTEGER(R_Auswertung:SCREEN-VALUE) = 2 THEN DO: RUN 'g-adresse-exp.w':U ( OUTPUT isok ). IF isok = FALSE THEN DO: ENABLE Btn_Excel WITH FRAME {&FRAME-NAME}. RETURN. END. END. cAdrart = CB_Adrart:SCREEN-VALUE. IF cAdrart = '....' THEN cAdrart = ''. END. iArt = 0. RUN PARAMETER_BEREINIGUNG. RUN REPORT. ENABLE Btn_Excel WITH FRAME {&FRAME-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Mail &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Mail gEtiketten ON CHOOSE OF Btn_Mail IN FRAME gEtiketten /* Excel */ DO: DO WITH FRAME {&FRAME-NAME}: DISABLE Btn_Excel. IF INTEGER(R_Auswertung:SCREEN-VALUE) = 2 THEN DO: RUN 'g-adresse-exp.w':U ( OUTPUT isok ). IF isok = FALSE THEN DO: ENABLE Btn_Excel WITH FRAME {&FRAME-NAME}. RETURN. END. END. cAdrart = CB_Adrart:SCREEN-VALUE. IF cAdrart = '....' THEN cAdrart = ''. END. iArt = 1. RUN PARAMETER_BEREINIGUNG. RUN REPORT. RUN 'g-serienmail.w':U ( INPUT BUFFER TAdresse:HANDLE ). SESSION:SET-WAIT-STATE(''). Btn_Excel :HIDDEN = TRUE. Btn_Cancel:HIDDEN = TRUE. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Listenart &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Listenart gEtiketten ON RETURN OF CB_Listenart IN FRAME gEtiketten /* Listenart */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Listenart gEtiketten ON VALUE-CHANGED OF CB_Listenart IN FRAME gEtiketten /* Listenart */ DO: iLiArt = INTEGER(CB_Listenart:SCREEN-VALUE). F_Kugrp :SENSITIVE = FALSE. F_Prgrp :SENSITIVE = FALSE. F_UmsLfVon:SENSITIVE = FALSE. F_UmsLfBis:SENSITIVE = FALSE. F_UmsVjVon:SENSITIVE = FALSE. F_UmsVjBis:SENSITIVE = FALSE. IF iLiArt = 3 THEN DO: F_Kugrp :SENSITIVE = TRUE. F_Prgrp :SENSITIVE = TRUE. F_UmsLfVon:SENSITIVE = TRUE . F_UmsLfBis:SENSITIVE = TRUE . F_UmsVjVon:SENSITIVE = TRUE . F_UmsVjBis:SENSITIVE = TRUE . END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Bis &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Bis gEtiketten ON ALT-F OF F_Bis IN FRAME gEtiketten /* -- */ DO: DEF VAR cAdresse AS CHAR NO-UNDO. DEF VAR aRecid AS RECID NO-UNDO. DEF VAR iSort AS INT NO-UNDO. RUN 'g-suchen-adresse.w':U ( 'ADR;', OUTPUT aRecid ). IF aRecid = ? OR aRecid = 0 THEN RETURN NO-APPLY. FIND Adresse NO-LOCK WHERE RECID(Adresse) = aRecid. SELF:SCREEN-VALUE = STRING(Adresse.Knr,'999999'). iSort = INTEGER(R_Sort:SCREEN-VALUE IN FRAME {&FRAME-NAME}). CASE iSort: WHEN 1 THEN SELF:SCREEN-VALUE = STRING(Adresse.Knr,'999999'). WHEN 2 THEN SELF:SCREEN-VALUE = Adresse.Suchbe . WHEN 3 THEN SELF:SCREEN-VALUE = Adresse.Ort . WHEN 4 THEN SELF:SCREEN-VALUE = Adresse.Plz . END CASE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Druckpfad &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Druckpfad gEtiketten ON ALT-F1 OF F_Druckpfad IN FRAME gEtiketten DO: SELF:READ-ONLY = FALSE. GET-KEY-VALUE SECTION 'Einstellungen' KEY 'Adressetiketten' VALUE F_Druckpfad. DISPLAY F_Druckpfad. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Druckpfad gEtiketten ON CTRL-F1 OF F_Druckpfad IN FRAME gEtiketten DO: IF SELF:READ-ONLY = TRUE THEN RETURN. PUT-KEY-VALUE SECTION 'Einstellungen' KEY 'Adressetiketten' VALUE SELF:SCREEN-VALUE. SELF:READ-ONLY = TRUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Druckpfad gEtiketten ON LEAVE OF F_Druckpfad IN FRAME gEtiketten DO: IF SELF:READ-ONLY = TRUE THEN RETURN. PUT-KEY-VALUE Section 'Einstellungen' Key 'Adressetiketten' Value SELF:SCREEN-VALUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Kugrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kugrp gEtiketten ON LEFT-MOUSE-DBLCLICK OF F_Kugrp IN FRAME gEtiketten /* Kundengruppen */ DO: RUN 'g-auswahl-tabelle.w':U ( INPUT SELF, INPUT 'KUNDGRP' ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Prgrp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Prgrp gEtiketten ON LEFT-MOUSE-DBLCLICK OF F_Prgrp IN FRAME gEtiketten /* Preisgruppen */ DO: RUN 'g-auswahl-tabelle.w':U ( INPUT SELF, INPUT 'PREGRP' ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Vertr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vertr gEtiketten ON LEFT-MOUSE-DBLCLICK OF F_Vertr IN FRAME gEtiketten /* Vertreter */ DO: RUN 'g-auswahl-tabelle.w':U ( INPUT SELF, INPUT 'VERTR' ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Von &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Von gEtiketten ON ALT-F OF F_Von IN FRAME gEtiketten /* Auswahl */ DO: DEF VAR cAdresse AS CHAR NO-UNDO. DEF VAR aRecid AS RECID NO-UNDO. DEF VAR iSort AS INT NO-UNDO. RUN 'g-suchen-adresse.w':U ( 'ADR;', OUTPUT aRecid ). IF aRecid = ? OR aRecid = 0 THEN RETURN NO-APPLY. FIND Adresse NO-LOCK WHERE RECID(Adresse) = aRecid. SELF:SCREEN-VALUE = STRING(Adresse.Knr,'999999'). iSort = INTEGER(R_Sort:SCREEN-VALUE IN FRAME {&FRAME-NAME}). CASE iSort: WHEN 1 THEN SELF:SCREEN-VALUE = STRING(Adresse.Knr,'999999'). WHEN 2 THEN SELF:SCREEN-VALUE = Adresse.Suchbe . WHEN 3 THEN SELF:SCREEN-VALUE = Adresse.Ort . WHEN 4 THEN SELF:SCREEN-VALUE = Adresse.Plz . END CASE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME R_Auswertung &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Auswertung gEtiketten ON RETURN OF R_Auswertung IN FRAME gEtiketten DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Auswertung gEtiketten ON VALUE-CHANGED OF R_Auswertung IN FRAME gEtiketten DO: IF INTEGER(SELF:SCREEN-VALUE) = 3 THEN F_Druckpfad:HIDDEN = FALSE. ELSE F_Druckpfad:HIDDEN = TRUE . IF INTEGER(SELF:SCREEN-VALUE) = 3 THEN DO: GET-KEY-VALUE SECTION 'Einstellungen' KEY 'Adressetiketten' VALUE F_Druckpfad. DISPLAY F_Druckpfad. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME R_Sort &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Sort gEtiketten ON RETURN OF R_Sort IN FRAME gEtiketten DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL R_Sort gEtiketten ON VALUE-CHANGED OF R_Sort IN FRAME gEtiketten DO: R_Sort = INTEGER(SELF:SCREEN-VALUE). CASE R_Sort: WHEN 1 THEN F_Von:LABEL = 'von - bis Adressenummer '. WHEN 2 THEN F_Von:LABEL = 'von - bis Suchbegriff '. WHEN 3 THEN F_Von:LABEL = 'von - bis Ort '. WHEN 4 THEN F_Von:LABEL = 'von - bis Postleitzahl '. END CASE. F_Von:SCREEN-VALUE = ''. F_Bis:SCREEN-VALUE = ''. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Ansprech &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Ansprech gEtiketten ON RETURN OF T_Ansprech IN FRAME gEtiketten /* inkl. Ansprechpartner ? */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Oder &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Oder gEtiketten ON RETURN OF T_Oder IN FRAME gEtiketten /* Oder (Eine der Bedingungen muss zutreffen) */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gEtiketten /* *************************** Main Block *************************** */ MaxPage = 1. AktSeite = 1. SESSION:DATA-ENTRY-RETURN = TRUE. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. IF SAktiv THEN DO: Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. ProgName = DYNAMIC-FUNCTION('MAKEPROGNAME':U, INPUT THIS-PROCEDURE ) NO-ERROR. END. /* ------------------------------------------------------------------ */ {src/adm2/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gEtiketten _ADM-CREATE-OBJECTS PROCEDURE adm-create-objects : /*------------------------------------------------------------------------------ Purpose: Create handles for all SmartObjects used in this procedure. After SmartObjects are initialized, then SmartLinks are added. Parameters: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE01 gEtiketten PROCEDURE AUSGABE01 : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR DateiName AS CHAR NO-UNDO. DEF VAR ExcelName AS CHAR NO-UNDO. DEF VAR DatenName AS CHAR NO-UNDO. DEF VAR SteuerName AS CHAR NO-UNDO. DEF VAR TempName AS CHAR NO-UNDO. DEF VAR cParameter AS CHAR NO-UNDO. DEF VAR Zelle AS CHAR NO-UNDO. DEF VAR VZeile AS CHAR NO-UNDO. DEF VAR comAppl AS COM-HANDLE NO-UNDO. DEF VAR io AS LOG NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR cKopfDaten AS CHAR NO-UNDO. DEF VAR cZeile AS CHAR NO-UNDO. DEF VAR cNL AS CHAR NO-UNDO. SteuerName = 'Etiketten_st.txt'. RUN FINDDATEI ( INPUT SteuerName ). IF RETURN-VALUE = 'ERROR' THEN DO: MESSAGE 'Steuersatzdatei ' SteuerName ' für Serienbrief ' SKIP 'ist nicht vorhanden ! ' VIEW-AS ALERT-BOX ERROR. RETURN. END. SteuerName = RETURN-VALUE. INPUT FROM VALUE(SteuerName) NO-ECHO NO-MAP NO-CONVERT. IMPORT cKopfDaten. INPUT CLOSE. cKopfDaten = REPLACE(cKopfDaten, ' ', ''). DateiName = 'Etiketten.dot'. DatenName = SESSION:TEMP-DIR + 'AdressListe.txt'. OUTPUT TO VALUE(DatenName) NO-MAP NO-CONVERT. PUT CONTROL cKopfDaten CHR(10). FOR EACH TAdresse USE-INDEX TAdresse-k1: VZeile = ''. VZeile = STRING(TAdresse.Knr,"999999") + '£' + TAdresse.Suchbe + '£' + TAdresse.Firma1 + '£' + TAdresse.Firma2 + '£' + TAdresse.Vorname + '£' + TAdresse.Name + '£' + TAdresse.Zusatz1 + '£' + TAdresse.Zusatz2 + '£' + TAdresse.Strasse + '£' + TAdresse.Postfach + '£' + TAdresse.Plz + '£' + TAdresse.Ort + '£' + STRING(tAdresse.Sprcd,'99') + '£'. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = TAdresse.Knr NO-LOCK NO-ERROR. IF AVAILABLE Debst THEN DO: VZeile = VZeile + STRING(Debst.Ku_Grp,"999") + '£' + STRING(Debst.Preis_Grp,"999") + '£'. END. ELSE DO: VZeile = VZeile + '££'. END. VZeile = VZeile + TAdresse.BriefAnr + "£" + TAdresse.Anschrift[01] + "£" + TAdresse.Anschrift[02] + "£" + TAdresse.Anschrift[03] + "£" + TAdresse.Anschrift[04] + "£" + TAdresse.Anschrift[05] + "£" + TAdresse.Anschrift[06] + "£" + TAdresse.Anschrift[07] + "£" + TAdresse.Anschrift[08] + "£" + TAdresse.Anschrift[09] + "£" + TAdresse.Anschrift[10] + "£" + TAdresse.Anschrift[11] + "£" + TAdresse.Anschrift[12] + CHR(10). VZeile = REPLACE(VZeile, '"', ' '). VZeile = REPLACE(VZeile, "'", ' '). VZeile = REPLACE(VZeile, ';', ' '). VZeile = REPLACE(VZeile, '£', ';'). PUT CONTROL VZeile. END. OUTPUT CLOSE. comAppl = DYNAMIC-FUNCTION('CREATEWORD':U) NO-ERROR. PAUSE 0.5 NO-MESSAGE. comAppl:VISIBLE = TRUE. PAUSE 0.5 NO-MESSAGE. comAppl:Documents:ADD() NO-ERROR. PAUSE 0.5 NO-MESSAGE. INPUT FROM VALUE(DatenName) NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTION ON STOP UNDO, LEAVE: IMPORT UNFORMATTED cZeile. comAppl:ActiveDocument:Range:InsertAfter ( cNL ). comAppl:ActiveDocument:Range:InsertAfter ( cZeile ). cNL = CHR(10). END. INPUT CLOSE. DatenName = REPLACE(DatenName, '.txt', '.doc'). comAppl:ActiveDocument:SaveAs(DatenName) NO-ERROR. IF ERROR-STATUS:ERROR THEN comAppl:ActiveDocument:SaveAs2(DatenName) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: MESSAGE 'Datei ' Datenname ' konnte nicht gespeichert werden' VIEW-AS ALERT-BOX. DYNAMIC-FUNCTION('RELEASEWORD':U, INPUT comAppl ) NO-ERROR. RETURN. END. comAppl:ActiveDocument:CLOSE() NO-ERROR. comAppl:VISIBLE = TRUE. RUN OPENWORDVORLAGE ( INPUT comAppl, INPUT DateiName ). IF RETURN-VALUE = 'ERROR' THEN DO: DYNAMIC-FUNCTION('RELEASEWORD':U, INPUT comAppl ) NO-ERROR. RETURN. END. comAppl:ActiveDocument:MailMerge:OpenDataSource ( DatenName ). /* comAppl:Application:Run('SeriendruckInDokument') NO-ERROR. */ /* IF ERROR-STATUS:ERROR THEN comAppl:Application:Run('MailMergeToDoc'). */ comAppl:Application:Run('MailMergeToDoc') NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: MESSAGE 'MailMergeToDoc nich ausführbar' VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. comAppl:Application:Run('SeriendruckInDokument'). END. DYNAMIC-FUNCTION('RELEASEWORD':U, INPUT comAppl ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE02 gEtiketten PROCEDURE AUSGABE02 : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR DateiName AS CHAR NO-UNDO. DEF VAR DatenName AS CHAR NO-UNDO. DEF VAR SteuerName AS CHAR NO-UNDO. DEF VAR TempName AS CHAR NO-UNDO. DEF VAR cParameter AS CHAR NO-UNDO. DEF VAR Zelle AS CHAR NO-UNDO. DEF VAR VZeile AS CHAR NO-UNDO. DEF VAR comAppl AS COM-HANDLE NO-UNDO. DEF VAR io AS LOG NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR cFelder AS CHAR NO-UNDO. DEF VAR cInhalt AS CHAR NO-UNDO. DEF VAR cSection AS CHAR NO-UNDO. DEF VAR cKey AS CHAR NO-UNDO. DEF VAR cValue AS CHAR NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR i2 AS INT NO-UNDO. DEF VAR i3 AS INT NO-UNDO. DEF VAR i4 AS INT NO-UNDO. DEF VAR ja AS LOG NO-UNDO. DEF VAR cNamen AS CHAR NO-UNDO. DEF VAR cFields AS CHAR NO-UNDO. DEF VAR hBufAdr AS WIDGET-HANDLE NO-UNDO. DEF VAR hFeld AS WIDGET-HANDLE NO-UNDO. cSection = 'Adressexport'. GET-KEY-VALUE SECTION cSection KEY ? VALUE cFelder. cFields = ''. cNamen = ''. DatenName = ''. DO i1 = 1 TO NUM-ENTRIES(cFelder, ','): cKey = ENTRY(i1, cFelder, ','). GET-KEY-VALUE SECTION cSection KEY cKey VALUE cValue. IF ENTRY(1, cValue, ';') = '0' THEN ja = FALSE. ELSE ja = TRUE. IF NOT Ja THEN NEXT. IF cFields <> '' THEN cFields = cFields + ','. IF cNamen <> '' THEN cNamen = cNamen + ','. cFields = cFields + cKey. cNamen = cNamen + ENTRY(2, cValue, ';'). END. GET-KEY-VALUE SECTION 'Dateinamen' KEY 'Adressexport' VALUE DatenName. IF DatenName = ? THEN DatenName = ''. DateiName = 'AdressListe.xls'. IF DatenName = '' THEN DatenName = SESSION:TEMP-DIR + 'AdressListe.txt'. PUT-KEY-VALUE SECTION 'Dateinamen' KEY 'Adressexport' VALUE DatenName. cParameter = DateiName + CHR(01) + DateiName + CHR(01). RUN CREATEDATEI ( INPUT cParameter ). DateiName = RETURN-VALUE. hBufAdr = BUFFER TAdresse:HANDLE. i2 = NUM-ENTRIES(cFields, ','). VZeile = ''. OUTPUT TO VALUE(DatenName). DO ix = 1 TO NUM-ENTRIES(cFields, ','): IF ix > 1 THEN VZeile = VZeile + '£'. CASE ENTRY(ix, cFields, ','): WHEN 'Anschrift' THEN DO: DO i1 = 1 TO 12: VZeile = VZeile + ENTRY(ix, cNamen, ',') + '_' + STRING(i1,'99'). IF i1 < 12 THEN VZeile = VZeile + '£'. END. END. WHEN 'Anzeig' THEN DO: DO i1 = 1 TO 03: VZeile = VZeile + ENTRY(ix, cNamen, ',') + '_' + STRING(i1,'99'). IF i1 < 03 THEN VZeile = VZeile + '£'. END. END. OTHERWISE DO: VZeile = VZeile + ENTRY(ix, cNamen, ','). END. END. END. VZeile = VZeile + CHR(10). PUT CONTROL VZeile. FOR EACH TAdresse USE-INDEX TAdresse-k1: DO i1 = 1 TO i2: hFeld = hBufAdr:BUFFER-FIELD(ENTRY(i1, cFields, ',')) NO-ERROR. IF NOT VALID-HANDLE(hFeld) THEN DO: PUT CONTROL '?xxx?->' ENTRY(i1, cFields, ',') '£'. NEXT. END. i4 = hFeld:EXTENT. CASE hFeld:DATA-TYPE: WHEN 'character' THEN DO: IF i4 = 0 THEN PUT CONTROL hFeld:BUFFER-VALUE. ELSE DO i3 = 1 TO i4: PUT CONTROL hFeld:BUFFER-VALUE(i3). IF i3 < i4 THEN PUT CONTROL '£'. END. END. WHEN 'integer' THEN DO: PUT CONTROL TRIM(STRING(INTEGER(hFeld:BUFFER-VALUE))). END. WHEN 'decimal' THEN DO: PUT CONTROL TRIM(STRING(DECIMAL(hFeld:BUFFER-VALUE))). END. WHEN 'date' THEN DO: IF hFeld:BUFFER-VALUE = ? THEN PUT CONTROL ''. ELSE PUT CONTROL STRING(DATE(hFeld:BUFFER-VALUE),'99.99.9999'). END. WHEN 'logical' THEN DO: IF NOT hFeld:BUFFER-VALUE BEGINS 'n' THEN PUT CONTROL TRIM(STRING(TRUE ,'Ja/Nein')). ELSE PUT CONTROL TRIM(STRING(FALSE,'Ja/Nein')). END. END CASE. PUT CONTROL '£'. END. PUT CONTROL CHR(10). END. OUTPUT CLOSE. comAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR. RUN OPENEXCEL ( INPUT comAppl, INPUT DateiName, INPUT '', OUTPUT io ). IF NOT io THEN DO: RUN FEHLER ( INPUT 1040 ). RETURN NO-APPLY. END. Zelle = 'A1'. comAppl:Range(Zelle):SELECT. comAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName. comAppl:Application:RUN ( 'DateiEinfügen' ). Zelle = 'A1'. comAppl:Range(Zelle):SELECT. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT comAppl ) NO-ERROR. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE03 gEtiketten PROCEDURE AUSGABE03 : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cAdresse AS CHAR EXTENT 6 NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR i2 AS INT NO-UNDO. OUTPUT TO VALUE(F_Druckpfad) NO-MAP NO-CONVERT. /* Steuersatz */ PUT CONTROL 'Kundennummer£Adresse1£Adresse2£Adresse3£Adresse4£Adresse5£Adresse6' CHR(10). FOR EACH tAdresse: cAdresse = ''. i2 = 6. DO i1 = 11 TO 1 BY -1: IF tAdresse.Anschrift[i1] = '' THEN NEXT. cAdresse[i2] = tAdresse.Anschrift[i1]. i2 = i2 - 1. IF i2 = 0 THEN LEAVE. END. PUT CONTROL STRING(tAdresse.Knr,'999999') '£' cAdresse[01] '£' cAdresse[02] '£' cAdresse[03] '£' cAdresse[04] '£' cAdresse[05] '£' cAdresse[06] CHR(10). END. OUTPUT CLOSE. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gEtiketten PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */ /* RUN ToolbarInit ( INPUT h_d-auftr ). */ RUN ENTRY_CURSOR. END. WHEN 2 THEN DO: RUN ENTRY_CURSOR. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gEtiketten _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 gEtiketten. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gEtiketten PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Sprcd AS INT NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR cFelder AS CHAR NO-UNDO. DEF VAR wx AS INT NO-UNDO. DEF VAR wy AS INT NO-UNDO. DEF VAR MaxX AS INT NO-UNDO. DEF VAR MaxY AS INT NO-UNDO. DEF VAR xString AS CHAR NO-UNDO. MaxX = SESSION:WIDTH-PIXELS. MaxY = SESSION:HEIGHT-PIXELS. GET-KEY-VALUE SECTION 'FensterPositionen' KEY ProgName VALUE xString. IF xString = ? THEN xString = '30;30'. IF xString = '' THEN xString = '30;30'. wx = INTEGER(ENTRY(1, xString, ';')). wy = INTEGER(ENTRY(2, xString, ';')). IF wx < 0 THEN wx = 30. IF wy < 0 THEN wy = 30. IF wx > (MaxX - 20) THEN wx = 30. IF wy > (MaxY - 20) THEN wy = 30. FRAME {&FRAME-NAME}:X = wx. FRAME {&FRAME-NAME}:Y = wy. RUN COMBO_ADRESSART ( INPUT CB_AdrArt:HANDLE ) NO-ERROR. xString = CB_AdrArt:LIST-ITEM-PAIRS. IF xString = ? OR xString = '' THEN xString = 'alle Adressarten;££££'. ELSE xString = xString + ';alle Adressarten;££££'. CB_AdrArt:LIST-ITEM-PAIRS = xString. xString = ''. RUN SUPER. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. DO WITH FRAME {&FRAME-NAME}: Sprcd = DYNAMIC-FUNCTION('GETBENUTZERSPRCD':U) NO-ERROR. FIND Femeld WHERE Femeld.Sprcd = Sprcd AND Femeld.Fenr = 999 NO-LOCK NO-ERROR. IF AVAILABLE Femeld THEN cFelder = Femeld.Fetext. ELSE cFelder = ''. DO ix = 1 TO NUM-ENTRIES(Femeld.Fetext, ','): CASE ix: WHEN 01 THEN F_Cd01:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 02 THEN F_Cd02:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 03 THEN F_Cd03:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 04 THEN F_Cd04:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 05 THEN F_Cd05:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 06 THEN F_Cd06:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 07 THEN F_Cd07:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 08 THEN F_Cd08:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 09 THEN F_Cd09:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 10 THEN F_Cd10:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 11 THEN F_Cd11:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 12 THEN F_Cd12:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 13 THEN F_Cd13:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 14 THEN F_Cd14:SCREEN-VALUE = ENTRY(ix, cFelder, ','). WHEN 15 THEN F_Cd15:SCREEN-VALUE = ENTRY(ix, cFelder, ','). END CASE. END. GET-KEY-VALUE SECTION 'Auswertungen' KEY 'Etiketten' VALUE cFelder. IF cFelder = ? THEN cFelder = FILL('@', 31). DO ix = 1 TO NUM-ENTRIES(cFelder, '@') WITH FRAME {&FRAME-NAME}: CASE ix: WHEN 1 THEN CB_Listenart:SCREEN-VALUE = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 2 THEN R_Auswertung = INTEGER(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 3 THEN R_Sort = INTEGER(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 4 THEN T_Ansprech:SCREEN-VALUE = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 5 THEN F_Von = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 6 THEN F_Bis = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 7 THEN F_Fe01 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 8 THEN F_Fe02 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 9 THEN F_Fe03 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 10 THEN F_Fe04 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 11 THEN F_Fe05 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 12 THEN F_Fe06 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 13 THEN F_Fe07 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 14 THEN F_Fe08 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 15 THEN F_Fe09 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 16 THEN F_Fe10 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 17 THEN F_Fe11 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 18 THEN F_Fe12 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 19 THEN F_Fe13 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 20 THEN F_Fe14 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 21 THEN F_Fe15 = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 22 THEN F_Kugrp = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 23 THEN F_Prgrp = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 24 THEN F_UmsLfVon = DECIMAL(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 25 THEN F_UmsLfBis = DECIMAL(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 26 THEN F_UmsVjVon = DECIMAL(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 27 THEN F_UmsVjBis = DECIMAL(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 28 THEN CB_AdrArt:SCREEN-VALUE = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 29 THEN F_Vertr = ENTRY(ix, cFelder, '@') NO-ERROR. WHEN 30 THEN R_UndOder = INTEGER(ENTRY(ix, cFelder, '@')) NO-ERROR. WHEN 31 THEN F_Druckpfad = ENTRY(ix, cFelder, '@') NO-ERROR. END CASE. GET-KEY-VALUE SECTION 'Einstellungen' KEY 'Adressetiketten' VALUE F_Druckpfad. END. ASSIGN T_Ansprech. DISPLAY {&List-6}. CASE R_Auswertung: WHEN 3 THEN F_Druckpfad:HIDDEN = FALSE. OTHERWISE F_Druckpfad:HIDDEN = TRUE . END CASE. CASE R_Sort: WHEN 1 THEN F_Von:LABEL = 'von - bis Adressenummer '. WHEN 2 THEN F_Von:LABEL = 'von - bis Suchbegriff '. WHEN 3 THEN F_Von:LABEL = 'von - bis Ort '. WHEN 4 THEN F_Von:LABEL = 'von - bis Postleitzahl '. END CASE. iLiArt = INTEGER(CB_Listenart:SCREEN-VALUE). F_Kugrp :SENSITIVE = FALSE. F_Prgrp :SENSITIVE = FALSE. F_UmsLfVon:SENSITIVE = FALSE. F_UmsLfBis:SENSITIVE = FALSE. F_UmsVjVon:SENSITIVE = FALSE. F_UmsVjBis:SENSITIVE = FALSE. IF iLiArt = 3 THEN DO: F_Kugrp :SENSITIVE = TRUE. F_Prgrp :SENSITIVE = TRUE. F_UmsLfVon:SENSITIVE = TRUE. F_UmsLfBis:SENSITIVE = TRUE. F_UmsVjVon:SENSITIVE = TRUE. F_UmsVjBis:SENSITIVE = TRUE. END. RUN TEST_EXPORT_FELDER. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gEtiketten _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: Notes: Here we display/view/enable the widgets in the user-interface. In addition, OPEN all queries associated with each FRAME and BROWSE. These statements here are based on the "Other Settings" section of the widget Property Sheets. ------------------------------------------------------------------------------*/ DISPLAY CB_Listenart R_Auswertung R_Sort T_Ansprech F_Von F_Bis CB_Adrart F_Fe01 F_Fe02 F_Fe03 F_Fe04 F_Fe05 F_Fe06 F_Fe07 F_Fe08 F_Fe09 F_Fe10 F_Fe11 F_Fe12 F_Fe13 F_Fe14 F_Fe15 T_Oder F_Kugrp F_Prgrp F_Vertr F_UmsLfVon F_UmsLfBis F_UmsVjVon F_UmsVjBis F_UmsVVVon F_UmsVVBis R_UndOder F_Druckpfad WITH FRAME gEtiketten. ENABLE CB_Listenart R_Auswertung R_Sort T_Ansprech F_Von F_Bis CB_Adrart F_Fe01 F_Fe02 F_Fe03 F_Fe04 F_Fe05 F_Fe06 F_Fe07 F_Fe08 F_Fe09 F_Fe10 F_Fe11 F_Fe12 F_Fe13 F_Fe14 F_Fe15 T_Oder F_Kugrp F_Prgrp F_Vertr F_UmsLfVon F_UmsLfBis F_UmsVjVon F_UmsVjBis F_UmsVVVon F_UmsVVBis R_UndOder Btn_Excel Btn_Cancel Btn_Mail F_Druckpfad RECT-38 RECT-39 RECT-40 WITH FRAME gEtiketten. VIEW FRAME gEtiketten. {&OPEN-BROWSERS-IN-QUERY-gEtiketten} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gEtiketten PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR wx AS INT NO-UNDO. DEF VAR wy AS INT NO-UNDO. DEF VAR xString AS CHAR NO-UNDO. wx = FRAME {&FRAME-NAME}:X NO-ERROR. wy = FRAME {&FRAME-NAME}:Y NO-ERROR. xString = STRING(wx) + ';' + STRING(wy). PUT-KEY-VALUE SECTION 'FensterPositionen' KEY ProgName VALUE xString. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). APPLY 'GO' TO FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gEtiketten PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */ /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */ /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */ /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */ /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */ /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */ /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */ END CASE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gEtiketten PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDDATEI gEtiketten PROCEDURE FINDDATEI : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipFileName AS CHAR NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR Laenge AS INT NO-UNDO. DEF VAR ix AS INT NO-UNDO. DO WHILE TRUE: IF ipFileName = '' THEN DO: RETURN 'ERROR'. END. IF SEARCH(ipFileName) <> ? THEN DO: ipFileName = SEARCH(ipFileName). LEAVE. END. cString = ''. Laenge = LENGTH(ipFileName). DO ix = Laenge TO 1 BY -1: IF SUBSTRING(ipFileName,ix,01) = '/' THEN LEAVE. IF SUBSTRING(ipFileName,ix,01) = '\' THEN LEAVE. cString = SUBSTRING(ipFileName,ix,01) + cString. END. ipFileName = 'Vorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: ipFileName = SEARCH(ipFileName). LEAVE. END. ipFileName = 'WordVorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: ipFileName = SEARCH(ipFileName). LEAVE. END. ipFileName = 'ExcelVorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: ipFileName = SEARCH(ipFileName). LEAVE. END. RETURN 'ERROR'. END. FILE-INFO:FILE-NAME = ipFileName. ipFileName = FILE-INFO:FULL-PATHNAME. RETURN ipFileName. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENWORDVORLAGE gEtiketten PROCEDURE OPENWORDVORLAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipcomAppl AS COM-HANDLE NO-UNDO. DEF INPUT PARAMETER ipFileName AS CHAR NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR Laenge AS INT NO-UNDO. DEF VAR ix AS INT NO-UNDO. DO WHILE TRUE: IF ipFileName = '' THEN DO: RETURN 'ERROR'. END. IF SEARCH(ipFileName) <> ? THEN DO: FILE-INFO:FILE-NAME = SEARCH(ipFileName). ipFileName = FILE-INFO:FULL-PATHNAME. LEAVE. END. cString = ''. Laenge = LENGTH(ipFileName). DO ix = Laenge TO 1 BY -1: IF SUBSTRING(ipFileName,ix,01) = '/' THEN LEAVE. IF SUBSTRING(ipFileName,ix,01) = '\' THEN LEAVE. cString = SUBSTRING(ipFileName,ix,01) + cString. END. ipFileName = 'Vorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: FILE-INFO:FILE-NAME = SEARCH(ipFileName). ipFileName = FILE-INFO:FULL-PATHNAME. LEAVE. END. ipFileName = 'WordVorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: FILE-INFO:FILE-NAME = SEARCH(ipFileName). ipFileName = FILE-INFO:FULL-PATHNAME. LEAVE. END. ipFileName = 'ExcelVorlagen\' + cString. IF SEARCH(ipFileName) <> ? THEN DO: FILE-INFO:FILE-NAME = SEARCH(ipFileName). ipFileName = FILE-INFO:FULL-PATHNAME. LEAVE. END. RETURN 'ERROR'. END. ipcomAppl:Documents:ADD (ipFileName, FALSE, 0) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: ipcomAppl:Documents:NEW (ipFileName). END. RETURN ipFileName. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PARAMETER_BEREINIGUNG gEtiketten PROCEDURE PARAMETER_BEREINIGUNG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ii AS INT NO-UNDO. DEF VAR jj AS INT NO-UNDO. DEF VAR iWert AS INT NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR nString AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-6}. F_Kugrp = REPLACE(F_Kugrp, ';', ','). F_Kugrp = REPLACE(F_Kugrp, '.', ','). F_Prgrp = REPLACE(F_Prgrp, ';', ','). F_Prgrp = REPLACE(F_Prgrp, '.', ','). F_Vertr = REPLACE(F_Vertr, ';', ','). F_Vertr = REPLACE(F_Vertr, '.', ','). nString = ''. jj = 0. DO ii = 1 TO NUM-ENTRIES(F_Kugrp, ','): cString = ENTRY(ii, F_Kugrp, ','). ERROR-STATUS:ERROR = FALSE. iWert = INTEGER(cString) NO-ERROR. IF ERROR-STATUS:ERROR THEN NEXT. jj = jj + 1. IF jj > 1 THEN nString = nString + ','. nString = nString + STRING(iWert,'999'). END. F_Kugrp = nString. nString = ''. jj = 0. DO ii = 1 TO NUM-ENTRIES(F_Prgrp, ','): cString = ENTRY(ii, F_Prgrp, ','). ERROR-STATUS:ERROR = FALSE. iWert = INTEGER(cString) NO-ERROR. IF ERROR-STATUS:ERROR THEN NEXT. jj = jj + 1. IF jj > 1 THEN nString = nString + ','. nString = nString + STRING(iWert,'999'). END. F_Prgrp = nString. nString = ''. jj = 0. DO ii = 1 TO NUM-ENTRIES(F_Vertr, ','): cString = ENTRY(ii, F_Vertr, ','). ERROR-STATUS:ERROR = FALSE. iWert = INTEGER(cString) NO-ERROR. IF ERROR-STATUS:ERROR THEN NEXT. jj = jj + 1. IF jj > 1 THEN nString = nString + ','. nString = nString + STRING(iWert,'999'). END. F_Vertr = nString. DISPLAY {&List-6}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gEtiketten PROCEDURE REPORT : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cFelder AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-6}. CASE R_Sort: WHEN 1 THEN DO: ERROR-STATUS:ERROR = FALSE. iVon = INTEGER(F_Von) NO-ERROR. IF ERROR-STATUS:ERROR THEN iVon = 1. ERROR-STATUS:ERROR = FALSE. iBis = INTEGER(F_Bis) NO-ERROR. IF ERROR-STATUS:ERROR THEN iBis = 999999. IF iBis < iVon THEN iBis = iVon. IF iVon = 0 AND iBis = 0 THEN DO: iVon = 1. iBis = 999999. END. F_Von = STRING(iVon,'999999') NO-ERROR. F_Bis = STRING(iBis,'999999') NO-ERROR. END. OTHERWISE DO: IF F_Von = '' AND F_Bis = '' THEN F_Bis = 'zzzzzzzzzz'. IF F_Bis < F_Von THEN F_Bis = F_Von. cVon = F_Von. cBis = F_Bis. END. END CASE. DISPLAY {&list-6}. cFelder = CB_Listenart:SCREEN-VALUE + '@' + STRING(R_Auswertung) + '@' + STRING(R_Sort) + '@' + STRING(T_Ansprech) + '@' + F_Von + '@' + F_Bis + '@' + F_Fe01 + '@' + F_Fe02 + '@' + F_Fe03 + '@' + F_Fe04 + '@' + F_Fe05 + '@' + F_Fe06 + '@' + F_Fe07 + '@' + F_Fe08 + '@' + F_Fe09 + '@' + F_Fe10 + '@' + F_Fe11 + '@' + F_Fe12 + '@' + F_Fe13 + '@' + F_Fe14 + '@' + F_Fe15 + '@' + F_Kugrp + '@' + F_Prgrp + '@' + STRING(F_UmsLfVon) + '@' + STRING(F_UmsLfBis) + '@' + STRING(F_UmsVjVon) + '@' + STRING(F_UmsVjBis) + '@' + CB_AdrArt:SCREEN-VALUE + '@' + F_Vertr + '@' + STRING(R_UndOder) + '@' + F_Druckpfad + '@'. PUT-KEY-VALUE SECTION 'Auswertungen' KEY 'Etiketten' VALUE cFelder. Btn_Excel:HIDDEN = FALSE. Btn_Cancel:HIDDEN = FALSE. SESSION:SET-WAIT-STATE('GENERAL'). RUN SELEKTION. FIND FIRST TAdresse NO-LOCK NO-ERROR. IF NOT AVAILABLE TAdresse THEN DO: MESSAGE 'Keine Adressen selektiert. Selektionskriterien anpassen. ' VIEW-AS ALERT-BOX INFORMATION. END. ELSE DO: IF iArt = 1 THEN RETURN. IF R_Auswertung = 1 THEN RUN AUSGABE01. IF R_Auswertung = 2 THEN RUN AUSGABE02. IF R_Auswertung = 3 THEN RUN AUSGABE03. END. SESSION:SET-WAIT-STATE(''). Btn_Excel:HIDDEN = TRUE. Btn_Cancel:HIDDEN = TRUE. RUN ENDE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gEtiketten PROCEDURE selectPage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER piPageNum AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR MutProg AS CHAR NO-UNDO. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR. DO WHILE TRUE: IF NOT FMutFlag THEN LEAVE. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U). IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE. RETURN NO-APPLY. END. CASE piPageNum: END CASE. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */ END. END CASE. RUN SUPER( INPUT piPageNum). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION gEtiketten PROCEDURE SELEKTION : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FOR EACH TAdresse: DELETE TAdresse. END. CASE R_Sort: WHEN 1 THEN DO: FOR EACH BAdresse USE-INDEX Adresse-k1 WHERE BAdresse.Firma = AdFirma AND BAdresse.Knr >= iVon AND BAdresse.Knr <= iBis AND BAdresse.Aktiv = TRUE NO-LOCK: IF cAdrart <> '££££' AND cAdrart <> BAdresse.AdrArt THEN NEXT. RUN SELEKTION_REST. END. END. WHEN 2 THEN DO: FOR EACH BAdresse USE-INDEX Adresse-k2 WHERE BAdresse.Firma = AdFirma AND BAdresse.Suchbe >= cVon AND BAdresse.Suchbe <= cBis AND BAdresse.Aktiv = TRUE NO-LOCK: IF cAdrart <> '££££' AND cAdrart <> BAdresse.AdrArt THEN NEXT. RUN SELEKTION_REST. END. END. WHEN 3 THEN DO: FOR EACH BAdresse USE-INDEX Adresse-k5 WHERE BAdresse.Firma = AdFirma AND BAdresse.Ort >= cVon AND BAdresse.Ort <= cBis AND BAdresse.Aktiv = TRUE NO-LOCK: IF cAdrart <> '££££' AND cAdrart <> BAdresse.AdrArt THEN NEXT. RUN SELEKTION_REST. END. END. WHEN 4 THEN DO: FOR EACH BAdresse USE-INDEX Adresse-k6 WHERE BAdresse.Firma = AdFirma AND BAdresse.Plz >= cVon AND BAdresse.Plz <= cBis AND BAdresse.Aktiv = TRUE NO-LOCK: IF cAdrart <> '££££' AND cAdrart <> BAdresse.AdrArt THEN NEXT. RUN SELEKTION_REST. END. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION_REST gEtiketten PROCEDURE SELEKTION_REST : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Ja AS LOG NO-UNDO. DEF VAR Ums AS LOG NO-UNDO. DEF VAR UmsJa AS INT NO-UNDO. DEF VAR KuGrp AS INT NO-UNDO. DEF VAR PrGrp AS INT NO-UNDO. DEF VAR Vertr AS INT NO-UNDO. DEF VAR UmsVV AS DEC NO-UNDO. DEF VAR UmsVj AS DEC NO-UNDO. DEF VAR UmsLf AS DEC NO-UNDO. IF NOT T_Oder THEN DO: IF F_Fe01 <> '' AND LOOKUP(BAdresse.Cd01, F_Fe01, ',') = 0 THEN RETURN. IF F_Fe02 <> '' AND LOOKUP(BAdresse.Cd02, F_Fe02, ',') = 0 THEN RETURN. IF F_Fe03 <> '' AND LOOKUP(BAdresse.Cd03, F_Fe03, ',') = 0 THEN RETURN. IF F_Fe04 <> '' AND LOOKUP(BAdresse.Cd04, F_Fe04, ',') = 0 THEN RETURN. IF F_Fe05 <> '' AND LOOKUP(BAdresse.Cd05, F_Fe05, ',') = 0 THEN RETURN. IF F_Fe06 <> '' AND LOOKUP(BAdresse.Cd06, F_Fe06, ',') = 0 THEN RETURN. IF F_Fe07 <> '' AND LOOKUP(BAdresse.Cd07, F_Fe07, ',') = 0 THEN RETURN. IF F_Fe08 <> '' AND LOOKUP(BAdresse.Cd08, F_Fe08, ',') = 0 THEN RETURN. IF F_Fe09 <> '' AND LOOKUP(BAdresse.Cd09, F_Fe09, ',') = 0 THEN RETURN. IF F_Fe10 <> '' AND LOOKUP(BAdresse.Cd10, F_Fe10, ',') = 0 THEN RETURN. IF F_Fe11 <> '' AND LOOKUP(BAdresse.Cd11, F_Fe11, ',') = 0 THEN RETURN. IF F_Fe12 <> '' AND LOOKUP(BAdresse.Cd12, F_Fe12, ',') = 0 THEN RETURN. IF F_Fe13 <> '' AND LOOKUP(BAdresse.Cd13, F_Fe13, ',') = 0 THEN RETURN. IF F_Fe14 <> '' AND LOOKUP(BAdresse.Cd14, F_Fe14, ',') = 0 THEN RETURN. IF F_Fe15 <> '' AND LOOKUP(BAdresse.Cd15, F_Fe15, ',') = 0 THEN RETURN. END. ELSE DO: IF F_Fe01 = '' AND F_Fe02 = '' AND F_Fe03 = '' AND F_Fe04 = '' AND F_Fe05 = '' AND F_Fe06 = '' AND F_Fe07 = '' AND F_Fe08 = '' AND F_Fe09 = '' AND F_Fe10 = '' AND F_Fe11 = '' AND F_Fe12 = '' AND F_Fe13 = '' AND F_Fe14 = '' AND F_Fe15 = '' THEN Ja = TRUE. ELSE DO: ja = FALSE. IF F_Fe01 <> '' AND LOOKUP(BAdresse.Cd01, F_Fe01, ',') > 0 THEN ja = TRUE. IF F_Fe02 <> '' AND LOOKUP(BAdresse.Cd02, F_Fe02, ',') > 0 THEN ja = TRUE. IF F_Fe03 <> '' AND LOOKUP(BAdresse.Cd03, F_Fe03, ',') > 0 THEN ja = TRUE. IF F_Fe04 <> '' AND LOOKUP(BAdresse.Cd04, F_Fe04, ',') > 0 THEN ja = TRUE. IF F_Fe05 <> '' AND LOOKUP(BAdresse.Cd05, F_Fe05, ',') > 0 THEN ja = TRUE. IF F_Fe06 <> '' AND LOOKUP(BAdresse.Cd06, F_Fe06, ',') > 0 THEN ja = TRUE. IF F_Fe07 <> '' AND LOOKUP(BAdresse.Cd07, F_Fe07, ',') > 0 THEN ja = TRUE. IF F_Fe08 <> '' AND LOOKUP(BAdresse.Cd08, F_Fe08, ',') > 0 THEN ja = TRUE. IF F_Fe09 <> '' AND LOOKUP(BAdresse.Cd09, F_Fe09, ',') > 0 THEN ja = TRUE. IF F_Fe10 <> '' AND LOOKUP(BAdresse.Cd10, F_Fe10, ',') > 0 THEN ja = TRUE. IF F_Fe11 <> '' AND LOOKUP(BAdresse.Cd11, F_Fe11, ',') > 0 THEN ja = TRUE. IF F_Fe12 <> '' AND LOOKUP(BAdresse.Cd12, F_Fe12, ',') > 0 THEN ja = TRUE. IF F_Fe13 <> '' AND LOOKUP(BAdresse.Cd13, F_Fe13, ',') > 0 THEN ja = TRUE. IF F_Fe14 <> '' AND LOOKUP(BAdresse.Cd14, F_Fe14, ',') > 0 THEN ja = TRUE. IF F_Fe15 <> '' AND LOOKUP(BAdresse.Cd15, F_Fe15, ',') > 0 THEN ja = TRUE. END. IF NOT ja THEN RETURN. END. IF F_UmsLfVon = 0 AND F_UmsLfBis = 0 AND F_UmsVjVon = 0 AND F_UmsVjBis = 0 AND F_UmsVVVon = 0 AND F_UmsVVBis = 0 THEN Ums = FALSE. ELSE Ums = TRUE. IF iLiArt <> 3 THEN Ums = FALSE. SELEKTION: DO WHILE TRUE: Ja = TRUE. UmsJa = 0. KuGrp = 0. PrGrp = 0. Vertr = 0. UmsVV = 0. UmsVj = 0. UmsLf = 0. IF iLiArt = 1 THEN LEAVE. Ja = FALSE. CASE iLiArt: WHEN 2 THEN DO: /* Nur Adressen */ FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = BAdresse.Knr AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR. IF AVAILABLE Debst THEN DO: KuGrp = Debst.Ku_Grp. PrGrp = Debst.Preis_Grp. Vertr = Debst.Vertr. LEAVE SELEKTION. END. FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = BAdresse.Knr AND Liefst.Aktiv = TRUE NO-LOCK NO-ERROR. IF AVAILABLE Liefst THEN LEAVE SELEKTION. FIND Krest USE-INDEX Krest-k1 WHERE Krest.Firma = Firma AND Krest.Knr = BAdresse.Knr AND Krest.Aktiv = TRUE NO-LOCK NO-ERROR. IF AVAILABLE Krest THEN LEAVE SELEKTION. END. WHEN 3 THEN DO: /* Debitoren */ FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = BAdresse.Knr AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR. IF NOT AVAILABLE Debst THEN LEAVE SELEKTION. KuGrp = Debst.Ku_Grp. PrGrp = Debst.Preis_Grp. Vertr = Debst.Vertr. UmsLf = 0. UmsVj = 0. IF F_Kugrp <> '' AND LOOKUP(STRING(KuGrp,'999'), F_Kugrp, ',') = 0 THEN LEAVE SELEKTION. IF F_Prgrp <> '' AND LOOKUP(STRING(PrGrp,'999'), F_Prgrp, ',') = 0 THEN LEAVE SELEKTION. IF F_Vertr <> '' AND LOOKUP(STRING(Vertr,'999'), F_Vertr, ',') = 0 THEN LEAVE SELEKTION. DO WHILE TRUE: IF F_UmsLfVon = 0 AND F_UmsLfBis = 0 THEN DO: UmsJa = UmsJa + 1. LEAVE. END. FIND DebUms USE-INDEX DebUms-k1 WHERE DebUms.Firma = Firma AND DebUms.Jahr = YEAR(TODAY) AND DebUms.Knr = BAdresse.Knr AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR. IF NOT AVAILABLE DebUms THEN UmsLf = 0. ELSE UmsLf = DebUms.Vp_Kum. IF UmsLf < F_UmsLfVon THEN LEAVE. IF UmsLf > F_UmsLfBis THEN LEAVE. UmsJa = UmsJa + 1. LEAVE. END. DO WHILE TRUE: IF F_UmsVjVon = 0 AND F_UmsVjBis = 0 THEN DO: UmsJa = UmsJa + 1. LEAVE. END. FIND DebUms USE-INDEX DebUms-k1 WHERE DebUms.Firma = Firma AND DebUms.Jahr = YEAR(TODAY) - 1 AND DebUms.Knr = BAdresse.Knr AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR. IF NOT AVAILABLE DebUms THEN UmsVj = 0. ELSE UmsVj = DebUms.Vp_Kum. IF UmsVj < F_UmsVjVon THEN LEAVE. IF UmsVj > F_UmsVjBis THEN LEAVE. UmsJa = UmsJa + 1. LEAVE. END. DO WHILE TRUE: IF F_UmsVVVon = 0 AND F_UmsVVBis = 0 THEN DO: UmsJa = UmsJa + 1. LEAVE. END. FIND DebUms USE-INDEX DebUms-k1 WHERE DebUms.Firma = Firma AND DebUms.Jahr = YEAR(TODAY) - 2 AND DebUms.Knr = BAdresse.Knr AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR. IF NOT AVAILABLE DebUms THEN UmsVV = 0. ELSE UmsVV = DebUms.Vp_Kum. IF UmsVV < F_UmsVVVon THEN LEAVE. IF UmsVV > F_UmsVVBis THEN LEAVE. UmsJa = UmsJa + 1. LEAVE. END. IF Ums THEN DO: IF R_UndOder = 1 AND /* UND - Verknüpfung */ UmsJa < 3 THEN LEAVE SELEKTION. IF R_UndOder = 2 AND UmsJa < 1 THEN LEAVE SELEKTION. END. END. WHEN 4 THEN DO: FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = BAdresse.Knr AND Liefst.Aktiv = TRUE NO-LOCK NO-ERROR. IF NOT AVAILABLE Liefst THEN LEAVE SELEKTION. END. WHEN 5 THEN DO: FIND Krest USE-INDEX Krest-k1 WHERE Krest.Firma = Firma AND Krest.Knr = BAdresse.Knr AND Krest.Aktiv = TRUE NO-LOCK NO-ERROR. IF NOT AVAILABLE Krest THEN LEAVE SELEKTION. END. END CASE. Ja = TRUE. LEAVE. END. IF NOT Ja THEN RETURN. CREATE TAdresse. BUFFER-COPY BAdresse TO TAdresse ASSIGN TAdresse.Ku_Grp = KuGrp TAdresse.Preis_Grp = PrGrp TAdresse.Vertr = Vertr TAdresse.UmsVV = UmsVV TAdresse.UmsVj = UmsVj TAdresse.UmsLf = UmsLf TAdresse.cMail = BAdresse.Mail. TAdresse.iInd = -1. CASE R_Sort: WHEN 1 THEN TAdresse.xSort = STRING(BAdresse.Knr,'999999'). WHEN 2 THEN TAdresse.xSort = BAdresse.Suchbe . WHEN 3 THEN TAdresse.xSort = BAdresse.Ort . WHEN 4 THEN TAdresse.xSort = BAdresse.Plz . END CASE. IF T_Ansprech = FALSE THEN RETURN. FOR EACH Ansprech USE-INDEX Ansprech-k1 WHERE Ansprech.Firma = BAdresse.Firma AND Ansprech.Knr = BAdresse.Knr NO-LOCK: IF F_Fe01 <> '' AND LOOKUP(Ansprech.Cd01, F_Fe01, ',') = 0 THEN NEXT. IF F_Fe02 <> '' AND LOOKUP(Ansprech.Cd02, F_Fe02, ',') = 0 THEN NEXT. IF F_Fe03 <> '' AND LOOKUP(Ansprech.Cd03, F_Fe03, ',') = 0 THEN NEXT. IF F_Fe04 <> '' AND LOOKUP(Ansprech.Cd04, F_Fe04, ',') = 0 THEN NEXT. IF F_Fe05 <> '' AND LOOKUP(Ansprech.Cd05, F_Fe05, ',') = 0 THEN NEXT. IF F_Fe06 <> '' AND LOOKUP(Ansprech.Cd06, F_Fe06, ',') = 0 THEN NEXT. IF F_Fe07 <> '' AND LOOKUP(Ansprech.Cd07, F_Fe07, ',') = 0 THEN NEXT. IF F_Fe08 <> '' AND LOOKUP(Ansprech.Cd08, F_Fe08, ',') = 0 THEN NEXT. IF F_Fe09 <> '' AND LOOKUP(Ansprech.Cd09, F_Fe09, ',') = 0 THEN NEXT. IF F_Fe10 <> '' AND LOOKUP(Ansprech.Cd10, F_Fe10, ',') = 0 THEN NEXT. IF F_Fe11 <> '' AND LOOKUP(Ansprech.Cd11, F_Fe11, ',') = 0 THEN NEXT. IF F_Fe12 <> '' AND LOOKUP(Ansprech.Cd12, F_Fe12, ',') = 0 THEN NEXT. IF F_Fe13 <> '' AND LOOKUP(Ansprech.Cd13, F_Fe13, ',') = 0 THEN NEXT. IF F_Fe14 <> '' AND LOOKUP(Ansprech.Cd14, F_Fe14, ',') = 0 THEN NEXT. IF F_Fe15 <> '' AND LOOKUP(Ansprech.Cd15, F_Fe15, ',') = 0 THEN NEXT. CREATE TAdresse. BUFFER-COPY BAdresse TO TAdresse. BUFFER-COPY Ansprech TO TAdresse. TAdresse.iInd = Ansprech.Ind. CASE R_Sort: WHEN 1 THEN TAdresse.xSort = STRING(BAdresse.Knr,'999999'). WHEN 2 THEN TAdresse.xSort = BAdresse.Suchbe . WHEN 3 THEN TAdresse.xSort = BAdresse.Ort . WHEN 4 THEN TAdresse.xSort = BAdresse.Plz . END CASE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EXPORT_FELDER gEtiketten PROCEDURE TEST_EXPORT_FELDER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR hBuf AS WIDGET-HANDLE NO-UNDO. DEF VAR hFeld AS WIDGET-HANDLE NO-UNDO. DEF VAR cFelder AS CHAR NO-UNDO. DEF VAR cInhalt AS CHAR NO-UNDO. DEF VAR cKey AS CHAR NO-UNDO. DEF VAR cValue AS CHAR NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR i2 AS INT NO-UNDO. SESSION:SET-WAIT-STATE('GENERAL'). GET-KEY-VALUE SECTION 'Adressexport' KEY ? VALUE cFelder. IF cFelder = ? THEN cFelder = ''. hBuf = BUFFER TAdresse:HANDLE. i2 = hBuf:NUM-FIELDS. DO i1 = 1 TO i2: hFeld = hBuf:BUFFER-FIELD(i1) NO-ERROR. IF hFeld:NAME = 'xSort' THEN NEXT. IF hFeld:NAME = 'iInd' THEN NEXT. cValue = ''. IF LOOKUP(hFeld:NAME, cFelder, ',') > 0 THEN NEXT. cValue = '0;'. IF hFeld:LABEL = ? THEN cValue = cValue + hFeld:NAME. ELSE cValue = cValue + hFeld:LABEL. PUT-KEY-VALUE SECTION 'Adressexport' KEY hFeld:NAME VALUE cValue. END. SESSION:SET-WAIT-STATE(''). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME