&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-liefst.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 CB_FRW &Scoped-define LETZTES_FELD Bemerkung &Scoped-define KEY_FELDER &Scoped-define NUR_LESEN /* Parameters Definitions --- */ /* Local Variable Definitions --- */ { incl/viwdefinition.i } DEF VAR Vorhanden AS LOG NO-UNDO. DEF VAR hLEAVE AS HANDLE NO-UNDO. DEF VAR hENTER AS HANDLE NO-UNDO. /* _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-liefst.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.Kontakt RowObject.Anrede ~ RowObject.Lieferungen RowObject.BestBis RowObject.Bestell_Intervall ~ RowObject.Lieferzeit RowObject.GLN_Nr1 RowObject.GLN_Nr2 ~ RowObject.Min_Betrag RowObject.Min_Gewicht RowObject.Min_GGebinde ~ RowObject.Min_VGebinde RowObject.Min_KGebinde RowObject.Rabatt ~ RowObject.ZusRab RowObject.Spesen RowObject.Kopf RowObject.Schluss ~ RowObject.Bemerkung RowObject.Barcode_Typ &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS CB_Frw CB_Kond Btn_Artikel Btn_Einkauf ~ Btn_Dokumente RECT-1 RECT-2 RECT-4 &Scoped-Define DISPLAYED-FIELDS RowObject.Kontakt RowObject.Esbkb ~ RowObject.Anrede RowObject.Lieferungen RowObject.BestBis ~ RowObject.Bestell_Intervall RowObject.Lieferzeit RowObject.GLN_Nr1 ~ RowObject.GLN_Nr2 RowObject.Min_Betrag RowObject.Min_Gewicht ~ RowObject.Min_GGebinde RowObject.Min_VGebinde RowObject.Edat ~ RowObject.Min_KGebinde RowObject.Rabatt RowObject.ZusRab RowObject.Spesen ~ RowObject.Kopf RowObject.Msbkb RowObject.Schluss RowObject.Bemerkung ~ RowObject.Geb_Cd RowObject.Spez_Cd RowObject.Mdat RowObject.Firma ~ RowObject.Kond RowObject.FRW RowObject.Knr RowObject.Aktiv ~ RowObject.Barcode_Typ &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject &Scoped-Define DISPLAYED-OBJECTS CB_Frw CB_Kond /* Custom List Definitions */ /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Menu Definitions */ DEFINE MENU POPUP-MENU-F-Main MENU-ITEM m_Pfad_zu_Lieferantendokument LABEL "Pfad zu Lieferantendokumenten". /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Artikel LABEL "seine &Artikel" SIZE 15 BY 1. DEFINE BUTTON Btn_Dokumente LABEL "&Dokumente" SIZE 15 BY 1. DEFINE BUTTON Btn_Einkauf LABEL "&Einkäufe" SIZE 15 BY 1. DEFINE VARIABLE CB_Frw AS CHARACTER FORMAT "X(256)":U LABEL "Fremdwährung" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 38.4 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Kond AS CHARACTER FORMAT "X(256)":U LABEL "Zahlungskondition" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 38.4 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 128 BY 1.95. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 132 BY 23.33. DEFINE RECTANGLE RECT-4 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 132 BY .05. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main CB_Frw AT ROW 1.52 COL 21 COLON-ALIGNED CB_Kond AT ROW 2.52 COL 21 COLON-ALIGNED RowObject.Kontakt AT ROW 3.52 COL 21 COLON-ALIGNED LABEL "Kontaktperson" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 RowObject.Esbkb AT ROW 22.24 COL 21.8 COLON-ALIGNED LABEL "erfasst durch" FORMAT "x(5)" VIEW-AS FILL-IN NATIVE SIZE 10.6 BY 1 FONT 9 NO-TAB-STOP RowObject.Anrede AT ROW 4.52 COL 21 COLON-ALIGNED LABEL "Anrede auf Best." FORMAT "x(50)" VIEW-AS FILL-IN NATIVE SIZE 52 BY 1 BGCOLOR 15 RowObject.Lieferungen AT ROW 5.52 COL 21 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 32 BY 1 BGCOLOR 15 RowObject.BestBis AT ROW 6.52 COL 21 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 24 BY 1 BGCOLOR 15 RowObject.Bestell_Intervall AT ROW 7.52 COL 21 COLON-ALIGNED WIDGET-ID 8 VIEW-AS FILL-IN NATIVE SIZE 6 BY 1 BGCOLOR 15 RowObject.Lieferzeit AT ROW 7.52 COL 39 COLON-ALIGNED WIDGET-ID 10 VIEW-AS FILL-IN NATIVE SIZE 6 BY 1 BGCOLOR 15 RowObject.GLN_Nr1 AT ROW 8.52 COL 21 COLON-ALIGNED WIDGET-ID 2 VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.GLN_Nr2 AT ROW 8.52 COL 58 COLON-ALIGNED WIDGET-ID 4 VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 15 RowObject.Min_Betrag AT ROW 1.52 COL 93 COLON-ALIGNED LABEL "Mind. Betrag" FORMAT "zzz,zz9.99" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "Mindest Bestellbetrag ohne Kleinmengen-Zuschlag" BGCOLOR 15 RowObject.Min_Gewicht AT ROW 2.52 COL 93 COLON-ALIGNED LABEL "Mind. Gewicht" FORMAT "zz,zz9.999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "Mindestgewicht pro Lieferung wegen Transportkosten" BGCOLOR 15 RowObject.Min_GGebinde AT ROW 3.52 COL 97 COLON-ALIGNED WIDGET-ID 12 LABEL "Mind. Menge GGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Min_VGebinde AT ROW 4.52 COL 97 COLON-ALIGNED WIDGET-ID 16 LABEL "Mind. Menge VGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Edat AT ROW 22.24 COL 44.8 COLON-ALIGNED LABEL "erfasst am" FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 FONT 9 NO-TAB-STOP RowObject.Min_KGebinde AT ROW 5.52 COL 97 COLON-ALIGNED WIDGET-ID 14 LABEL "Mind. Menge KGeb" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 RowObject.Rabatt AT ROW 6.52 COL 98 COLON-ALIGNED VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.ZusRab AT ROW 7.52 COL 98 COLON-ALIGNED WIDGET-ID 18 LABEL "Zusatzrabatt" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 RowObject.Spesen AT ROW 8.52 COL 98 COLON-ALIGNED WIDGET-ID 6 VIEW-AS FILL-IN NATIVE SIZE 11 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.Kopf AT ROW 12.1 COL 5 NO-LABEL VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL SIZE 55 BY 4.19 BGCOLOR 15 RowObject.Msbkb AT ROW 22.24 COL 78.8 COLON-ALIGNED LABEL "mutiert durch" FORMAT "x(5)" VIEW-AS FILL-IN NATIVE SIZE 10.6 BY 1 FONT 9 NO-TAB-STOP RowObject.Schluss AT ROW 12.1 COL 65 NO-LABEL VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL SIZE 55 BY 4.19 BGCOLOR 15 RowObject.Bemerkung AT ROW 17.29 COL 5 NO-LABEL VIEW-AS EDITOR SCROLLBAR-VERTICAL SIZE 115 BY 4.19 BGCOLOR 15 Btn_Artikel AT ROW 1.52 COL 117.4 RowObject.Geb_Cd AT ROW 6.33 COL 126 COLON-ALIGNED LABEL "Geb_Cd" FORMAT "X(8)" VIEW-AS FILL-IN SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP Btn_Einkauf AT ROW 2.52 COL 117.4 Btn_Dokumente AT ROW 3.52 COL 117.4 RowObject.Spez_Cd AT ROW 6.33 COL 126 COLON-ALIGNED LABEL "Spez_Cd" FORMAT "x(02)" VIEW-AS FILL-IN SIZE 4 BY 1 BGCOLOR 15 NO-TAB-STOP RowObject.Mdat AT ROW 22.24 COL 101.8 COLON-ALIGNED LABEL "mutiert am" FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 FONT 9 NO-TAB-STOP RowObject.Firma AT ROW 6.33 COL 126 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Kond AT ROW 6.33 COL 126 COLON-ALIGNED LABEL "Kond" FORMAT "999999" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.FRW AT ROW 6.33 COL 126 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Knr AT ROW 6.33 COL 126 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Aktiv AT ROW 6.33 COL 126 COLON-ALIGNED LABEL "Aktiv" FORMAT "ja/nein" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Barcode_Typ AT ROW 9.52 COL 21 COLON-ALIGNED WIDGET-ID 20 LABEL "Barcode-Typ" VIEW-AS FILL-IN NATIVE SIZE 4.8 BY 1 BGCOLOR 15 "Kopftext auf Bestellung" VIEW-AS TEXT SIZE 55 BY .81 AT ROW 11.19 COL 5 "Schlusstext auf Bestellung" VIEW-AS TEXT SIZE 55 BY .81 AT ROW 11.19 COL 65 "Bemerkungen" VIEW-AS TEXT SIZE 50 BY .81 AT ROW 16.43 COL 5 RECT-1 AT ROW 21.76 COL 4 RECT-2 AT ROW 1.24 COL 2 RECT-4 AT ROW 10.91 COL 2 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-liefst.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-liefst.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 = 23.81 WIDTH = 135.8. /* 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-Main:HANDLE. /* 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.Anrede IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Barcode_Typ IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR EDITOR RowObject.Bemerkung IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Bemerkung:RETURN-INSERTED IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Edat IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Edat:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Esbkb IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Esbkb:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.FRW IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.FRW:HIDDEN IN FRAME F-Main = TRUE RowObject.FRW:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Geb_Cd IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Geb_Cd:HIDDEN IN FRAME F-Main = TRUE RowObject.Geb_Cd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.Knr:HIDDEN IN FRAME F-Main = TRUE RowObject.Knr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Kond IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Kond:HIDDEN IN FRAME F-Main = TRUE RowObject.Kond:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Kontakt IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR EDITOR RowObject.Kopf IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Kopf:RETURN-INSERTED IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Mdat IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Mdat:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Min_Betrag IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Min_Gewicht IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Min_GGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Min_KGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Min_VGebinde IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Msbkb IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Msbkb:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR EDITOR RowObject.Schluss IN FRAME F-Main EXP-LABEL */ ASSIGN RowObject.Schluss:RETURN-INSERTED IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Spez_Cd IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Spez_Cd:HIDDEN IN FRAME F-Main = TRUE RowObject.Spez_Cd:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.ZusRab IN FRAME F-Main EXP-LABEL */ /* _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 Btn_Artikel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Artikel vTableWin ON CHOOSE OF Btn_Artikel IN FRAME F-Main /* seine Artikel */ DO: IF FMut THEN RETURN NO-APPLY. DEF VAR Knr AS INT NO-UNDO. DEF VAR sAdresse AS CHAR NO-UNDO. DEF VAR sDaten AS CHAR NO-UNDO. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE). sAdresse = DYNAMIC-FUNCTION('GETADRESSEANZEIGEBR':U, INPUT Knr, INPUT 0 ) NO-ERROR. sDaten = STRING(Knr) + CHR(01) + sAdresse + CHR(01). RUN 'g-liefart.w':U ( INPUT sDaten ). IF VALID-HANDLE(hENTER) THEN APPLY 'ENTRY' TO hENTER. ELSE APPLY 'ENTRY' TO CB_FRW IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Dokumente &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Dokumente vTableWin ON CHOOSE OF Btn_Dokumente IN FRAME F-Main /* Dokumente */ DO: IF FMut THEN RETURN NO-APPLY. RUN OPEN_DATEI. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Einkauf &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Einkauf vTableWin ON CHOOSE OF Btn_Einkauf IN FRAME F-Main /* Einkäufe */ DO: IF FMut THEN RETURN NO-APPLY. DEF VAR Knr AS INT NO-UNDO. DEF VAR sAdresse AS CHAR NO-UNDO. DEF VAR sDaten AS CHAR NO-UNDO. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE). sAdresse = DYNAMIC-FUNCTION('GETADRESSEANZEIGEBR':U, INPUT Knr, INPUT 0 ) NO-ERROR. sDaten = STRING(Knr) + CHR(01) + sAdresse + CHR(01). RUN 'g-liefeinkauf.w':U ( INPUT sDaten ). IF VALID-HANDLE(hENTER) THEN APPLY 'ENTRY' TO hENTER. ELSE APPLY 'ENTRY' TO CB_FRW IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Frw &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Frw vTableWin ON VALUE-CHANGED OF CB_Frw IN FRAME F-Main /* Fremdwährung */ DO: IF FMut THEN rowObject.FRW:SCREEN-VALUE = SELF:SCREEN-VALUE. ELSE SELF:SCREEN-VALUE = rowObject.FRW:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Kond &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kond vTableWin ON VALUE-CHANGED OF CB_Kond IN FRAME F-Main /* Zahlungskondition */ DO: IF FMut THEN rowObject.Kond:SCREEN-VALUE = SELF:SCREEN-VALUE. ELSE SELF:SCREEN-VALUE = rowObject.Kond:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME m_Pfad_zu_Lieferantendokument &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_Pfad_zu_Lieferantendokument vTableWin ON CHOOSE OF MENU-ITEM m_Pfad_zu_Lieferantendokument /* Pfad zu Lieferantendokumenten */ DO: DEF VAR cString AS CHAR NO-UNDO. DEF VAR cDatei AS CHAR NO-UNDO. DEF VAR Knr AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF NOT Vorhanden THEN RETURN NO-APPLY. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE). GET-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cString. IF cString = ? THEN cString = ''. cDatei = cString. FILE-INFO:FILE-NAME = cDatei. cDatei = FILE-INFO:PATHNAME. IF cDatei = ? THEN cDatei = ''. cDatei = cDatei + '\' + STRING(INTEGER(rowObject.Knr:SCREEN-VALUE),'999999'). RUN g-verzeichnis.w ( INPUT-OUTPUT cDatei ). cString = STRING(Knr,'999999'). cDatei = REPLACE(cDatei, cString, '' ) NO-ERROR. FILE-INFO:FILE-NAME = cDatei. cDatei = FILE-INFO:PATHNAME. IF cDatei = ? THEN cDatei = ''. PUT-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cDatei. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ { incl/viwmainblock.i } &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /************************ INTERNAL PROCEDURES ********************/ PROCEDURE ShellExecuteA EXTERNAL "shell32.dll": DEF INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */ DEF INPUT PARAMETER lpOperation AS CHAR. /* Operation to perform: open, print */ DEF INPUT PARAMETER lpFile AS CHAR. /* Document or executable name */ DEF INPUT PARAMETER lpParameters AS CHAR. /* Command line parameters to executable in lpFile */ DEF INPUT PARAMETER lpDirectory AS CHAR. /* Default directory */ DEF INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened: 0 hidden, 1 normal, minimized 2, maximized 3, 0 if lpFile is a document */ DEF 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: ------------------------------------------------------------------------------*/ DEF VAR Knr AS INT NO-UNDO. Knr = DYNAMIC-FUNCTION('GETKNR':U) NO-ERROR. IF Knr = 0 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. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = ADFirma AND Adresse.Knr = Knr NO-LOCK NO-ERROR. IF Adresse.Aktiv = FALSE THEN DO: RUN FEHLER ( INPUT 1021 ). DYNAMIC-FUNCTION('setFlagabbruch':U, INPUT TRUE, INPUT Progname) NO-ERROR. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR. RETURN NO-APPLY. END. FIND Liefst NO-LOCK WHERE Liefst.Firma = Firma AND Liefst.Knr = Knr NO-ERROR. IF AVAILABLE Liefst 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. FNeu = TRUE. FMut = TRUE. RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin PROCEDURE cancelRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ FCancel = TRUE. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin PROCEDURE copyRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ FNeu = TRUE. FMut = TRUE. FCopy = TRUE. FDisp = TRUE. RUN SUPER. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin PROCEDURE deleteRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Ja AS LOG 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}: */ /* 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}: 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. DEF VAR ja AS LOG INIT TRUE NO-UNDO. DEF VAR Farbe AS INT NO-UNDO. OldColValues = pcColValues. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U). IF pcColValues = ? THEN Ja = FALSE. IF pcColValues = ? THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ). IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ). DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcColValues). DO WITH FRAME {&FRAME-NAME}: CB_FRW:SCREEN-VALUE = rowObject.FRW:SCREEN-VALUE NO-ERROR. CB_Kond:SCREEN-VALUE = rowObject.Kond:SCREEN-VALUE NO-ERROR. END. IF SAktiv THEN DO WITH FRAME {&FRAME-NAME}: Farbe = 15. IF rowObject.Aktiv:SCREEN-VALUE BEGINS 'n' THEN Farbe = 12. IF NOT Ja THEN Farbe = 08. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN FARBE_FELDER ( INPUT Fenster , INPUT '{&ENABLED-FIELDS}', INPUT Farbe ). RUN FARBE_FELDER ( INPUT Fenster , INPUT '{&ENABLED-OBJECTS}', INPUT Farbe ). END. Vorhanden = Ja. IF Vorhanden THEN DO: Btn_Artikel:SENSITIVE = TRUE. Btn_Einkauf:SENSITIVE = TRUE. END. ELSE DO: Btn_Artikel:SENSITIVE = FALSE. Btn_Einkauf:SENSITIVE = FALSE. 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}: 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: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: RUN COMBO_KONDITION ( INPUT CB_Kond:HANDLE ). RUN COMBO_FRW ( INPUT CB_Frw:HANDLE ). END. RUN SUPER. { incl/viwenableobject.i } END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin PROCEDURE ENTRY_FELD_TEST : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEF VAR FeldName AS CHAR NO-UNDO. DEF VAR FeldInhalt AS CHAR NO-UNDO. FeldName = ''. FeldInhalt = ''. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''. IF ipHandle:TYPE = 'WINDOW' 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. IF NOT FMut THEN RETURN ''. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin PROCEDURE FEHLWERTE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO. DEF VAR FwFelder AS CHAR NO-UNDO. DEF VAR FwFeld AS CHAR NO-UNDO. DEF VAR FwValue AS CHAR NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR iKnr AS INT NO-UNDO. DEF VAR cKontakt AS CHAR NO-UNDO. DEF VAR cAnrede AS CHAR NO-UNDO. cKontakt = ''. cAnrede = ''. IF FMut THEN DO: i1 = LOOKUP('Knr', oldColList, ',') + 1. iKnr = INTEGER(ENTRY(i1, pcColValues, CHR(1))) NO-ERROR. FIND FIRST Ansprech NO-LOCK WHERE Ansprech.Firma = AdFirma AND Ansprech.Knr = iKnr AND Ansprech.Bestellung = TRUE NO-ERROR. IF NOT AVAILABLE Ansprech THEN DO: FIND Adresse NO-LOCK WHERE Adresse.Firma = AdFirma AND Adresse.Knr = iKnr NO-ERROR. IF AVAILABLE Adresse THEN DO: cKontakt = TRIM(Adresse.Vorname + ' ' + Adresse.Name). cAnrede = Adresse.BriefAnr. END. END. ELSE DO: cKontakt = TRIM(Ansprech.Vorname + ' ' + Ansprech.Name). cAnrede = Ansprech.BriefAnr. END. END. GET-KEY-VALUE SECTION 'FwLieferant' KEY ? VALUE FwFelder. IF pcColValues = ? THEN pcColValues = FILL(CHR(01), NUM-ENTRIES(oldColList, ',')). IF NOT FCopy THEN DO: 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 'FwLieferant' KEY FwFeld VALUE FwValue. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR. END. END. i1 = LOOKUP('Firma', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR. i1 = LOOKUP('Kontakt', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = cKontakt NO-ERROR. i1 = LOOKUP('Anrede', oldColList, ',') + 1. ENTRY(i1, pcColValues, CHR(1)) = cAnrede NO-ERROR. IF FCopy THEN DO: END. OldColValues = pcColValues. 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: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEF VAR FeldName AS CHAR NO-UNDO. DEF VAR FeldInhalt AS CHAR NO-UNDO. DEF VAR ix AS INT NO-UNDO. DEF VAR LKY AS INT NO-UNDO. DEF VAR Daten AS CHAR NO-UNDO. IF FMut = FALSE THEN RETURN ''. LKY = LASTKEY. hENTER = LAST-EVENT:WIDGET-ENTER. hLEAVE = LAST-EVENT:WIDGET-LEAVE. FeldName = ''. FeldInhalt = ''. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''. IF ipHandle:TYPE = 'WINDOW' 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 WHILE FNeu: CASE FeldName: END CASE. LEAVE. END. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO: DO WHILE TRUE: IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE. RETURN ''. END. APPLY 'ALT-S'. RETURN 'APPLY'. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_DATEI vTableWin PROCEDURE OPEN_DATEI : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cPfad AS CHAR NO-UNDO. DEF VAR cDatei AS CHAR NO-UNDO. DEF VAR cExt AS CHAR NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR Knr AS INT NO-UNDO. DEF VAR fok AS LOG NO-UNDO. DEF VAR iStatus AS INT NO-UNDO. DEF VAR hDok AS COM-HANDLE NO-UNDO. DO WITH FRAME {&FRAME-NAME}: GET-KEY-VALUE SECTION 'Dokumente' KEY 'Lieferanten' VALUE cPfad. IF cPfad = ? THEN cPfad = ''. i1 = LENGTH(cPfad). IF i1 > 0 THEN DO: IF SUBSTRING(cPfad,i1,01) <> '\' AND SUBSTRING(cPfad,i1,01) <> '/' THEN cPfad = cPfad + '\'. END. Knr = INTEGER(rowObject.Knr:SCREEN-VALUE). cPfad = cPfad + STRING(Knr,'999999'). FILE-INFO:FILE-NAME = cPfad. cDatei = FILE-INFO:FILE-NAME. IF FILE-INFO:FILE-TYPE = ? THEN OS-CREATE-DIR VALUE(cPfad). cPfad = FILE-INFO:FILE-NAME. fok = FALSE. SYSTEM-DIALOG GET-FILE cDatei FILTERS 'alle Dateien *.*' '*.*', 'Adobe Acrobat *.pdf' '*.pdf', 'Worddokumente *.doc *.docx' '*.doc *.docx', 'Exceldokumente *.xls *.xlsx' '*.xls *.xlsx' INITIAL-FILTER 1 INITIAL-DIR cPfad TITLE 'LieferantenDokumente' UPDATE fok. IF NOT fok THEN RETURN NO-APPLY. FILE-INFO:FILE-NAME = cDatei. IF FILE-INFO:FILE-TYPE = ? THEN RETURN NO-APPLY. IF NOT FILE-INFO:FILE-TYPE BEGINS 'F' THEN RETURN NO-APPLY. cPfad = FILE-INFO:FULL-PATHNAME. cPfad = REPLACE(cPfad, '/', '\'). i1 = R-INDEX(cPfad, '\'). IF i1 > 0 THEN cDatei = SUBSTRING(cPfad,i1 + 1). ELSE cDatei = cPfad. i1 = NUM-ENTRIES(cDatei, '.'). IF i1 < 2 THEN RETURN. cExt = ENTRY(i1, cDatei, '.'). CASE cExt: WHEN 'doc' OR WHEN 'docx' THEN DO: hDok = DYNAMIC-FUNCTION('CREATEWORD':U) NO-ERROR. IF VALID-HANDLE(hDok) THEN RUN OPENWORD (INPUT hDok , INPUT cPfad, INPUT '' , OUTPUT fok ) NO-ERROR. END. WHEN 'xls' OR WHEN 'xlsx' THEN DO: hDok = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR. IF VALID-HANDLE(hDok) THEN RUN OPENEXCEL (INPUT hDok , INPUT cPfad, INPUT '' , OUTPUT fok ) NO-ERROR. END. WHEN 'pdf' THEN DO: RUN ShellExecuteA(INPUT 0 , INPUT 'open' , INPUT cPfad , INPUT '' , INPUT '' , INPUT 0 , OUTPUT iStatus). END. END CASE. RELEASE OBJECT hDok NO-ERROR. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin PROCEDURE RETURN_FELD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO. DEF VAR FeldName AS CHAR 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 ''. IF ipHandle:TYPE = 'EDITOR' THEN DO: ipHandle:INSERT-STRING(CHR(LASTKEY)). RETURN ''. END. FeldName = ipHandle:NAME. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. FeldName = 'rowObject.' + FeldName. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO: RETURN 'TAB'. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin PROCEDURE updateMode : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO. CASE pcMode: WHEN 'updateBegin' THEN DO: IF NOT Vorhanden THEN DO: DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END. END. WHEN 'updateEnd' THEN DO: END. END. RUN SUPER( INPUT pcMode). CASE pcMode: WHEN 'updateBegin' THEN DO: FMut = TRUE. END. WHEN 'updateEnd' THEN DO: FNeu = FALSE. FMut = FALSE. FCopy = FALSE. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin PROCEDURE updateRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: rowObject.FRW:SCREEN-VALUE = CB_FRW:SCREEN-VALUE. rowObject.Kond:SCREEN-VALUE = CB_Kond:SCREEN-VALUE. IF FNeu THEN DO: rowObject.Firma:SCREEN-VALUE = Firma. rowObject.EDat:SCREEN-VALUE = STRING(TODAY). rowObject.ESbKb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR. END. ELSE DO: rowObject.MDat:SCREEN-VALUE = STRING(TODAY). rowObject.MSbKb:SCREEN-VALUE = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR. END. END. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME