&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE RowObject {"d-adresse.i"}. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin /*------------------------------------------------------------------------ File: Description: from viewer.w - Template for SmartDataViewer objects Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Komma-Trennzeichen */ /* Keyfelder werden beim Mutieren nicht "Enabled" */ &Scoped-define ERSTES_FELD Knr &Scoped-define LETZTES_FELD lFreigabe &Scoped-define KEY_FELDER Knr &Scoped-define NUR_LESEN /* Parameters Definitions --- */ /* Local Variable Definitions --- */ { incl/viwdefinition.i } { incl/properties.i } { incl/ttsendmail.i } DEFINE VARIABLE FFMut AS LOG NO-UNDO INIT FALSE. DEFINE VARIABLE hLastFeld AS HANDLE NO-UNDO. DEFINE VARIABLE xAdresse AS CHARACTER NO-UNDO. DEFINE VARIABLE ErfKnr AS INTEGER NO-UNDO. DEFINE VARIABLE AltKnr AS INTEGER NO-UNDO. DEFINE VARIABLE NeuKnr AS INTEGER NO-UNDO. DEFINE VARIABLE DebFlag AS LOG NO-UNDO. DEFINE VARIABLE LieFlag AS LOG NO-UNDO. DEFINE VARIABLE KreFlag AS LOG NO-UNDO. DEFINE VARIABLE SpeFlag AS LOG NO-UNDO. DEFINE VARIABLE PreFlag AS LOG NO-UNDO. DEFINE VARIABLE BesFlag AS LOG NO-UNDO. DEFINE VARIABLE KonFlag AS LOG NO-UNDO. DEFINE VARIABLE MKnr AS INTEGER NO-UNDO. DEFINE VARIABLE cSubject AS CHARACTER NO-UNDO. DEFINE VARIABLE cText AS CHARACTER NO-UNDO. DEFINE VARIABLE cAttach AS CHARACTER NO-UNDO. DEFINE VARIABLE lKuBes AS LOG INIT FALSE NO-UNDO. DEFINE VARIABLE lSendMail AS LOG INIT FALSE NO-UNDO. DEFINE BUFFER BSpezPrei FOR SpezPrei. DEFINE BUFFER BSpPrRab FOR SpPrRab . DEFINE BUFFER BAbwPrGrp FOR AbwPrGrp. DEFINE BUFFER BKuBes FOR KuBes . DEFINE BUFFER BKunBest FOR KunBest . DEFINE BUFFER BKuBesSta FOR KuBesSta. DEFINE BUFFER BAnsprech FOR Ansprech. DEFINE WORKFILE WDebst LIKE Debst. DEFINE WORKFILE WLiefst LIKE Liefst. DEFINE WORKFILE WKrest LIKE Krest. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataViewer &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER FRAME &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target /* Include file with RowObject temp-table definition */ &Scoped-define DATA-FIELD-DEFS "d-adresse.i" /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main /* Standard List Definitions */ &Scoped-Define ENABLED-FIELDS RowObject.Knr RowObject.Suchbe ~ RowObject.Firma1 RowObject.Firma2 RowObject.Name RowObject.Vorname ~ RowObject.Zusatz1 RowObject.Zusatz2 RowObject.Strasse RowObject.Postfach ~ RowObject.Plz RowObject.Ort RowObject.Tel-1 RowObject.Tel-3 RowObject.Natel ~ RowObject.Mail RowObject.Homepage RowObject.Tel-2 RowObject.Tel-4 ~ RowObject.Funktion RowObject.Titel RowObject.BriefAnr RowObject.Cd01 ~ RowObject.Cd02 RowObject.Cd03 RowObject.Cd04 RowObject.Cd05 RowObject.Cd06 ~ RowObject.Cd07 RowObject.Cd08 RowObject.Cd09 RowObject.Cd10 RowObject.Cd11 ~ RowObject.Cd12 RowObject.Cd13 RowObject.Cd14 RowObject.Cd15 ~ RowObject.lFreigabe RowObject.AnschrFix &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS CB_Adrart CB_Land E_Anschrift T_Bem ~ CB_Sprache CB_Anrede RECT-1 RECT-2 &Scoped-Define DISPLAYED-FIELDS RowObject.Knr RowObject.Suchbe ~ RowObject.Firma1 RowObject.Firma2 RowObject.Name RowObject.Vorname ~ RowObject.Zusatz1 RowObject.Zusatz2 RowObject.AdrArt RowObject.Strasse ~ RowObject.Postfach RowObject.Plz RowObject.Ort RowObject.Tel-1 ~ RowObject.Tel-3 RowObject.Natel RowObject.Mail RowObject.Homepage ~ RowObject.Tel-2 RowObject.Tel-4 RowObject.Funktion RowObject.Titel ~ RowObject.BriefAnr RowObject.Cd01 RowObject.Cd02 RowObject.Cd03 ~ RowObject.Cd04 RowObject.Cd05 RowObject.Cd06 RowObject.Cd07 RowObject.Cd08 ~ RowObject.Cd09 RowObject.Cd10 RowObject.Cd11 RowObject.Cd12 RowObject.Cd13 ~ RowObject.Cd14 RowObject.Cd15 RowObject.lFreigabe RowObject.MutDat ~ RowObject.MutSb RowObject.ErfDat RowObject.ErfSb RowObject.Aktiv ~ RowObject.AnschrFix RowObject.Anzeig_br RowObject.Anschrift11 ~ RowObject.Anschrift10 RowObject.Anschrift8 RowObject.Anschrift9 ~ RowObject.Anrcd RowObject.Anschrift1 RowObject.Anschrift2 ~ RowObject.Anschrift3 RowObject.Anschrift4 RowObject.Anschrift5 ~ RowObject.Anschrift6 RowObject.Anschrift7 RowObject.Sprcd RowObject.Firma ~ RowObject.Anschrift12 RowObject.Lkz RowObject.Bem &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject &Scoped-Define DISPLAYED-OBJECTS T_D CB_Adrart CB_Land E_Anschrift T_Bem ~ CB_Sprache CB_Anrede T_L T_K /* Custom List Definitions */ /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-5 T_D T_Bem T_L T_K &Scoped-define List-6 F_Cd01 F_Cd02 F_Cd03 F_Cd04 F_Cd05 F_Cd06 F_Cd07 ~ F_Cd08 F_Cd09 F_Cd10 F_Cd11 F_Cd12 F_Cd13 F_Cd14 F_Cd15 /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Menu Definitions */ DEFINE MENU POPUP-MENU-E_Anschrift MENU-ITEM m_Adresse_in_Zwischenablage_k LABEL "Adresse in Zwischenablage kopieren" MENU-ITEM m_Adresse_in_neues_Worddokume LABEL "Adresse in neues Worddokument" MENU-ITEM m_Seden_Mail LABEL "SendMail (Outlook)" MENU-ITEM m_starten_Aussendienst LABEL "starten Aussendienst" MENU-ITEM m_Adressetikette LABEL "Adressetikette". DEFINE SUB-MENU m_berschrift_Codefelder MENU-ITEM m_ndern LABEL "Ändern" MENU-ITEM m_Speichern LABEL "Speichern" . DEFINE MENU POPUP-MENU-F-Adressverwaltung TITLE "Zusatzfunktionen Adressverwaltun" SUB-MENU m_berschrift_Codefelder LABEL "Überschrift Codefelder". DEFINE MENU POPUP-MENU-Mail MENU-ITEM m_send_mail LABEL "Mail senden" . DEFINE MENU POPUP-MENU-Natel MENU-ITEM X_TELEFONNATEL LABEL "Telefonieren" . DEFINE MENU POPUP-MENU-Tel-1 MENU-ITEM X_TELEFON LABEL "Telefonieren" . /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Ort IMAGE-UP FILE "grafik/select.bmp":U LABEL "S" SIZE 4.2 BY 1. DEFINE VARIABLE CB_Adrart AS CHARACTER FORMAT "X(256)":U VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 34 BY 1 TOOLTIP "Adressart aus Tabelle" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Anrede AS CHARACTER FORMAT "X(256)":U LABEL "Anrede" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 45 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Land AS CHARACTER FORMAT "X(256)":U LABEL "Land" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 34 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Sprache AS CHARACTER FORMAT "X(256)":U LABEL "Sprache" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 45 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE E_Anschrift AS CHARACTER VIEW-AS EDITOR SIZE 45 BY 7.52 BGCOLOR 15 FONT 6 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 RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 136.2 BY 19.86. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134.2 BY 1.48. DEFINE VARIABLE T_Bem AS LOGICAL INITIAL NO LABEL "Bemerkungen" VIEW-AS TOGGLE-BOX SIZE 22.4 BY .81 NO-UNDO. DEFINE VARIABLE T_D AS LOGICAL INITIAL NO LABEL "Deb" VIEW-AS TOGGLE-BOX SIZE 9 BY .71 NO-UNDO. DEFINE VARIABLE T_K AS LOGICAL INITIAL NO LABEL "Kre" VIEW-AS TOGGLE-BOX SIZE 9 BY .71 NO-UNDO. DEFINE VARIABLE T_L AS LOGICAL INITIAL NO LABEL "Lie" VIEW-AS TOGGLE-BOX SIZE 9 BY .71 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main RowObject.Knr AT ROW 1.52 COL 19 COLON-ALIGNED LABEL "Nr./Suchb./Art" FORMAT "999999" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 T_D AT ROW 16.29 COL 127 NO-TAB-STOP RowObject.Suchbe AT ROW 1.52 COL 33 COLON-ALIGNED LABEL "/" FORMAT "x(20)" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 CB_Adrart AT ROW 1.52 COL 53 COLON-ALIGNED NO-LABELS RowObject.Firma1 AT ROW 3 COL 19 COLON-ALIGNED LABEL "Firma/Zusatz" FORMAT "x(35)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Firma2 AT ROW 3 COL 53 COLON-ALIGNED NO-LABELS FORMAT "x(35)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Name AT ROW 4 COL 19 COLON-ALIGNED LABEL "Name/Vorname" FORMAT "x(35)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Vorname AT ROW 4 COL 53 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Zusatz1 AT ROW 5 COL 19 COLON-ALIGNED LABEL "Beruf oder Zusatz" FORMAT "x(35)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Zusatz2 AT ROW 5 COL 53 COLON-ALIGNED NO-LABELS FORMAT "x(35)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.AdrArt AT ROW 16 COL 108 COLON-ALIGNED LABEL "Art" FORMAT "X(4)" VIEW-AS FILL-IN NATIVE SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Strasse AT ROW 6 COL 19 COLON-ALIGNED LABEL "Strasse/Postfach" FORMAT "X(30)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 RowObject.Postfach AT ROW 6 COL 53 COLON-ALIGNED NO-LABELS FORMAT "X(30)" VIEW-AS FILL-IN NATIVE SIZE 34 BY 1 BGCOLOR 15 CB_Land AT ROW 7 COL 19 COLON-ALIGNED RowObject.Plz AT ROW 8 COL 19 COLON-ALIGNED LABEL "Plz / Ort" FORMAT "X(8)" VIEW-AS FILL-IN NATIVE SIZE 13.6 BY 1 BGCOLOR 15 RowObject.Ort AT ROW 8 COL 37.8 COLON-ALIGNED NO-LABELS FORMAT "X(30)" VIEW-AS FILL-IN NATIVE SIZE 43.2 BY 1 BGCOLOR 15 RowObject.Tel-1 AT ROW 10 COL 19 COLON-ALIGNED LABEL "Telefon/Fax G" FORMAT "X(20)" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Tel-3 AT ROW 10 COL 41 COLON-ALIGNED NO-LABELS FORMAT "X(20)" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Natel AT ROW 11 COL 19 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Mail AT ROW 12 COL 19 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 55 BY 1 TOOLTIP "rechte Maustaste -> Mail versenden" BGCOLOR 15 E_Anschrift AT ROW 1.52 COL 90 NO-LABELS NO-TAB-STOP RowObject.Homepage AT ROW 13 COL 19 COLON-ALIGNED LABEL "Homepage" VIEW-AS FILL-IN NATIVE SIZE 55 BY 1 BGCOLOR 15 RowObject.Tel-2 AT ROW 14 COL 19 COLON-ALIGNED LABEL "Telefon/Fax P" FORMAT "X(20)" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE . /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */ DEFINE FRAME F-Main RowObject.Tel-4 AT ROW 14 COL 41 COLON-ALIGNED NO-LABELS FORMAT "X(20)" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 T_Bem AT ROW 15.19 COL 21.4 CB_Sprache AT ROW 10.52 COL 88 COLON-ALIGNED CB_Anrede AT ROW 11.52 COL 88 COLON-ALIGNED RowObject.Funktion AT ROW 12.52 COL 88 COLON-ALIGNED LABEL "Funktion" FORMAT "x(50)" VIEW-AS FILL-IN NATIVE SIZE 45 BY 1 BGCOLOR 15 RowObject.Titel AT ROW 13.52 COL 88 COLON-ALIGNED LABEL "Titel" FORMAT "X(20)" VIEW-AS FILL-IN NATIVE SIZE 45 BY 1 BGCOLOR 15 RowObject.BriefAnr AT ROW 14.52 COL 88 COLON-ALIGNED LABEL "Briefanrede" FORMAT "X(50)" VIEW-AS FILL-IN NATIVE SIZE 45 BY 1 BGCOLOR 15 RowObject.Cd01 AT ROW 17.52 COL 3 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd02 AT ROW 17.52 COL 11 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd03 AT ROW 17.52 COL 19 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd04 AT ROW 17.52 COL 27 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd05 AT ROW 17.52 COL 35 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd06 AT ROW 17.52 COL 43 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd07 AT ROW 17.52 COL 51 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd08 AT ROW 17.52 COL 59 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd09 AT ROW 17.52 COL 67 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd10 AT ROW 17.52 COL 75 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd11 AT ROW 17.52 COL 83 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd12 AT ROW 17.52 COL 91 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 Btn_Ort AT ROW 8.05 COL 35 NO-TAB-STOP RowObject.Cd13 AT ROW 17.52 COL 99 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd14 AT ROW 17.52 COL 107 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 RowObject.Cd15 AT ROW 17.52 COL 115 COLON-ALIGNED NO-LABELS VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE . /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */ DEFINE FRAME F-Main RowObject.lFreigabe AT ROW 18.38 COL 126.8 WIDGET-ID 2 LABEL "Frei" VIEW-AS TOGGLE-BOX SIZE 9 BY .81 RowObject.MutDat AT ROW 19.52 COL 73 COLON-ALIGNED LABEL "mutiert am" FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 NO-TAB-STOP RowObject.MutSb AT ROW 19.48 COL 104.2 COLON-ALIGNED LABEL "mutiert durch" FORMAT "x(08)" VIEW-AS FILL-IN NATIVE SIZE 9.6 BY 1 NO-TAB-STOP RowObject.ErfDat AT ROW 19.52 COL 15 COLON-ALIGNED LABEL "erfasst am" FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 NO-TAB-STOP RowObject.ErfSb AT ROW 19.52 COL 46 COLON-ALIGNED LABEL "erfasst durch" FORMAT "x(8)" VIEW-AS FILL-IN NATIVE SIZE 9.6 BY 1 NO-TAB-STOP RowObject.Aktiv AT ROW 16.05 COL 107.8 COLON-ALIGNED LABEL "Aktiv" FORMAT "J/N" VIEW-AS FILL-IN NATIVE SIZE 4.2 BY 1 NO-TAB-STOP RowObject.AnschrFix AT ROW 9.33 COL 90.2 LABEL "Anschrift Fixiert" VIEW-AS TOGGLE-BOX SIZE 22.4 BY .81 NO-TAB-STOP RowObject.Anzeig_br AT ROW 16.24 COL 109.4 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 2 BY 1 NO-TAB-STOP RowObject.Anschrift11 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift10 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift8 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift9 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anrcd AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift1 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift2 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift3 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift4 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift5 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift6 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift7 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Sprcd AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Firma AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Anschrift12 AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE . /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */ DEFINE FRAME F-Main RowObject.Lkz AT ROW 16 COL 108 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP F_Cd01 AT ROW 16.52 COL 3 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd02 AT ROW 16.52 COL 11 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd03 AT ROW 16.52 COL 19 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd04 AT ROW 16.52 COL 27 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd05 AT ROW 16.52 COL 35 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd06 AT ROW 16.52 COL 43 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd07 AT ROW 16.52 COL 51 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd08 AT ROW 16.52 COL 59 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd09 AT ROW 16.52 COL 67 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd10 AT ROW 16.52 COL 75 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd11 AT ROW 16.52 COL 83 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd12 AT ROW 16.52 COL 91 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd13 AT ROW 16.52 COL 99 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd14 AT ROW 16.52 COL 107 COLON-ALIGNED NO-LABELS NO-TAB-STOP F_Cd15 AT ROW 16.52 COL 115 COLON-ALIGNED NO-LABELS NO-TAB-STOP T_L AT ROW 16.95 COL 127 NO-TAB-STOP T_K AT ROW 17.67 COL 127 NO-TAB-STOP RowObject.Bem AT ROW 14.71 COL 47 NO-LABELS VIEW-AS EDITOR SIZE 20 BY 1.33 NO-TAB-STOP RECT-1 AT ROW 1.24 COL 2 RECT-2 AT ROW 19.29 COL 3 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE AT COL 1 ROW 1 SCROLLABLE . /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataViewer Data Source: "d-adresse.w" Allow: Basic,DB-Fields,Smart Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target Frames: 1 Add Fields to: Neither Other Settings: PERSISTENT-ONLY COMPILE Temp-Tables and Buffers: TABLE: RowObject D "?" ? ADDITIONAL-FIELDS: {d-adresse.i} END-FIELDS. END-TABLES. */ /* This procedure should always be RUN PERSISTENT. Report the error, */ /* then cleanup and return. */ IF NOT THIS-PROCEDURE:PERSISTENT THEN DO: MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U VIEW-AS ALERT-BOX ERROR BUTTONS OK. RETURN. END. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW vTableWin ASSIGN HEIGHT = 20.71 WIDTH = 139.4. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin /* ************************* Included-Libraries *********************** */ {src/adm2/viewer.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW vTableWin VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit Custom */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE FRAME F-Main:POPUP-MENU = MENU POPUP-MENU-F-Adressverwaltung:HANDLE. /* SETTINGS FOR FILL-IN RowObject.AdrArt IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.AdrArt:HIDDEN IN FRAME F-Main = TRUE RowObject.AdrArt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Aktiv IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Aktiv:HIDDEN IN FRAME F-Main = TRUE RowObject.Aktiv:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anrcd IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anrcd:HIDDEN IN FRAME F-Main = TRUE RowObject.Anrcd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR TOGGLE-BOX RowObject.AnschrFix IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Anschrift1 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift1:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift1:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift10 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift10:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift10:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift11 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift11:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift11:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift12 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift12:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift12:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift2 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift2:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift2:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift3 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift3:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift3:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift4 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift4:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift4:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift5 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift5:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift5:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift6 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift6:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift6:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift7 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift7:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift7:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift8 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift8:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift8:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anschrift9 IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anschrift9:HIDDEN IN FRAME F-Main = TRUE RowObject.Anschrift9:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Anzeig_br IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Anzeig_br:HIDDEN IN FRAME F-Main = TRUE RowObject.Anzeig_br:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR EDITOR RowObject.Bem IN FRAME F-Main NO-ENABLE EXP-LABEL */ ASSIGN RowObject.Bem:HIDDEN IN FRAME F-Main = TRUE RowObject.Bem:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.BriefAnr IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR BUTTON Btn_Ort IN FRAME F-Main NO-ENABLE */ /* SETTINGS FOR FILL-IN RowObject.ErfDat IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.ErfDat:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.ErfSb IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.ErfSb:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN E_Anschrift:RETURN-INSERTED IN FRAME F-Main = TRUE E_Anschrift:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-E_Anschrift:HANDLE E_Anschrift:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Firma1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Firma2 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Funktion IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN F_Cd01 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd02 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd03 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd04 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd05 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd06 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd07 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd08 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd09 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd10 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd11 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd12 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd13 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd14 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN F_Cd15 IN FRAME F-Main NO-DISPLAY NO-ENABLE 6 */ /* SETTINGS FOR FILL-IN RowObject.Homepage IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR TOGGLE-BOX RowObject.lFreigabe IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Lkz IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Lkz:HIDDEN IN FRAME F-Main = TRUE RowObject.Lkz:READ-ONLY IN FRAME F-Main = TRUE. ASSIGN RowObject.Mail:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-Mail:HANDLE. /* SETTINGS FOR FILL-IN RowObject.MutDat IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.MutDat:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.MutSb IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.MutSb:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Name IN FRAME F-Main EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Natel:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-Natel:HANDLE. /* SETTINGS FOR FILL-IN RowObject.Ort IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Plz IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Postfach IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE RowObject.Sprcd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Strasse IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Suchbe IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Tel-1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Tel-1:POPUP-MENU IN FRAME F-Main = MENU POPUP-MENU-Tel-1:HANDLE. /* SETTINGS FOR FILL-IN RowObject.Tel-2 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Tel-3 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Tel-4 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Titel IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR TOGGLE-BOX T_Bem IN FRAME F-Main 5 */ /* SETTINGS FOR TOGGLE-BOX T_D IN FRAME F-Main NO-ENABLE 5 */ /* SETTINGS FOR TOGGLE-BOX T_K IN FRAME F-Main NO-ENABLE 5 */ /* SETTINGS FOR TOGGLE-BOX T_L IN FRAME F-Main NO-ENABLE 5 */ /* SETTINGS FOR FILL-IN RowObject.Vorname IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Zusatz1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Zusatz2 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "NO-LOCK" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME RowObject.AdrArt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.AdrArt vTableWin ON RETURN OF RowObject.AdrArt IN FRAME F-Main /* Art */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.AnschrFix &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.AnschrFix vTableWin ON VALUE-CHANGED OF RowObject.AnschrFix IN FRAME F-Main /* Anschrift Fixiert */ DO: IF NOT FMut THEN DO: IF SELF:SCREEN-VALUE BEGINS 'y' THEN SELF:SCREEN-VALUE = STRING(FALSE). ELSE SELF:SCREEN-VALUE = STRING(TRUE). END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Ort &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ort vTableWin ON CHOOSE OF Btn_Ort IN FRAME F-Main /* S */ DO: IF NOT FMut THEN RETURN NO-APPLY. DO WITH FRAME {&FRAME-NAME}: DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. cParam = rowObject.Ort:SCREEN-VALUE. RUN g-such-ort.w ( INPUT TRIM(CB_Land:SCREEN-VALUE), INPUT 2, INPUT-OUTPUT cParam). IF cParam = '' THEN DO: APPLY 'ENTRY' TO rowObject.Plz. RETURN NO-APPLY. END. CB_Land:SCREEN-VALUE = ENTRY(1, cParam, CHR(01)). rowObject.Plz:SCREEN-VALUE = ENTRY(2, cParam, CHR(01)). rowObject.Ort:SCREEN-VALUE = ENTRY(3, cParam, CHR(01)). APPLY 'TAB' TO rowObject.Ort. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Adrart &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Adrart vTableWin ON RETURN OF CB_Adrart IN FRAME F-Main DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Adrart vTableWin ON VALUE-CHANGED OF CB_Adrart IN FRAME F-Main DO: DO WITH FRAME {&FRAME-NAME}: IF NOT FMut THEN DO: CB_Adrart:SCREEN-VALUE = rowObject.Adrart:SCREEN-VALUE NO-ERROR. RETURN NO-APPLY. END. rowObject.Adrart:SCREEN-VALUE = SELF:SCREEN-VALUE. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Anrede &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Anrede vTableWin ON RETURN OF CB_Anrede IN FRAME F-Main /* Anrede */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Anrede vTableWin ON VALUE-CHANGED OF CB_Anrede IN FRAME F-Main /* Anrede */ DO: DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO. DEFINE VARIABLE Anrcd AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF NOT FMut THEN DO: Anrcd = INTEGER(rowObject.Anrcd:SCREEN-VALUE) NO-ERROR. CB_Anrede:SCREEN-VALUE = STRING(Anrcd,'999999') NO-ERROR. RETURN NO-APPLY. END. IF SAktiv THEN DO: Anrcd = INTEGER(CB_Anrede:SCREEN-VALUE). rowObject.Anrcd:SCREEN-VALUE = STRING(Anrcd,'999999'). END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Land &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land vTableWin ON RETURN OF CB_Land IN FRAME F-Main /* Land */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Land vTableWin ON VALUE-CHANGED OF CB_Land IN FRAME F-Main /* Land */ DO: DO WITH FRAME {&FRAME-NAME}: IF FMut THEN rowObject.Lkz:SCREEN-VALUE = SELF:SCREEN-VALUE. ELSE SELF:SCREEN-VALUE = rowObject.Lkz:SCREEN-VALUE. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Sprache &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Sprache vTableWin ON RETURN OF CB_Sprache IN FRAME F-Main /* Sprache */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Sprache vTableWin ON VALUE-CHANGED OF CB_Sprache IN FRAME F-Main /* Sprache */ DO: DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO. DEFINE VARIABLE Anrcd AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF NOT FMut THEN DO: Sprcd = INTEGER(rowObject.Sprcd:SCREEN-VALUE) NO-ERROR. CB_Sprache:SCREEN-VALUE = STRING(Sprcd,'999999') NO-ERROR. RETURN NO-APPLY. END. IF SAktiv THEN DO: Sprcd = INTEGER(CB_Sprache:SCREEN-VALUE). Anrcd = INTEGER(CB_Anrede:SCREEN-VALUE). rowObject.Sprcd:SCREEN-VALUE = STRING(Sprcd). RUN COMBO_ANREDE ( INPUT STRING(Sprcd), INPUT CB_Anrede:HANDLE ). CB_Anrede:SCREEN-VALUE = STRING(Anrcd,'999999'). END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME E_Anschrift &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL E_Anschrift vTableWin ON LEFT-MOUSE-DBLCLICK OF E_Anschrift IN FRAME F-Main DO: DEFINE VARIABLE ioAdresse AS CHARACTER NO-UNDO. DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NOT FMut THEN LEAVE. ioAdresse = rowObject.Anschrift1:SCREEN-VALUE + CHR(01) + rowObject.Anschrift2:SCREEN-VALUE + CHR(01) + rowObject.Anschrift3:SCREEN-VALUE + CHR(01) + rowObject.Anschrift4:SCREEN-VALUE + CHR(01) + rowObject.Anschrift5:SCREEN-VALUE + CHR(01) + rowObject.Anschrift6:SCREEN-VALUE + CHR(01) + rowObject.Anschrift7:SCREEN-VALUE + CHR(01) + rowObject.Anschrift8:SCREEN-VALUE + CHR(01) + rowObject.Anschrift9:SCREEN-VALUE + CHR(01) + rowObject.Anschrift10:SCREEN-VALUE + CHR(01) + rowObject.Anschrift11:SCREEN-VALUE + CHR(01) + rowObject.Anschrift12:SCREEN-VALUE + CHR(01) + rowObject.AnschrFix:SCREEN-VALUE. RUN g-anschrift.w ( INPUT-OUTPUT ioAdresse ). IF ioAdresse = '' THEN LEAVE. rowObject.Anschrift1:SCREEN-VALUE = ENTRY( 1, ioAdresse, CHR(01) ). rowObject.Anschrift2:SCREEN-VALUE = ENTRY( 2, ioAdresse, CHR(01) ). rowObject.Anschrift3:SCREEN-VALUE = ENTRY( 3, ioAdresse, CHR(01) ). rowObject.Anschrift4:SCREEN-VALUE = ENTRY( 4, ioAdresse, CHR(01) ). rowObject.Anschrift5:SCREEN-VALUE = ENTRY( 5, ioAdresse, CHR(01) ). rowObject.Anschrift6:SCREEN-VALUE = ENTRY( 6, ioAdresse, CHR(01) ). rowObject.Anschrift7:SCREEN-VALUE = ENTRY( 7, ioAdresse, CHR(01) ). rowObject.Anschrift8:SCREEN-VALUE = ENTRY( 8, ioAdresse, CHR(01) ). rowObject.Anschrift9:SCREEN-VALUE = ENTRY( 9, ioAdresse, CHR(01) ). rowObject.Anschrift10:SCREEN-VALUE = ENTRY(10, ioAdresse, CHR(01) ). rowObject.Anschrift11:SCREEN-VALUE = ENTRY(11, ioAdresse, CHR(01) ). rowObject.Anschrift12:SCREEN-VALUE = ENTRY(12, ioAdresse, CHR(01) ). rowObject.AnschrFix:SCREEN-VALUE = ENTRY(13, ioAdresse, CHR(01) ). E_Anschrift = ' ' + rowObject.Anschrift2:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift3:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift4:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift5:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift6:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift7:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift8:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift9:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift10:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift11:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift12:SCREEN-VALUE + CHR(10). E_Anschrift:SCREEN-VALUE = E_Anschrift. LEAVE. END. IF VALID-HANDLE(hLastFeld) THEN APPLY 'ENTRY' TO hLastFeld. ELSE APPLY 'ENTRY' TO rowObject.Knr. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.Homepage &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Homepage vTableWin ON LEFT-MOUSE-DBLCLICK OF RowObject.Homepage IN FRAME F-Main /* Homepage */ DO: IF FMut THEN RETURN NO-APPLY. IF SELF:SCREEN-VALUE = '' THEN RETURN NO-APPLY. RUN START_EXPLORER ( INPUT SELF:SCREEN-VALUE ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.lFreigabe &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lFreigabe vTableWin ON VALUE-CHANGED OF RowObject.lFreigabe IN FRAME F-Main /* Frei */ DO: IF NOT FMut THEN DO: IF SELF:SCREEN-VALUE BEGINS 'y' THEN SELF:SCREEN-VALUE = STRING(FALSE). ELSE SELF:SCREEN-VALUE = STRING(TRUE). RETURN NO-APPLY. END. DEFINE VARIABLE cBerecht AS CHARACTER NO-UNDO. DEFINE VARIABLE lBerecht AS LOG NO-UNDO. cBerecht = DYNAMIC-FUNCTION('getBerechtigung':U ) NO-ERROR. IF cBerecht = ? OR cBerecht = '' OR NUM-ENTRIES(cBerecht, CHR(01)) < 5 THEN lBerecht = FALSE. ELSE IF ENTRY(5, cBerecht, CHR(01)) BEGINS 'n' THEN lBerecht = FALSE. ELSE lBerecht = TRUE. IF NOT lBerecht THEN DO: IF SELF:SCREEN-VALUE BEGINS 'y' THEN SELF:SCREEN-VALUE = STRING(FALSE). ELSE SELF:SCREEN-VALUE = STRING(TRUE). RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.Mail &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Mail vTableWin ON LEFT-MOUSE-DBLCLICK OF RowObject.Mail IN FRAME F-Main /* Mail */ DO: IF FMut THEN RETURN NO-APPLY. IF SELF:SCREEN-VALUE = '' THEN RETURN NO-APPLY. IF INDEX(SELF:SCREEN-VALUE, '@') = 0 THEN RETURN NO-APPLY. cSubject = ''. cAttach = ''. cText = ''. DO WITH FRAME {&FRAME-NAME}: MKnr = INTEGER( rowObject.Knr:SCREEN-VALUE). RUN SEND_MAIL_BY_MAILADRESSE ( INPUT SELF:SCREEN-VALUE, INPUT '', INPUT cSubject, INPUT cText, INPUT cAttach ). RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Adressetikette &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Adressetikette vTableWin ON CHOOSE OF MENU-ITEM m_Adressetikette /* Adressetikette */ DO: DEFINE VARIABLE iKnr AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF FMut THEN RETURN NO-APPLY. iKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). RUN "g-adressetiketten.w" ( Firma, 0, iKnr ). RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Adresse_in_neues_Worddokume &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Adresse_in_neues_Worddokume vTableWin ON CHOOSE OF MENU-ITEM m_Adresse_in_neues_Worddokume /* Adresse in neues Worddokument */ DO: RUN ADRESSE_NACH_WORD ( INPUT 'Word' ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Adresse_in_Zwischenablage_k &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Adresse_in_Zwischenablage_k vTableWin ON CHOOSE OF MENU-ITEM m_Adresse_in_Zwischenablage_k /* Adresse in Zwischenablage kopieren */ DO: RUN ADRESSE_NACH_WORD ( INPUT '' ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_ndern &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_ndern vTableWin ON CHOOSE OF MENU-ITEM m_ndern /* Ändern */ DO: IF FMut THEN RETURN NO-APPLY. RUN FELDAENDERN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Seden_Mail &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Seden_Mail vTableWin ON CHOOSE OF MENU-ITEM m_Seden_Mail /* SendMail (Outlook) */ DO: IF FMut THEN RETURN NO-APPLY. cSubject = ''. cAttach = ''. cText = ''. DO WITH FRAME {&FRAME-NAME}: MKnr = INTEGER( rowObject.Knr:SCREEN-VALUE). RUN SEND_MAIL ( INPUT AdFirma , INPUT MKnr, INPUT cSubject, INPUT cText, INPUT cAttach ). DYNAMIC-FUNCTION('SETENTRYFELD', INPUT 'Knr' ) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_send_mail &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_send_mail vTableWin ON CHOOSE OF MENU-ITEM m_send_mail /* Mail senden */ DO: IF FMut THEN RETURN NO-APPLY. cSubject = ''. cAttach = ''. cText = ''. DO WITH FRAME {&FRAME-NAME}: MKnr = INTEGER( rowObject.Knr:SCREEN-VALUE). RUN SEND_MAIL ( INPUT AdFirma , INPUT MKnr, INPUT cSubject, INPUT cText, INPUT cAttach ). DYNAMIC-FUNCTION('SETENTRYFELD', INPUT 'Knr' ) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Speichern &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Speichern vTableWin ON CHOOSE OF MENU-ITEM m_Speichern /* Speichern */ DO: IF NOT FFMut THEN RETURN NO-APPLY. RUN FELDSPEICHERN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_starten_Aussendienst &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_starten_Aussendienst vTableWin ON CHOOSE OF MENU-ITEM m_starten_Aussendienst /* starten Aussendienst */ DO: DEFINE VARIABLE lOK AS LOG NO-UNDO. lOK = DYNAMIC-FUNCTION('getProgrammGestartet':U, 'w-kubes.w') NO-ERROR. IF NOT lOK THEN RUN START_PROGRAMM ( 'w-kubes.w':U ) NO-ERROR. lOK = DYNAMIC-FUNCTION('getProgrammGestartet':U, 'w-kubes.w') NO-ERROR. IF lOK THEN lKuBes = TRUE. ELSE lKuBes = FALSE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.Ort &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Ort vTableWin ON ALT-F OF RowObject.Ort IN FRAME F-Main /* Ort */ DO: IF NOT FMut THEN RETURN NO-APPLY. DO WITH FRAME {&FRAME-NAME}: DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. cParam = rowObject.Ort:SCREEN-VALUE. RUN g-such-ort.w ( INPUT TRIM(CB_Land:SCREEN-VALUE), INPUT 2, INPUT-OUTPUT cParam). IF cParam = '' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. CB_Land:SCREEN-VALUE = ENTRY(1, cParam, CHR(01)). rowObject.Plz:SCREEN-VALUE = ENTRY(2, cParam, CHR(01)). rowObject.Ort:SCREEN-VALUE = ENTRY(3, cParam, CHR(01)). rowObject.Plz:BGCOLOR = 15. rowObject.Ort:BGCOLOR = 15. APPLY 'TAB' TO rowObject.Ort. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Ort vTableWin ON LEAVE OF RowObject.Ort IN FRAME F-Main /* Ort */ DO: IF SELF:SCREEN-VALUE NE '' THEN RETURN. DO WITH FRAME {&FRAME-NAME}: FIND Orte USE-INDEX Orte-k1 WHERE Orte.Lkz = CB_Land:SCREEN-VALUE AND Orte.Plz = rowObject.Plz:SCREEN-VALUE NO-LOCK NO-ERROR. IF AVAILABLE Orte THEN SELF:SCREEN-VALUE = Orte.Ort. IF SELF:SCREEN-VALUE = '' THEN DO: RUN FEHLER ( INPUT 1011 ). APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.Plz &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Plz vTableWin ON ALT-F OF RowObject.Plz IN FRAME F-Main /* Plz / Ort */ DO: IF NOT FMut THEN RETURN NO-APPLY. DO WITH FRAME {&FRAME-NAME}: DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. cParam = rowObject.Plz:SCREEN-VALUE. RUN g-such-ort.w ( INPUT TRIM(CB_Land:SCREEN-VALUE), INPUT 1, INPUT-OUTPUT cParam). IF cParam = '' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. CB_Land:SCREEN-VALUE = ENTRY(1, cParam, CHR(01)). rowObject.Plz:SCREEN-VALUE = ENTRY(2, cParam, CHR(01)). rowObject.Ort:SCREEN-VALUE = ENTRY(3, cParam, CHR(01)). rowObject.Plz:BGCOLOR = 15. rowObject.Ort:BGCOLOR = 15. APPLY 'TAB' TO rowObject.Ort. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Plz vTableWin ON LEAVE OF RowObject.Plz IN FRAME F-Main /* Plz / Ort */ DO: DEFINE VARIABLE i1 AS INTEGER NO-UNDO. DEFINE VARIABLE Inhalt AS CHARACTER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: Inhalt = SELF:SCREEN-VALUE. IF Inhalt = '' THEN RETURN. FIND Orte USE-INDEX Orte-k1 WHERE Orte.Lkz = CB_Land:SCREEN-VALUE AND Orte.Plz = Inhalt NO-LOCK NO-ERROR. IF NOT AVAILABLE Orte THEN DO: rowObject.Plz:BGCOLOR = 14. rowObject.Ort:BGCOLOR = 14. IF FNeu THEN rowObject.Ort:SCREEN-VALUE = ''. RETURN. END. rowObject.Plz:BGCOLOR = 15. rowObject.Ort:BGCOLOR = 15. i1 = LOOKUP('Plz', oldColList, ',') + 1. IF Inhalt <> ENTRY(i1, oldColValues, CHR(1)) OR rowObject.Ort:SCREEN-VALUE = '' THEN DO: rowObject.Ort:SCREEN-VALUE = Orte.Ort. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME T_Bem &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Bem vTableWin ON RETURN OF T_Bem IN FRAME F-Main /* Bemerkungen */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Bem vTableWin ON VALUE-CHANGED OF T_Bem IN FRAME F-Main /* Bemerkungen */ DO: DO WITH FRAME {&FRAME-NAME}: T_Bem:SCREEN-VALUE = STRING(T_Bem). RUN g-bemerkung.w ( INPUT rowObject.Bem:HANDLE, INPUT FMut ). rowObject.Bem:MODIFIED = TRUE. IF rowObject.Bem:SCREEN-VALUE = '' THEN T_Bem = FALSE. ELSE T_Bem = TRUE. DISPLAY T_Bem WITH FRAME {&FRAME-NAME}. IF VALID-HANDLE(hLastFeld) THEN APPLY 'ENTRY' TO hLastFeld. ELSE APPLY 'ENTRY' TO rowObject.Knr. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME X_TELEFON &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL X_TELEFON vTableWin ON CHOOSE OF MENU-ITEM X_TELEFON /* Telefonieren */ DO: RUN TELEFONIEREN IN hKontainer ( rowObject.Tel-1:SCREEN-VALUE IN FRAME {&FRAME-NAME} ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME X_TELEFONNATEL &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL X_TELEFONNATEL vTableWin ON CHOOSE OF MENU-ITEM X_TELEFONNATEL /* Telefonieren */ DO: RUN TELEFONIEREN IN hKontainer ( rowObject.Natel:SCREEN-VALUE IN FRAME {&FRAME-NAME} ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ FOR EACH WDebst: DELETE WDebst. END. FOR EACH WLiefst: DELETE WLiefst. END. FOR EACH WKrest: DELETE WKrest. END. CREATE WDebst. CREATE WLiefst. CREATE WKrest. { incl/viwmainblock.i } ON 'ALT-CTRL-F':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN SCHREIBENFEHLWERTE. RETURN NO-APPLY. END. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /************************ INTERNAL PROCEDURES ********************/ PROCEDURE ShellExecuteA EXTERNAL "shell32.dll": DEFINE INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */ DEFINE INPUT PARAMETER lpOperation AS CHARACTER. /* Operation to perform: open, print */ DEFINE INPUT PARAMETER lpFile AS CHARACTER. /* Document or executable name */ DEFINE INPUT PARAMETER lpParameters AS CHARACTER. /* Command line parameters to executable in lpFile */ DEFINE INPUT PARAMETER lpDirectory AS CHARACTER. /* Default directory */ DEFINE INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened: 0 hidden, 1 normal, minimized 2, maximized 3, 0 if lpFile is a document */ DEFINE RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin PROCEDURE addRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE cParam AS CHARACTER NO-UNDO. DEFINE VARIABLE cStart AS CHARACTER NO-UNDO. DEFINE VARIABLE bRecid AS RECID NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE hData AS HANDLE NO-UNDO. RUN g-adresse-erf.w ( OUTPUT cParam ). IF cParam = '' OR cParam = ? THEN DO: DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END. DO WHILE TRUE: IF ENTRY(1, cParam, CHR(01)) = 'N' THEN LEAVE. hData = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. IF NOT VALID-HANDLE(hData) THEN DO: DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END. SESSION:SET-WAIT-STATE('GENERAL'). cStart = ENTRY(2, cParam, CHR(01) ). bRecid = INTEGER(ENTRY(3, cParam, CHR(01))). RUN SET_QUERYSTRING IN hData ( INPUT cStart ). DYNAMIC-FUNCTION('openQuery':U IN hData). RUN REPOS IN hData (INPUT bRecid). SESSION:SET-WAIT-STATE(''). DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END. FNeu = TRUE. FMut = TRUE. xAdresse = cParam. RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ADRESSE_NACH_WORD vTableWin PROCEDURE ADRESSE_NACH_WORD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipArt AS CHARACTER NO-UNDO. DEFINE VARIABLE wordAppl AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE i1 AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN E_Anschrift. CString = ''. DO i1 = 1 TO NUM-ENTRIES(E_Anschrift, CHR(10)). IF ENTRY(i1, E_Anschrift, CHR(10)) = '' AND cString = '' THEN NEXT. cString = cString + TRIM(ENTRY(i1, E_Anschrift, CHR(10))) + CHR(10). END. CLIPBOARD:VALUE = cString. END. IF ipArt = 'Word' THEN DO: wordAppl = DYNAMIC-FUNCTION('CREATEWORD') NO-ERROR. IF NOT VALID-HANDLE(wordAppl) THEN DO: MESSAGE 'Microsoft Word konnte nicht gestartet werden !' VIEW-AS ALERT-BOX. RETURN. END. wordAppl:Documents:ADD. wordAppl:Selection:Paste. DYNAMIC-FUNCTION('RELEASEWORD', INPUT wordAppl ) NO-ERROR. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ANSCHRIFT vTableWin PROCEDURE ANSCHRIFT : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE Mandant AS CHARACTER NO-UNDO. DEFINE VARIABLE VAnschrift AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: DO WHILE TRUE: Mandant = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. VAnschrift = rowObject.Firma1:SCREEN-VALUE + CHR(11) + rowObject.Firma2:SCREEN-VALUE + CHR(11) + rowObject.NAME:SCREEN-VALUE + CHR(11) + rowObject.Vorname:SCREEN-VALUE + CHR(11) + rowObject.Zusatz1:SCREEN-VALUE + CHR(11) + rowObject.Zusatz2:SCREEN-VALUE + CHR(11) + rowObject.Strasse:SCREEN-VALUE + CHR(11) + rowObject.Postfach:SCREEN-VALUE + CHR(11) + rowObject.Lkz:SCREEN-VALUE + CHR(11) + rowObject.Plz:SCREEN-VALUE + CHR(11) + rowObject.Ort:SCREEN-VALUE + CHR(11) + rowObject.Titel:SCREEN-VALUE + CHR(11) + rowObject.Sprcd:SCREEN-VALUE + CHR(11) + rowObject.Anrcd:SCREEN-VALUE. VAnschrift = DYNAMIC-FUNCTION('MAKEANSCHRIFT':U, VAnschrift) NO-ERROR. IF rowObject.AnschrFix:SCREEN-VALUE BEGINS 'j' THEN LEAVE. IF rowObject.AnschrFix:SCREEN-VALUE BEGINS 'y' THEN LEAVE. DO ix = 1 TO 12: CASE ix: WHEN 1 THEN rowObject.Anschrift1:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 2 THEN rowObject.Anschrift2:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 3 THEN rowObject.Anschrift3:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 4 THEN rowObject.Anschrift4:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 5 THEN rowObject.Anschrift5:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 6 THEN rowObject.Anschrift6:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 7 THEN rowObject.Anschrift7:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 8 THEN rowObject.Anschrift8:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 9 THEN rowObject.Anschrift9:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 10 THEN rowObject.Anschrift10:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 11 THEN rowObject.Anschrift11:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). WHEN 12 THEN rowObject.Anschrift12:SCREEN-VALUE = ENTRY(ix, VAnschrift, CHR(11)). END CASE. END. E_Anschrift = ' ' + rowObject.Anschrift2:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift3:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift4:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift5:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift6:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift7:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift8:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift9:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift10:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift11:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift12:SCREEN-VALUE + CHR(10). E_Anschrift :SCREEN-VALUE = E_Anschrift. rowObject.BriefAnr:SCREEN-VALUE = ENTRY(13, VAnschrift, CHR(11) ). LEAVE. END. IF rowObject.BriefAnr:SCREEN-VALUE = '' THEN rowObject.BriefAnr:SCREEN-VALUE = ENTRY(13, VAnschrift, CHR(11) ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BROWSERANZEIGE vTableWin PROCEDURE BROWSERANZEIGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE Mandant AS CHARACTER NO-UNDO. DEFINE VARIABLE VAnschrift AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE sHandle AS HANDLE NO-UNDO. DO WITH FRAME {&FRAME-NAME}: Mandant = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. VAnschrift = rowObject.Firma1:SCREEN-VALUE + CHR(11) + rowObject.Firma2:SCREEN-VALUE + CHR(11) + rowObject.NAME:SCREEN-VALUE + CHR(11) + rowObject.Vorname:SCREEN-VALUE + CHR(11) + rowObject.Strasse:SCREEN-VALUE + CHR(11) + rowObject.Plz:SCREEN-VALUE + CHR(11) + rowObject.Ort:SCREEN-VALUE. VAnschrift = DYNAMIC-FUNCTION('MAKEBROWSERANZEIGE':U, INPUT VAnschrift) NO-ERROR. rowObject.Anzeig_Br:SCREEN-VALUE = VAnschrift. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin PROCEDURE cancelRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. rowObject.Knr:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(AltKnr). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin PROCEDURE copyRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: DebFlag = T_D. LieFlag = T_L. KreFlag = T_K. AltKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). END. FNeu = TRUE. FMut = TRUE. FCopy = TRUE. RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin PROCEDURE deleteRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE Ja AS LOG NO-UNDO. DEFINE VARIABLE Mandanten AS CHARACTER NO-UNDO. DEFINE VARIABLE Knr AS INTEGER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE xFirma AS CHARACTER NO-UNDO. /* Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ). */ /* IF NOT Ja THEN DO: */ /* DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR. */ /* RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. */ /* RETURN NO-APPLY. */ /* END. */ DO WITH FRAME {&FRAME-NAME}: Mandanten = ''. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE). FOR EACH Steuer NO-LOCK: IF Steuer.ADFirma <> ADFirma THEN NEXT. Mandanten = Mandanten + Steuer.Firma + ';'. END. ja = TRUE. DO ix = 1 TO NUM-ENTRIES(Mandanten, ';'): IF ENTRY(ix, Mandanten, ';') = '' THEN NEXT. FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k3 WHERE Artbw.Firma = ENTRY(ix, Mandanten, ';') AND Artbw.Knr = Knr NO-ERROR. IF AVAILABLE Artbw THEN ja = FALSE. FIND FIRST Debhi NO-LOCK WHERE Debhi.Firma = ENTRY(ix, Mandanten, ';') AND Debhi.Knr = Knr NO-ERROR. IF AVAILABLE Debhi THEN ja = FALSE. IF NOT ja THEN LEAVE. END. IF Ja THEN DO: DISABLE TRIGGERS FOR LOAD OF Adresse . DISABLE TRIGGERS FOR LOAD OF Ansprech. RUN LOESCHEN_ADRESSE ( INPUT Knr, INPUT Mandanten ). FOR EACH Ansprech WHERE Ansprech.Firma = AdFirma AND Ansprech.Knr = Knr: DELETE Ansprech. END. RUN SUPER. RETURN NO-APPLY. END. FOR EACH Debst USE-INDEX Debst-k2 WHERE Debst.Knr = Knr: IF LOOKUP(Debst.Firma, Mandanten, ';') = 0 THEN NEXT. Debst.Aktiv = FALSE. END. DO ix = 1 TO NUM-ENTRIES(Mandanten, ';'): xFirma = ENTRY(ix, Mandanten, ';') NO-ERROR. IF xFirma = '' OR xFirma = ? THEN NEXT. FIND Liefst WHERE Liefst.Firma = xFirma AND Liefst.Knr = Knr NO-ERROR. IF NOT AVAILABLE Liefst THEN NEXT. Liefst.Aktiv = FALSE. END. rowObject.Aktiv:SCREEN-VALUE = STRING(FALSE). RUN updateRecord. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin PROCEDURE disableFields : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcFieldType). IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ). IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO: RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ). END. DO WITH FRAME {&FRAME-NAME}: Btn_Ort:SENSITIVE = FALSE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: Notes: Here we clean-up the user-interface by deleting dynamic widgets we have created and/or hide frames. This procedure is usually called when we are ready to "clean-up" after running. ------------------------------------------------------------------------------*/ /* Hide all frames. */ HIDE FRAME F-Main. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin PROCEDURE displayFields : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO. DEFINE VARIABLE Anrcd AS INTEGER NO-UNDO. IF NOT FDisp THEN DO: FDisp = TRUE. RETURN. END. OldColValues = pcColValues. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U). DYNAMIC-FUNCTION('SETENTRYFELD':U, INPUT ? ) NO-ERROR. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ). DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcColValues). DO WITH FRAME {&FRAME-NAME}: E_Anschrift = ' ' + rowObject.Anschrift2:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift3:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift4:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift5:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift6:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift7:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift8:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift9:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift10:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift11:SCREEN-VALUE + CHR(10) + ' ' + rowObject.Anschrift12:SCREEN-VALUE + CHR(10). E_Anschrift:SCREEN-VALUE = E_Anschrift. Sprcd = INTEGER(rowObject.Sprcd:SCREEN-VALUE) NO-ERROR. Anrcd = INTEGER(rowObject.Anrcd:SCREEN-VALUE) NO-ERROR. IF rowObject.AdrArt:SCREEN-VALUE = '' THEN rowObject.AdrArt:SCREEN-VALUE = '....'. IF SAktiv THEN DO: CB_Land:SCREEN-VALUE = rowObject.Lkz:SCREEN-VALUE NO-ERROR. CB_Sprache:SCREEN-VALUE = STRING(Sprcd,'999999') NO-ERROR. RUN COMBO_ANREDE ( INPUT STRING(Sprcd), CB_Anrede:HANDLE ). CB_Anrede:SCREEN-VALUE = STRING(Anrcd,'999999') NO-ERROR. CB_Adrart:SCREEN-VALUE = rowObject.Adrart:SCREEN-VALUE NO-ERROR. END. rowObject.Plz:BGCOLOR = 15. rowObject.Ort:BGCOLOR = 15. T_D:BGCOLOR = ?. T_L:BGCOLOR = ?. T_K:BGCOLOR = ?. T_D = FALSE. T_L = FALSE. T_K = FALSE. T_Bem = FALSE. IF rowObject.Bem:SCREEN-VALUE <> '' THEN T_Bem = TRUE. FIND FIRST Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-LOCK NO-ERROR. IF AVAILABLE Debst THEN DO: T_D = TRUE. IF Debst.Aktiv = FALSE THEN T_D:BGCOLOR = 12. END. FIND FIRST Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-LOCK NO-ERROR. IF AVAILABLE Liefst THEN DO: T_L = TRUE. IF Liefst.Aktiv = FALSE THEN T_L:BGCOLOR = 12. END. FIND FIRST Krest USE-INDEX Krest-k1 WHERE Krest.Firma = Firma AND Krest.Knr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-LOCK NO-ERROR. IF AVAILABLE Krest THEN DO: T_D = TRUE. IF Krest.Aktiv = FALSE THEN T_D:BGCOLOR = 12. END. DISPLAY {&List-5}. IF NOT FMut THEN DO: IF NOT lKuBes THEN lKuBes = DYNAMIC-FUNCTION('getProgrammGestartet':U, 'w-kubes.w' ) NO-ERROR. IF lKubes THEN PUBLISH 'KUNDENBESUCH' ( INPUT INTEGER(rowObject.Knr:SCREEN-VALUE) ). END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin PROCEDURE enableFields : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ /* RUN SUPER. */ IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ). IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO: RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ). END. DO WITH FRAME {&FRAME-NAME}: Btn_Ort:SENSITIVE = TRUE. END. IF FNeu THEN RETURN. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO: RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE cFelder AS CHARACTER NO-UNDO. { incl/viwenableobject.i } RUN SUPER. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}: RUN COMBO_LAND ( INPUT CB_Land:HANDLE ). RUN COMBO_SPRACHE ( INPUT CB_Sprache:HANDLE ). RUN COMBO_ANREDE ( INPUT STRING(iBenuSprcd), INPUT CB_Anrede:HANDLE ). RUN COMBO_ADRESSART ( INPUT CB_Adrart:HANDLE ). END. FIND Femeld WHERE Femeld.Sprcd = iBenuSprcd 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. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin PROCEDURE ENTRY_FELD_TEST : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO. DEFINE VARIABLE FeldInhalt AS CHARACTER NO-UNDO. FeldName = ''. FeldInhalt = ''. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''. IF FMut = FALSE THEN RETURN ''. FeldName = ipHandle:NAME. IF ipHandle:TYPE = 'FILL-IN' OR ipHandle:TYPE = 'COMBO-BOX' OR ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE. DO WITH FRAME {&FRAME-NAME}: CASE FeldName: WHEN 'BriefAnr' THEN DO: IF FeldInhalt <> '' THEN RETURN ''. RUN ANSCHRIFT. END. END CASE. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin PROCEDURE FEHLWERTE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT-OUTPUT PARAMETER pcColValues AS CHARACTER NO-UNDO. DEFINE VARIABLE FwFelder AS CHARACTER NO-UNDO. DEFINE VARIABLE FwFeld AS CHARACTER NO-UNDO. DEFINE VARIABLE FwValue AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE i1 AS INTEGER NO-UNDO. DO WHILE NOT FCopy WITH FRAME {&FRAME-NAME}: GET-KEY-VALUE SECTION 'FwAdresse' KEY ? VALUE FwFelder. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','): FwFeld = ENTRY (ix , FwFelder , ','). i1 = LOOKUP(FwFeld, oldColList, ',') + 1. IF i1 < 2 THEN NEXT. GET-KEY-VALUE SECTION 'FwAdresse' KEY FwFeld VALUE FwValue. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR. END. DO ix = 2 TO NUM-ENTRIES(xAdresse, CHR(01)): CASE ix: WHEN 2 THEN DO: FwFeld = 'Knr'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 3 THEN DO: FwFeld = 'Suchbe'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 4 THEN DO: FwFeld = 'Firma1'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 5 THEN DO: FwFeld = 'Firma2'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 6 THEN DO: FwFeld = 'Name'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 7 THEN DO: FwFeld = 'Vorname'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 8 THEN DO: FwFeld = 'Zusatz1'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 9 THEN DO: FwFeld = 'Zusatz2'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 10 THEN DO: FwFeld = 'Strasse'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 11 THEN DO: FwFeld = 'Postfach'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 12 THEN DO: FwFeld = 'Lkz'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 13 THEN DO: FwFeld = 'Plz'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. WHEN 14 THEN DO: FwFeld = 'Ort'. FwValue = ENTRY(ix, xAdresse, CHR(01)). END. END CASE. IF FwValue = '' THEN NEXT. i1 = LOOKUP(FwFeld, oldColList, ',') + 1. IF i1 < 2 THEN NEXT. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR. IF FwFeld NE 'Lkz' THEN DYNAMIC-FUNCTION('SETENTRYFELD':U, INPUT FwFeld ). END. LEAVE. END. ix = DYNAMIC-FUNCTION('getAdressfreigabe':U ) NO-ERROR. i1 = LOOKUP('lFreigabe', oldColList, ',') + 1. CASE ix: WHEN 1 THEN ENTRY(i1, pcColValues, CHR(1)) = STRING(FALSE) NO-ERROR. OTHERWISE ENTRY(i1, pcColValues, CHR(1)) = STRING(TRUE) NO-ERROR. END CASE. i1= LOOKUP('Firma', oldColList, ',') + 1. FwValue = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR. IF FCopy THEN DO: i1 = LOOKUP('Knr' , oldColList, ',') + 1. ENTRY(i1, pcColValues , CHR(01)) = '0'. i1 = LOOKUP('MutDat' , oldColList, ',') + 1. ENTRY(i1, pcColValues , CHR(01)) = '?'. i1 = LOOKUP('MutSb' , oldColList, ',') + 1. ENTRY(i1, pcColValues , CHR(01)) = ''. i1 = LOOKUP('BriefAnr', oldColList, ',') + 1. ENTRY(i1, pcColValues , CHR(01)) = ''. END. OldColValues = pcColValues. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FELDAENDERN vTableWin PROCEDURE FELDAENDERN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: DYNAMIC-FUNCTION('SETMUTFLAG':U, INPUT TRUE, INPUT 'FeldMutation' ) NO-ERROR. ENABLE {&List-6}. F_Cd01:TAB-STOP = TRUE. F_Cd02:TAB-STOP = TRUE. F_Cd03:TAB-STOP = TRUE. F_Cd04:TAB-STOP = TRUE. F_Cd05:TAB-STOP = TRUE. F_Cd06:TAB-STOP = TRUE. F_Cd07:TAB-STOP = TRUE. F_Cd08:TAB-STOP = TRUE. F_Cd09:TAB-STOP = TRUE. F_Cd10:TAB-STOP = TRUE. F_Cd11:TAB-STOP = TRUE. F_Cd12:TAB-STOP = TRUE. F_Cd13:TAB-STOP = TRUE. F_Cd14:TAB-STOP = TRUE. F_Cd15:TAB-STOP = TRUE. FFMut = TRUE. APPLY 'ENTRY' TO F_Cd01. RETURN NO-APPLY. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FELDSPEICHERN vTableWin PROCEDURE FELDSPEICHERN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-6}. cString = F_Cd01 + ',' + F_Cd02 + ',' + F_Cd03 + ',' + F_Cd04 + ',' + F_Cd05 + ',' + F_Cd06 + ',' + F_Cd07 + ',' + F_Cd08 + ',' + F_Cd09 + ',' + F_Cd10 + ',' + F_Cd11 + ',' + F_Cd12 + ',' + F_Cd13 + ',' + F_Cd14 + ',' + F_Cd15. REPEAT TRANSACTION: Sprcd = DYNAMIC-FUNCTION('GETBENUTZERSPRCD':U) NO-ERROR. FIND Femeld WHERE Femeld.Sprcd = Sprcd AND Femeld.Fenr = 999 NO-ERROR. IF NOT AVAILABLE Femeld THEN DO: CREATE Femeld. ASSIGN Femeld.Sprcd = Sprcd Femeld.Fenr = 999. END. Femeld.Fetext = cString. RELEASE Femeld. LEAVE. END. F_Cd01:TAB-STOP = FALSE. F_Cd02:TAB-STOP = FALSE. F_Cd03:TAB-STOP = FALSE. F_Cd04:TAB-STOP = FALSE. F_Cd05:TAB-STOP = FALSE. F_Cd06:TAB-STOP = FALSE. F_Cd07:TAB-STOP = FALSE. F_Cd08:TAB-STOP = FALSE. F_Cd09:TAB-STOP = FALSE. F_Cd10:TAB-STOP = FALSE. F_Cd11:TAB-STOP = FALSE. F_Cd12:TAB-STOP = FALSE. F_Cd13:TAB-STOP = FALSE. F_Cd14:TAB-STOP = FALSE. F_Cd15:TAB-STOP = FALSE. FFMut = FALSE. DISABLE {&List-6}. DYNAMIC-FUNCTION('SETMUTFLAG':U, INPUT FALSE, INPUT 'FeldMutation' ) NO-ERROR. APPLY 'U1'. RETURN NO-APPLY. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin PROCEDURE LEAVE_FELD_TEST : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO. DEFINE VARIABLE FeldInhalt AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. IF FMut = FALSE THEN RETURN ''. FeldName = ''. FeldInhalt = ''. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''. hLastFeld = ipHandle. FeldName = ipHandle:NAME. IF ipHandle:TYPE = 'FILL-IN' OR ipHandle:TYPE = 'COMBO-BOX' OR ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE. DO WITH FRAME {&FRAME-NAME} WHILE TRUE: CASE FeldName: WHEN 'Knr' THEN DO: IF NOT FNeu THEN RETURN ''. IF INTEGER(FeldInhalt) = 0 THEN RETURN ''. IF CAN-FIND ( Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = rowObject.Firma:SCREEN-VALUE AND Adresse.Knr = INTEGER(FeldInhalt) NO-LOCK ) THEN DO: RUN FEHLER ( INPUT 1009 ). RETURN 'ERROR'. END. END. WHEN 'BriefAnr' THEN DO: IF FeldInhalt <> '' THEN RETURN ''. RUN ANSCHRIFT. END. WHEN 'Postfach' THEN DO: IF SUBSTRING(FeldInhalt,01,01) < '0' THEN LEAVE. IF SUBSTRING(FeldInhalt,01,01) > '9' THEN LEAVE. ix = INTEGER(rowObject.Sprcd:SCREEN-VALUE). FIND Sprache WHERE Sprache.Sprcd = ix NO-LOCK NO-ERROR. IF NOT AVAILABLE Sprache THEN LEAVE. IF Sprache.Postfach = '' THEN LEAVE. FeldInhalt = Sprache.Postfach + ' ' + FeldInhalt. ipHandle:SCREEN-VALUE = TRIM(FeldInhalt). END. END CASE. LEAVE. END. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO: APPLY 'ALT-S'. RETURN 'APPLY'. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN_ADRESSE vTableWin PROCEDURE LOESCHEN_ADRESSE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO. DEFINE INPUT PARAMETER ipMand AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO. DO ix = 1 TO NUM-ENTRIES(ipMand, ';'): cFirma = ENTRY(ix, ipMand, ';'). IF cFirma = '' THEN NEXT. FOR EACH Artbw USE-INDEX Artbw-k3 WHERE Artbw.Firma = cFirma AND Artbw.Knr = ipKnr: DELETE Artbw. END. FOR EACH DebUms USE-INDEX DebUms-k2 WHERE DebUms.Firma = cFirma AND DebUms.Knr = ipKnr: DELETE DebUms. END. FOR EACH DeArUms USE-INDEX DeArUms-k3 WHERE DeArUms.Firma = cFirma AND DeArUms.Knr = ipKnr: DELETE DeArUms. END. FOR EACH ArtLief USE-INDEX ArtLief-k2 WHERE ArtLief.Firma = cFirma AND ArtLief.Knr = ipKnr: DELETE ArtLief. END. FOR EACH Debfa USE-INDEX Debfa-k1 WHERE Debfa.Firma = cFirma AND Debfa.Knr = ipKnr: DELETE Debfa . END. FOR EACH Debop USE-INDEX Debop-k1 WHERE Debop.Firma = cFirma AND Debop.Knr = ipKnr: DELETE Debop . END. FOR EACH Debwu USE-INDEX Debwu-k1 WHERE Debwu.Firma = cFirma AND Debwu.Knr = ipKnr: DELETE Debwu . END. FOR EACH Debhi USE-INDEX Debhi-k1 WHERE Debhi.Firma = cFirma AND Debhi.Knr = ipKnr: DELETE Debhi . END. FOR EACH Debza USE-INDEX Debza-k1 WHERE Debza.Firma = cFirma AND Debza.Knr = ipKnr: DELETE Debza . END. FOR EACH KunBest USE-INDEX KunBest-k1 WHERE KunBest.Firma = cFirma AND KunBest.Knr = ipKnr: DELETE KunBest . END. FOR EACH Passant USE-INDEX Passant-k1 WHERE Passant.Firma = cFirma AND Passant.Knr = ipKnr: DELETE Passant . END. FOR EACH SpezPrei USE-INDEX SpezPrei-k1 WHERE SpezPrei.Firma = cFirma AND SpezPrei.Knr = ipKnr: DELETE SpezPrei. END. FOR EACH Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = cFirma AND Liefst.Knr = ipKnr: DELETE Liefst . END. FOR EACH KuBes USE-INDEX KuBes-k1 WHERE KuBes.Firma = cFirma AND KuBes.Knr = ipKnr: DELETE KuBes . END. FOR EACH Debst USE-INDEX Debst-k1 WHERE Debst.Firma = cFirma AND Debst.Knr = ipKnr: DELETE Debst . END. FOR EACH KunArt WHERE KunArt.Firma = cFirma AND KunArt.Knr = ipKnr: DELETE KunArt. END. FOR EACH AktKeine WHERE AktKeine.Firma = cFirma AND AktKeine.Knr = ipKnr: DELETE AktKeine. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin PROCEDURE RETURN_FELD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEFINE VARIABLE FeldName AS CHARACTER NO-UNDO. IF FMut = FALSE THEN RETURN ''. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''. FeldName = ipHandle:NAME. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. FeldName = 'rowObject.' + FeldName. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBENFEHLWERTE vTableWin PROCEDURE SCHREIBENFEHLWERTE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: PUT-KEY-VALUE SECTION 'FwAdresse' KEY 'AdrArt' VALUE CB_Adrart :SCREEN-VALUE. PUT-KEY-VALUE SECTION 'FwAdresse' KEY 'Sprcd' VALUE CB_Sprache:SCREEN-VALUE. PUT-KEY-VALUE SECTION 'FwAdresse' KEY 'Anrcd' VALUE CB_Anrede :SCREEN-VALUE. PUT-KEY-VALUE SECTION 'FwAdresse' KEY 'Lkz' VALUE CB_Land :SCREEN-VALUE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEND_MAIL vTableWin PROCEDURE SEND_MAIL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipiKnr AS INTEGER NO-UNDO. DEFINE VARIABLE cTo AS CHARACTER NO-UNDO. DEFINE VARIABLE lRetVal AS LOG NO-UNDO. DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO. DEFINE VARIABLE cSubject AS CHARACTER NO-UNDO. DEFINE VARIABLE cBody AS CHARACTER NO-UNDO. FIND Adresse NO-LOCK USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = ipiKnr NO-ERROR. cTo = cMailToFreigabe. IF cTo = '' THEN RETURN. IF INDEX(cTo, '@') = 0 THEN RETURN. cSubject = SUBSTITUTE('Adressfreigabe Knr &1 ', Adresse.Knr ). cBody = SUBSTITUTE('Die Adresse/der Debitor &1 => &2 muss kontrolliert und frei gegeben werden. ', Adresse.Knr, Adresse.Anzeig_Br ). EMPTY TEMP-TABLE ttSendMail. CREATE ttSendMail. ASSIGN ttSendMail.cFrom = cMailFromFreigabe ttSendMail.cTo = cTo ttSendMail.cCC = cMailCCFreigabe ttSendMail.cSubject = cSubject ttSendMail.cBody = cBody ttSendMail.cAttachedName = '' ttSendMail.cMailServer = cMailServer ttSendMail.cMailPort = cMailPort ttSendMail.cMailKonto = cMailKonto ttSendMail.cMailPassw = cMailPassw ttSendMail.cDomaine = cMailDomaine ttSendMail.lAuth = lMailAuth. RUN sendsmtpmail.p ( httSendMail, OUTPUT cMessage, OUTPUT lRetVal ). IF NOT lRetVal THEN MESSAGE cMessage VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE START_EXPLORER vTableWin PROCEDURE START_EXPLORER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipWebSeite AS CHARACTER NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE Inst AS INTEGER NO-UNDO. IF ipWebSeite BEGINS 'HTTP' THEN cString = ipWebSeite. ELSE cString = 'HTTP://' + ipWebSeite. RUN ShellExecuteA(INPUT 0 , INPUT 'open' , INPUT cString , INPUT '' , INPUT '' , INPUT 0 , OUTPUT Inst ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin PROCEDURE updateMode : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO. DEFINE VARIABLE hData AS HANDLE NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE iRecid AS RECID NO-UNDO. CASE pcMode: WHEN 'updateBegin' THEN DO WITH FRAME {&FRAME-NAME}: iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten) NO-ERROR. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid. IF NOT Adresse.Aktiv THEN DO: RUN REAKTIVIEREN IN hDaten. DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. APPLY 'ENTRY' TO rowObject.Knr. END. WHEN 'updateEnd' THEN DO: END. END. RUN SUPER( INPUT pcMode). CASE pcMode: WHEN 'updateBegin' THEN DO WITH FRAME {&FRAME-NAME}: FMut = TRUE. APPLY 'ENTRY' TO rowObject.Knr. END. WHEN 'updateEnd' THEN DO: FNeu = FALSE. FMut = FALSE. FCopy = FALSE. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin PROCEDURE updateRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE MaxNummer AS CHARACTER NO-UNDO. DEFINE VARIABLE Knr AS INTEGER NO-UNDO. DEFINE VARIABLE Fehler AS LOG NO-UNDO. DEFINE VARIABLE ja AS LOG NO-UNDO. DEFINE VARIABLE VSuch1 AS CHARACTER NO-UNDO. DEFINE VARIABLE VSuch2 AS CHARACTER NO-UNDO. DEFINE BUFFER oldDebst FOR Debst . DEFINE BUFFER oldLiefst FOR Liefst . DEFINE BUFFER oldKrest FOR Krest . DEFINE BUFFER bAktKeine FOR AktKeine. Fehler = FALSE. DO WITH FRAME {&FRAME-NAME} WHILE TRUE: IF FNeu THEN DO: IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE ) NO-ERROR. rowObject.Firma:SCREEN-VALUE = ADFirma. END. rowObject.AdrArt:SCREEN-VALUE = CB_Adrart :SCREEN-VALUE. rowObject.Sprcd :SCREEN-VALUE = CB_Sprache:SCREEN-VALUE. rowObject.Lkz :SCREEN-VALUE = CB_Land :SCREEN-VALUE. rowObject.Anrcd:SCREEN-VALUE = CB_Anrede :SCREEN-VALUE . IF rowObject.AdrArt:SCREEN-VALUE = '....' THEN rowObject.AdrArt:SCREEN-VALUE = ''. RUN ANSCHRIFT. RUN BROWSERANZEIGE. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-ERROR. IF Knr NE 0 AND FNeu THEN DO: FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = rowObject.Firma:SCREEN-VALUE AND Adresse.Knr = Knr NO-LOCK NO-ERROR. IF AVAILABLE Adresse THEN DO: RUN FEHLER ( INPUT 1009 ). APPLY 'ENTRY' TO rowObject.Knr. Fehler = TRUE. LEAVE. END. END. IF rowObject.Ort:SCREEN-VALUE = '' THEN DO: RUN FEHLER ( INPUT 1011 ). APPLY 'ENTRY' TO rowObject.Ort. Fehler = TRUE. LEAVE. END. IF FNeu THEN DO: rowObject.ErfDat:SCREEN-VALUE = STRING(TODAY). rowObject.ErfSb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR. IF Knr = 0 THEN DO: GET-KEY-VALUE SECTION 'FwAdresse' KEY 'MaxNummer' VALUE MaxNummer. FIND LAST Adresse NO-LOCK USE-INDEX Adresse-k1 WHERE Adresse.Firma = rowObject.Firma:SCREEN-VALUE AND Adresse.Knr < INTEGER(MaxNummer) NO-ERROR. IF NOT AVAILABLE Adresse THEN rowObject.Knr:SCREEN-VALUE = STRING(1). ELSE rowObject.Knr:SCREEN-VALUE = STRING(Adresse.Knr + 1). END. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE) NO-ERROR. ErfKnr = Knr. END. ELSE DO: rowObject.MutDat:SCREEN-VALUE = STRING(TODAY). rowObject.MutSb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR. END. DO WHILE TRUE: IF rowObject.Suchbe:SCREEN-VALUE NE '' THEN LEAVE. IF rowObject.Name :SCREEN-VALUE NE '' THEN VSuch1 = ENTRY(1, rowObject.Name:SCREEN-VALUE, ' '). IF rowObject.Firma1:SCREEN-VALUE NE '' THEN VSuch1 = ENTRY(1, rowObject.Firma1:SCREEN-VALUE, ' '). VSuch2 = ENTRY(1, rowObject.Ort:SCREEN-VALUE, ' '). rowObject.Suchbe:SCREEN-VALUE = STRING(VSuch1,'x(13)') + STRING(VSuch2,'x(07)'). LEAVE. END. IF rowObject.Plz:SCREEN-VALUE = '' THEN LEAVE. FIND Orte USE-INDEX Orte-k1 WHERE Orte.Lkz = rowObject.Lkz:SCREEN-VALUE AND Orte.Plz = rowObject.Plz:SCREEN-VALUE NO-LOCK NO-ERROR. IF NOT AVAILABLE Orte THEN DO: ja = DYNAMIC-FUNCTION('ANTWORT_JA':U, INPUT 1012 ). IF ja THEN DO: CREATE Orte. ASSIGN Orte.Lkz = rowObject.Lkz:SCREEN-VALUE Orte.Plz = rowObject.Plz:SCREEN-VALUE Orte.Ort = rowObject.Ort:SCREEN-VALUE. END. LEAVE. END. LEAVE. END. IF Fehler THEN DO: DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE). RETURN NO-APPLY. END. IF FCopy THEN DO WITH FRAME {&FRAME-NAME}: SpeFlag = TRUE. PreFlag = TRUE. BesFlag = TRUE. KonFlag = TRUE. DebFlag = FALSE. LieFlag = FALSE. KreFlag = FALSE. FIND oldDebst NO-LOCK WHERE oldDebst.Firma = Firma AND oldDebst.Knr = AltKnr NO-ERROR. IF AVAILABLE oldDebst THEN DebFlag = TRUE. RELEASE oldDebst. FIND oldLiefst NO-LOCK WHERE oldLiefst.Firma = Firma AND oldLiefst.Knr = AltKnr NO-ERROR. IF AVAILABLE oldLiefst THEN LieFlag = TRUE. RELEASE oldLiefst. FIND oldKrest NO-LOCK WHERE oldKrest.Firma = Firma AND oldKrest.Knr = AltKnr NO-ERROR. IF AVAILABLE oldKrest THEN KreFlag = TRUE. RELEASE oldKrest. RUN 'g-adresskopie.w':U ( INPUT-OUTPUT DebFlag, INPUT-OUTPUT LieFlag, INPUT-OUTPUT KreFlag, INPUT-OUTPUT SpeFlag, INPUT-OUTPUT PreFlag, INPUT-OUTPUT BesFlag, INPUT-OUTPUT KonFlag ). IF DebFlag = ? THEN DO: DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE). RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. NeuKnr = INTEGER(rowObject.Knr:SCREEN-VALUE). DO WHILE TRUE: IF NOT DebFlag THEN LEAVE. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = AltKnr NO-LOCK NO-ERROR. IF NOT AVAILABLE Debst THEN LEAVE. FIND FIRST WDebst. BUFFER-COPY Debst TO WDebst. ASSIGN WDebst.Knr = NeuKnr WDebst.Saldo = 0 WDebst.MWST_Nr = '' WDebst.AKonto = 0 WDebst.Skonto = 0 WDebst.Aktiv = TRUE WDebst.LetztVK = ? WDebst.Zuschl_Betr = 0 WDebst.Zuschl_Verr = 0. CREATE Debst. BUFFER-COPY WDebst TO Debst. CREATE DebUms. ASSIGN DebUms.Firma = Firma DebUms.Jahr = YEAR(TODAY) DebUms.Knr = NeuKnr DebUms.Ums_Grp = 999. RELEASE DebUms. FOR EACH AktKeine NO-LOCK WHERE AktKeine.Firma = Firma AND AktKeine.Knr = AltKnr: CREATE bAktKeine. BUFFER-COPY AktKeine EXCEPT Knr TO bAktKeine ASSIGN bAktKeine.Knr = NeuKnr. END. LEAVE. END. DO WHILE TRUE: IF NOT LieFlag THEN LEAVE. FIND Liefst USE-INDEX Liefst-k1 WHERE Liefst.Firma = Firma AND Liefst.Knr = AltKnr NO-LOCK NO-ERROR. IF NOT AVAILABLE Liefst THEN LEAVE. FIND FIRST WLiefst. BUFFER-COPY Liefst TO WLiefst. ASSIGN WLiefst.Knr = NeuKnr WLiefst.Aktiv = TRUE. CREATE Liefst. BUFFER-COPY WLiefst TO Liefst. LEAVE. END. DO WHILE TRUE: IF NOT KreFlag THEN LEAVE. FIND Krest USE-INDEX Krest-k1 WHERE Krest.Firma = Firma AND Krest.Knr = AltKnr NO-LOCK NO-ERROR. IF NOT AVAILABLE Krest THEN LEAVE. FIND FIRST WKrest. BUFFER-COPY Krest TO WKrest. ASSIGN WKrest.Knr = NeuKnr WKrest.Aktiv = TRUE WKrest.ESRTnNr = 0 WKrest.Saldo = 0 WKrest.BankKto = '' WKrest.PCKto = '' WKrest.MWST_Nr = ''. CREATE Krest. BUFFER-COPY WKrest TO Krest. LEAVE. END. DO WHILE TRUE: IF NOT SpeFlag THEN LEAVE. FOR EACH SpezPrei USE-INDEX SpezPrei-k1 WHERE SpezPrei.Firma = Firma AND SpezPrei.Knr = AltKnr NO-LOCK: CREATE BSpezPrei. BUFFER-COPY SpezPrei EXCEPT Knr TO BSpezPrei ASSIGN BSpezPrei.Knr = NeuKnr. END. FOR EACH SpPrRab USE-INDEX SpPrRab-k1 WHERE SpPrRab.Firma = Firma AND SpPrRab.Knr = AltKnr NO-LOCK: CREATE BSpPrRab. BUFFER-COPY SpPrRab EXCEPT Knr TO BSpPrRab ASSIGN BSpPrRab.Knr = NeuKnr. END. LEAVE. END. DO WHILE TRUE: IF NOT PreFlag THEN LEAVE. FOR EACH AbwPrGrp USE-INDEX AbwPrGrp-k1 WHERE AbwPrGrp.Firma = Firma AND AbwPrGrp.Knr = AltKnr NO-LOCK: CREATE BAbwPrGrp. BUFFER-COPY AbwPrGrp EXCEPT Knr TO BAbwPrGrp ASSIGN BAbwPrGrp.Knr = NeuKnr. END. LEAVE. END. DO WHILE TRUE: IF NOT BesFlag THEN LEAVE. FOR EACH KuBes USE-INDEX KuBes-k1 WHERE KuBes.Firma = Firma AND KuBes.Knr = AltKnr NO-LOCK: CREATE BKuBes. BUFFER-COPY KuBes EXCEPT Knr TO BKuBes ASSIGN BKuBes.Knr = NeuKnr. END. FOR EACH KuBesSta USE-INDEX KuBesSta-k1 WHERE KuBesSta.Firma = Firma AND KuBesSta.Knr = AltKnr NO-LOCK: CREATE BKuBesSta. BUFFER-COPY KuBesSta EXCEPT Knr TO BKuBesSta ASSIGN BKuBesSta.Knr = NeuKnr. END. LEAVE. END. DO WHILE TRUE: DISABLE TRIGGERS FOR LOAD OF Ansprech. IF NOT KonFlag THEN LEAVE. FOR EACH Ansprech USE-INDEX Ansprech-k1 WHERE Ansprech.Firma = AdFirma AND Ansprech.Knr = AltKnr NO-LOCK: CREATE BAnsprech. BUFFER-COPY Ansprech EXCEPT Knr TO BAnsprech ASSIGN BAnsprech.Knr = NeuKnr. END. LEAVE. END. END. DO WITH FRAME {&FRAME-NAME}: rowObject.Suchbe:MODIFIED = TRUE. rowObject.Firma1:MODIFIED = TRUE. rowObject.Firma2:MODIFIED = TRUE. rowObject.Name:MODIFIED = TRUE. rowObject.VorName:MODIFIED = TRUE. rowObject.Zusatz1:MODIFIED = TRUE. rowObject.Zusatz2:MODIFIED = TRUE. rowObject.Strasse:MODIFIED = TRUE. rowObject.Postfach:MODIFIED = TRUE. rowObject.Lkz:MODIFIED = TRUE. rowObject.Plz:MODIFIED = TRUE. rowObject.Ort:MODIFIED = TRUE. rowObject.ErfDat:MODIFIED = TRUE. rowObject.ErfSb:MODIFIED = TRUE. rowObject.MutDat:MODIFIED = TRUE. rowObject.MutSb:MODIFIED = TRUE. END. IF NOT FNeu AND NOT FCopy THEN PUBLISH 'KUNDENBESUCH' (INPUT Knr). IF (FNeu OR FCopy) AND rowObject.lFreigabe:SCREEN-VALUE BEGINS 'n' THEN lSendMail = TRUE. FNeu = FALSE. FCopy = FALSE. RUN SUPER. IF lSendMail THEN RUN SEND_MAIL ( INTEGER(rowObject.Knr:SCREEN-VALUE) ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME