&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-steuer.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 Firma1 &Scoped-define LETZTES_FELD RuestArt &Scoped-define KEY_FELDER &Scoped-define NUR_LESEN /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR FNeu AS LOG NO-UNDO INIT FALSE. DEF VAR FMut AS LOG NO-UNDO INIT FALSE. DEF VAR FCopy AS LOG NO-UNDO INIT FALSE. DEF VAR Fenster AS HANDLE NO-UNDO. DEF VAR oldColValues AS CHAR NO-UNDO. DEF VAR oldColList AS CHAR 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-steuer.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.Firma1 RowObject.Firma2 ~ RowObject.Strasse RowObject.Ort RowObject.Tel-1 RowObject.Tel-2 ~ RowObject.Fax-1 RowObject.Fax-2 RowObject.AdFirma RowObject.FBFirma ~ RowObject.MWST_Nr RowObject.Fwc10 RowObject.Fwc09 RowObject.Fwc08 ~ RowObject.MWSt RowObject.St05 RowObject.St06 RowObject.St07 RowObject.St08 ~ RowObject.St09 RowObject.St10 RowObject.RuestArt &Scoped-define ENABLED-TABLES RowObject &Scoped-define FIRST-ENABLED-TABLE RowObject &Scoped-Define ENABLED-OBJECTS CB_Mandant CB_Aktpreis CB_MWSTExkl ~ CB_MWSTInkl RECT-1 RECT-2 &Scoped-Define DISPLAYED-FIELDS RowObject.Firma1 RowObject.Firma2 ~ RowObject.Strasse RowObject.Ort RowObject.Tel-1 RowObject.Tel-2 ~ RowObject.Fax-1 RowObject.Fax-2 RowObject.AdFirma RowObject.FBFirma ~ RowObject.MWST_Nr RowObject.Fwc10 RowObject.Fwc09 RowObject.Fwc08 ~ RowObject.MWSt RowObject.St05 RowObject.St06 RowObject.St07 RowObject.St08 ~ RowObject.St09 RowObject.St10 RowObject.RuestArt RowObject.Firma ~ RowObject.MWSt-Inkl RowObject.MWSt-Exkl RowObject.Aktionspreise ~ RowObject.StFirma &Scoped-define DISPLAYED-TABLES RowObject &Scoped-define FIRST-DISPLAYED-TABLE RowObject &Scoped-Define DISPLAYED-OBJECTS CB_Mandant CB_Aktpreis CB_MWSTExkl ~ CB_MWSTInkl /* Custom List Definitions */ /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE VARIABLE CB_Aktpreis AS CHARACTER FORMAT "X(256)":U LABEL "Aktionspreise" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Preisgruppen","00", "Kundengruppen","01" DROP-DOWN-LIST SIZE 28 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_Mandant AS CHARACTER FORMAT "X(256)":U LABEL "Mandant" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_MWSTExkl AS CHARACTER FORMAT "X(256)":U LABEL "MWSt Exklusive" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item1","item2" DROP-DOWN-LIST SIZE 28 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_MWSTInkl AS CHARACTER FORMAT "X(256)":U LABEL "MWSt Inklusive" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item1","item2" DROP-DOWN-LIST SIZE 28 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 115 BY 5.67. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 115 BY 9.05. /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main CB_Mandant AT ROW 1.52 COL 18 COLON-ALIGNED NO-TAB-STOP RowObject.Firma1 AT ROW 2.52 COL 18 COLON-ALIGNED LABEL "Firmenname" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 RowObject.Firma2 AT ROW 3.52 COL 18 COLON-ALIGNED LABEL "Zusatz" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 RowObject.Strasse AT ROW 4.52 COL 18 COLON-ALIGNED LABEL "Strasse" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 RowObject.Ort AT ROW 5.52 COL 18 COLON-ALIGNED LABEL "Plz/Ort" FORMAT "x(30)" VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 RowObject.Tel-1 AT ROW 2.52 COL 83 COLON-ALIGNED LABEL "Telefon-Nr" FORMAT "x(20)" VIEW-AS FILL-IN NATIVE SIZE 28 BY 1 BGCOLOR 15 RowObject.Tel-2 AT ROW 3.52 COL 83 COLON-ALIGNED LABEL "Telefon-Nr(2)" FORMAT "x(20)" VIEW-AS FILL-IN NATIVE SIZE 28 BY 1 BGCOLOR 15 RowObject.Fax-1 AT ROW 4.52 COL 83 COLON-ALIGNED LABEL "Faxnummer" FORMAT "x(20)" VIEW-AS FILL-IN NATIVE SIZE 28 BY 1 BGCOLOR 15 RowObject.Fax-2 AT ROW 5.52 COL 83 COLON-ALIGNED LABEL "Faxnummer(2)" FORMAT "x(20)" VIEW-AS FILL-IN NATIVE SIZE 28 BY 1 BGCOLOR 15 RowObject.AdFirma AT ROW 7.52 COL 18 COLON-ALIGNED LABEL "Firma Adresse" FORMAT "x(8)" VIEW-AS FILL-IN NATIVE SIZE 14 BY 1 BGCOLOR 15 RowObject.FBFirma AT ROW 8.52 COL 18 COLON-ALIGNED LABEL "Firma FIBU" FORMAT "x(08)" VIEW-AS FILL-IN NATIVE SIZE 14 BY 1 BGCOLOR 15 RowObject.MWST_Nr AT ROW 9.52 COL 18 COLON-ALIGNED LABEL "MWSt-Nummer" VIEW-AS FILL-IN NATIVE SIZE 30 BY 1 BGCOLOR 15 RowObject.Fwc10 AT ROW 10.52 COL 18 COLON-ALIGNED LABEL "Installation" FORMAT "x(12)" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 TOOLTIP "Installationskunde für Rechnungsdruck" BGCOLOR 15 RowObject.Fwc09 AT ROW 11.52 COL 18 COLON-ALIGNED LABEL "FremdFibu" FORMAT "x(12)" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 RowObject.Fwc08 AT ROW 12.52 COL 18 COLON-ALIGNED LABEL "gesperrt bis" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 TOOLTIP "Frühestes Buchungsdatum" BGCOLOR 15 RowObject.MWSt AT ROW 7.52 COL 39.4 NO-LABEL VIEW-AS RADIO-SET VERTICAL RADIO-BUTTONS "MWSt vereinbart":U, 0, "MWSt vereinnahmt":U, 1 SIZE 24.8 BY 1.38 TOOLTIP "ie wird die Mehrwertsteuer abgerechnet" CB_Aktpreis AT ROW 7.52 COL 83 COLON-ALIGNED CB_MWSTExkl AT ROW 8.52 COL 83 COLON-ALIGNED CB_MWSTInkl AT ROW 9.52 COL 83 COLON-ALIGNED RowObject.St05 AT ROW 10.52 COL 83 COLON-ALIGNED LABEL "Bemerk. Auftrag (05)" FORMAT "z9" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 TOOLTIP "0 = Debitorbemerkung; 1 = Adressbemerkung; 2 = Debitor Auftragstext" 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.St06 AT ROW 10.52 COL 106 COLON-ALIGNED LABEL "Anzeige (06)" FORMAT "z9" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 RowObject.St07 AT ROW 11.52 COL 83 COLON-ALIGNED LABEL "Knr in BESR Start,Länge (07)" FORMAT "99,99" VIEW-AS FILL-IN NATIVE SIZE 9 BY 1 TOOLTIP "Position und Länge der Kundennummer in der Referenznummer" BGCOLOR 15 RowObject.St08 AT ROW 12.52 COL 83 COLON-ALIGNED LABEL "Faknr in BESR Start,Länge (08)" FORMAT "99,99" VIEW-AS FILL-IN NATIVE SIZE 9 BY 1 TOOLTIP "Position und Länge der Fakturanummer in der Referenznummer" BGCOLOR 15 RowObject.St09 AT ROW 13.52 COL 83 COLON-ALIGNED LABEL "Mindestmengen/Bestellpunkt" FORMAT "z9" VIEW-AS FILL-IN NATIVE SIZE 4.8 BY 1 TOOLTIP "0 = in Kleingebinde / 1 = in Verkaufsgebinde" BGCOLOR 15 RowObject.St10 AT ROW 14.52 COL 83 COLON-ALIGNED WIDGET-ID 2 LABEL "Auftrag mit Rückständen" FORMAT "z9" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 TOOLTIP "0 = ohne Rückstände / 1 = mit Rückständen" BGCOLOR 15 RowObject.RuestArt AT ROW 14.52 COL 106 COLON-ALIGNED WIDGET-ID 4 LABEL "Rüstart" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 TOOLTIP "Rüstart, wenn Rüstapplikation vorhanden" BGCOLOR 15 RowObject.Firma AT ROW 1.52 COL 103 COLON-ALIGNED LABEL "Firma" FORMAT "x(08)" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.MWSt-Inkl AT ROW 1.52 COL 103 COLON-ALIGNED LABEL "MWSt-Inkl" FORMAT "999999" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.MWSt-Exkl AT ROW 1.52 COL 103 COLON-ALIGNED LABEL "MWSt-Exkl" FORMAT "999999" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.Aktionspreise AT ROW 1.52 COL 103 COLON-ALIGNED LABEL "Aktionspreise" FORMAT "99" VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RowObject.StFirma AT ROW 1.52 COL 103 COLON-ALIGNED VIEW-AS FILL-IN SIZE 4 BY 1 NO-TAB-STOP RECT-1 AT ROW 1.24 COL 2 RECT-2 AT ROW 7.19 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-steuer.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-steuer.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 = 15.43 WIDTH = 116.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. /* SETTINGS FOR FILL-IN RowObject.AdFirma IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Aktionspreise IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.Aktionspreise:HIDDEN IN FRAME F-Main = TRUE RowObject.Aktionspreise:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.Fax-1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Fax-2 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.FBFirma IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ 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.Fwc08 IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Fwc09 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Fwc10 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR RADIO-SET RowObject.MWSt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.MWSt-Exkl IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.MWSt-Exkl:HIDDEN IN FRAME F-Main = TRUE RowObject.MWSt-Exkl:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.MWSt-Inkl IN FRAME F-Main NO-ENABLE EXP-LABEL EXP-FORMAT */ ASSIGN RowObject.MWSt-Inkl:HIDDEN IN FRAME F-Main = TRUE RowObject.MWSt-Inkl:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN RowObject.MWST_Nr IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.Ort IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.RuestArt IN FRAME F-Main EXP-LABEL */ /* SETTINGS FOR FILL-IN RowObject.St05 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.St06 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.St07 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.St08 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.St09 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.St10 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.StFirma IN FRAME F-Main NO-ENABLE */ ASSIGN RowObject.StFirma:HIDDEN IN FRAME F-Main = TRUE RowObject.StFirma: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.Tel-1 IN FRAME F-Main EXP-LABEL EXP-FORMAT */ /* SETTINGS FOR FILL-IN RowObject.Tel-2 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 CB_Aktpreis &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Aktpreis vTableWin ON VALUE-CHANGED OF CB_Aktpreis IN FRAME F-Main /* Aktionspreise */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Aktionspreise:SCREEN-VALUE NO-ERROR. rowObject.Aktionspreise:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Mandant &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Mandant vTableWin ON VALUE-CHANGED OF CB_Mandant IN FRAME F-Main /* Mandant */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Firma:SCREEN-VALUE NO-ERROR. rowObject.Firma:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_MWSTExkl &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWSTExkl vTableWin ON VALUE-CHANGED OF CB_MWSTExkl IN FRAME F-Main /* MWSt Exklusive */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.MWST-Exkl:SCREEN-VALUE NO-ERROR. rowObject.MWST-Exkl:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_MWSTInkl &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_MWSTInkl vTableWin ON VALUE-CHANGED OF CB_MWSTInkl IN FRAME F-Main /* MWSt Inklusive */ DO: IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.MWST-Inkl:SCREEN-VALUE NO-ERROR. rowObject.MWST-Inkl:SCREEN-VALUE = SELF:SCREEN-VALUE NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME RowObject.MWSt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.MWSt vTableWin ON VALUE-CHANGED OF RowObject.MWSt IN FRAME F-Main DO: DEF VAR i1 AS INT NO-UNDO. IF FMut THEN RETURN. i1 = LOOKUP(SELF:NAME, oldColList, ','). IF i1 = 0 THEN RETURN. i1 = i1 + 1. SELF:SCREEN-VALUE = STRING(INTEGER(ENTRY(i1, oldColValues, CHR(1)))). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin /* *************************** Main Block *************************** */ /* Triggers ------------------------------------------------------ */ ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN RETURN_FELD ( INPUT SELF:HANDLE ). IF RETURN-VALUE = 'TAB' THEN DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. END. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ). IF RETURN-VALUE = 'ERROR' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. IF RETURN-VALUE = 'APPLY' THEN DO: RETURN NO-APPLY. END. END. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ). IF RETURN-VALUE = 'ERROR' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. IF RETURN-VALUE = 'APPLY' THEN DO: RETURN NO-APPLY. END. END. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN RUN initializeObject. &ENDIF /************************ INTERNAL PROCEDURES ********************/ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin PROCEDURE addRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. /* DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE ) NO-ERROR.*/ /* RETURN NO-APPLY.*/ 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. /* 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: ------------------------------------------------------------------------------*/ DYNAMIC-FUNCTION('SETFLAGABBRUCHALT':U, INPUT TRUE ) NO-ERROR. RETURN NO-APPLY. 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_JA':U, INPUT 1000 ). IF NOT Ja THEN DO: PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ). RETURN NO-APPLY. END. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ 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). 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. OldColValues = pcColValues. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U). IF FNeu THEN RUN FEHLWERTE ( INPUT pcColValues ). DO WITH FRAME {&FRAME-NAME}: END. RUN SUPER( INPUT pcColValues). DO WITH FRAME {&FRAME-NAME}: CB_Mandant:SCREEN-VALUE = rowObject.Firma:SCREEN-VALUE NO-ERROR. CB_Aktpreis:SCREEN-VALUE = rowObject.Aktionspreise:SCREEN-VALUE NO-ERROR. CB_MWSTExkl:SCREEN-VALUE = rowObject.MWST-Exkl:SCREEN-VALUE NO-ERROR. CB_MWSTInkl:SCREEN-VALUE = rowObject.MWST-Inkl:SCREEN-VALUE NO-ERROR. 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. */ 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_MANDANT ( INPUT CB_Mandant:HANDLE ). RUN COMBO_MWSTKUND ( INPUT CB_MWSTExkl:HANDLE ). RUN COMBO_MWSTKUND ( INPUT CB_MWSTInkl:HANDLE ). END. RUN SUPER. Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ). 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. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin PROCEDURE FEHLWERTE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT 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. GET-KEY-VALUE SECTION 'Fw???????' 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 'Fw???????' KEY FwFeld VALUE FwValue. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR. END. 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 Datum AS DATE 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 ''. 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 'Fwc08' THEN DO: IF FeldInhalt = ? OR FeldInhalt = '' OR FeldInhalt = ' . . ' OR FeldInhalt = '00.00.0000' THEN DO: FeldInhalt = STRING(DATE(01,01,YEAR(TODAY)),'99.99.9999'). SELF:SCREEN-VALUE = FeldInhalt. END. Datum = DATE(FeldInhalt) NO-ERROR. IF Datum = ? THEN DO: MESSAGE 'ungültiges datum ' feldinhalt VIEW-AS ALERT-BOX. RETURN 'ERROR'. END. SELF:SCREEN-VALUE = STRING(Datum,'99.99.9999'). END. END CASE. 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 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 ''. 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: 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: ------------------------------------------------------------------------------*/ DEF VAR cFeld AS CHAR NO-UNDO. DEF VAR Datum AS DATE NO-UNDO. DO WITH FRAME {&FRAME-NAME}: cFeld = rowObject.Fwc08:SCREEN-VALUE. IF cFeld = ? OR cFeld = '' OR cFeld = ' . . ' OR cFeld = '00.00.0000' THEN DO: cFeld = STRING(DATE(01,01,YEAR(TODAY)),'99.99.9999'). END. Datum = DATE(cFeld) NO-ERROR. IF Datum = ? THEN DO: Datum = DATE(01,01,YEAR(TODAY)). cFeld = STRING(Datum,'99.99.9999'). END. rowObject.Fwc08:SCREEN-VALUE = cFeld. END. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME