&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gDialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDialog /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM2 SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR MaxPage AS INT NO-UNDO. DEF VAR AktSeite AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR VFirma AS CHAR FORMAT "x(10)" NO-UNDO. DEF VAR VSprcd AS INT NO-UNDO. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE. DEF TEMP-TABLE TFemeld NO-UNDO LIKE Femeld. DEF TEMP-TABLE TProVerz NO-UNDO LIKE ProVerz. DEF TEMP-TABLE TLiBild NO-UNDO LIKE LiBild. DEF TEMP-TABLE TTabel NO-UNDO LIKE Tabel. DEF TEMP-TABLE TSchrift NO-UNDO LIKE Schrift. DEF TEMP-TABLE TDrucker NO-UNDO LIKE Drucker. DEF TEMP-TABLE TDebUms LIKE Debums. DEF TEMP-TABLE TSavko LIKE Savko FIELD RID AS RECID. DEF TEMP-TABLE TAbwPrGrp LIKE AbwPrGrp FIELD RID AS RECID. DEF TEMP-TABLE TDebst LIKE Debst FIELD RID AS RECID. DEF TEMP-TABLE TAufko LIKE Aufko FIELD RID AS RECID. DEF TEMP-TABLE TArtStaff LIKE ArtStaff FIELD RID AS RECID. DEF TEMP-TABLE TArtPreis LIKE ArtPreis FIELD RID AS RECID. DEF TEMP-TABLE TArtKanal LIKE ArtKanal FIELD RID AS RECID. DEF TEMP-TABLE TAktPreis LIKE AktPreis FIELD RID AS RECID. DEF TEMP-TABLE TAktionen LIKE Aktionen FIELD RID AS RECID. DEF TEMP-TABLE TInterf LIKE Interf. DEF TEMP-TABLE TArtbw LIKE Artbw. DEF WORKFILE WMWST FIELD Ansatz AS DEC FIELD Code AS INT. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDialog &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER DIALOG-BOX &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME gDialog /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-18 RECT-19 T_Femeld F_Erf_1 F_Mut_1 ~ T_ProVerz F_Erf_2 F_Mut_2 T_LiBild F_Erf_3 F_Mut_3 T_Tabel F_Erf_4 F_Mut_4 ~ T_Schrift F_Erf_5 F_Mut_5 T_Drucker F_Erf_6 F_Mut_6 T_Auftrag Btn_OK ~ Btn_Cancel &Scoped-Define DISPLAYED-OBJECTS T_Femeld F_Erf_1 F_Mut_1 T_ProVerz F_Erf_2 ~ F_Mut_2 T_LiBild F_Erf_3 F_Mut_3 T_Tabel F_Erf_4 F_Mut_4 T_Schrift F_Erf_5 ~ F_Mut_5 T_Drucker F_Erf_6 F_Mut_6 T_Korr T_Auftrag /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_Erf_1 F_Mut_1 F_Erf_2 F_Mut_2 F_Erf_3 F_Mut_3 ~ F_Erf_4 F_Mut_4 F_Erf_5 F_Mut_5 F_Erf_6 F_Mut_6 &Scoped-define List-2 T_Femeld T_ProVerz T_LiBild T_Tabel T_Schrift ~ T_Drucker T_Korr T_Auftrag /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Cancel AUTO-END-KEY LABEL "&Abbrechen" SIZE 12 BY 1. DEFINE BUTTON Btn_OK AUTO-GO LABEL "&Starten" SIZE 12 BY 1. DEFINE VARIABLE F_Erf_1 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Erf_2 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Erf_3 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Erf_4 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Erf_5 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Erf_6 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_1 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_2 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_3 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_4 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_5 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Mut_6 AS INTEGER FORMAT "zzz,zz9":U INITIAL 0 VIEW-AS FILL-IN SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-18 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 60 BY 1.48. DEFINE RECTANGLE RECT-19 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 60 BY 9.05. DEFINE VARIABLE T_Auftrag AS LOGICAL INITIAL no LABEL "Aufträge ohne Datum" VIEW-AS TOGGLE-BOX SIZE 47.4 BY 1 NO-UNDO. DEFINE VARIABLE T_Drucker AS LOGICAL INITIAL no LABEL "Drucker" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. DEFINE VARIABLE T_Femeld AS LOGICAL INITIAL no LABEL "Meldungen" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. DEFINE VARIABLE T_Korr AS LOGICAL INITIAL no LABEL "Korrekturprogramm durchführen ?" VIEW-AS TOGGLE-BOX SIZE 47.4 BY 1 NO-UNDO. DEFINE VARIABLE T_LiBild AS LOGICAL INITIAL no LABEL "Listenbilder" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. DEFINE VARIABLE T_ProVerz AS LOGICAL INITIAL no LABEL "Programmverzeichnis" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. DEFINE VARIABLE T_Schrift AS LOGICAL INITIAL no LABEL "Schriften" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. DEFINE VARIABLE T_Tabel AS LOGICAL INITIAL no LABEL "Tabelle" VIEW-AS TOGGLE-BOX SIZE 26 BY 1 NO-UNDO. /* ************************ Frame Definitions *********************** */ DEFINE FRAME gDialog T_Femeld AT ROW 3 COL 4 F_Erf_1 AT ROW 3 COL 31 COLON-ALIGNED NO-LABEL F_Mut_1 AT ROW 3 COL 45 COLON-ALIGNED NO-LABEL T_ProVerz AT ROW 4 COL 4 F_Erf_2 AT ROW 4 COL 31 COLON-ALIGNED NO-LABEL F_Mut_2 AT ROW 4 COL 45 COLON-ALIGNED NO-LABEL T_LiBild AT ROW 5 COL 4 F_Erf_3 AT ROW 5 COL 31 COLON-ALIGNED NO-LABEL F_Mut_3 AT ROW 5 COL 45 COLON-ALIGNED NO-LABEL T_Tabel AT ROW 6 COL 4 F_Erf_4 AT ROW 6 COL 31 COLON-ALIGNED NO-LABEL F_Mut_4 AT ROW 6 COL 45 COLON-ALIGNED NO-LABEL T_Schrift AT ROW 7 COL 4 F_Erf_5 AT ROW 7 COL 31 COLON-ALIGNED NO-LABEL F_Mut_5 AT ROW 7 COL 45 COLON-ALIGNED NO-LABEL T_Drucker AT ROW 8 COL 4 F_Erf_6 AT ROW 8 COL 31 COLON-ALIGNED NO-LABEL F_Mut_6 AT ROW 8 COL 45 COLON-ALIGNED NO-LABEL T_Korr AT ROW 9.48 COL 4 T_Auftrag AT ROW 10.52 COL 4 Btn_OK AT ROW 12 COL 13.2 Btn_Cancel AT ROW 12 COL 30.4 "Mutationen" VIEW-AS TEXT SIZE 13 BY 1 AT ROW 1.48 COL 46.6 "Neuzugänge" VIEW-AS TEXT SIZE 13 BY 1 AT ROW 1.48 COL 31.4 RECT-18 AT ROW 1.24 COL 3 RECT-19 AT ROW 2.76 COL 3 SPACE(1.99) SKIP(1.56) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Installieren/Korrigieren" DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Design Page: 1 Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDialog /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR DIALOG-BOX gDialog FRAME-NAME */ ASSIGN FRAME gDialog:SCROLLABLE = FALSE FRAME gDialog:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Erf_1 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Erf_2 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Erf_3 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Erf_4 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Erf_5 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Erf_6 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_1 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_2 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_3 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_4 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_5 IN FRAME gDialog 1 */ /* SETTINGS FOR FILL-IN F_Mut_6 IN FRAME gDialog 1 */ /* SETTINGS FOR TOGGLE-BOX T_Auftrag IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_Drucker IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_Femeld IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_Korr IN FRAME gDialog NO-ENABLE 2 */ /* SETTINGS FOR TOGGLE-BOX T_LiBild IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_ProVerz IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_Schrift IN FRAME gDialog 2 */ /* SETTINGS FOR TOGGLE-BOX T_Tabel IN FRAME gDialog 2 */ /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDialog /* Query rebuild information for DIALOG-BOX gDialog _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gDialog */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gDialog &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON END-ERROR OF FRAME gDialog /* Installieren/Korrigieren */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON GO OF FRAME gDialog /* Installieren/Korrigieren */ DO: IF SAktiv THEN DO: RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDialog gDialog ON WINDOW-CLOSE OF FRAME gDialog /* Installieren/Korrigieren */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Cancel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gDialog ON CHOOSE OF Btn_Cancel IN FRAME gDialog /* Abbrechen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gDialog ON CHOOSE OF Btn_OK IN FRAME gDialog /* Starten */ DO: RUN INSTALL. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDialog /* *************************** Main Block *************************** */ MaxPage = 1. AktSeite = 1. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. IF SAktiv THEN VFirma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR. SESSION:DATA-ENTRY-RETURN = TRUE. SUBSCRIBE TO 'TOOLBAR' ANYWHERE. /* TRIGGERS ------------------------------------------------------ */ ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN NEXTPAGE. END. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN PREVPAGE. END. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE DO: RUN ENTRY_CURSOR. END. /* ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ). END. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ). END. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ). END. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ). END. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ). END. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ). END. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ). END. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ). END. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ). END. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR. IF FMutFlag = FALSE THEN DO: RUN ENDE. RETURN NO-APPLY. END. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ). RETURN NO-APPLY. END. */ /* ------------------------------------------------------------------ */ {src/adm2/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABFUELLUNG gDialog PROCEDURE ABFUELLUNG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Artnr AS INT NO-UNDO. DEF VAR Inhalt AS INT NO-UNDO. DEF VAR Jahr AS INT NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO INIT '1000'. EMPTY TEMP-TABLE TArtbw. FOR EACH Artbw USE-INDEX Artbw-k8 WHERE Artbw.Firma = Firma AND Artbw.Tr_Art = 9 NO-LOCK: IF Artbw.Datum < 01/01/2003 THEN LEAVE. CREATE TArtbw. BUFFER-COPY Artbw TO TArtbw. END. FOR EACH TArtbw BY TArtbw.Trnr: IF ENTRY(1, TArtbw.Bez2, ';') = 'A' THEN DO: Artnr = TArtbw.Artnr. Inhalt = TArtbw.Inhalt. Jahr = TArtbw.Jahr. NEXT. END. IF ENTRY(1, TArtbw.Bez2, ';') = 'B' THEN DO: ENTRY(2, TArtbw.Bez2, ';') = STRING(Artnr ,'999999'). ENTRY(3, TArtbw.Bez2, ';') = STRING(Inhalt,'9999'). ENTRY(4, TArtbw.Bez2, ';') = STRING(Jahr ,'9999'). FIND Artbw OF TArtbw. Artbw.Bez2 = TArtbw.Bez2. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDialog _ADM-CREATE-OBJECTS PROCEDURE adm-create-objects : /*------------------------------------------------------------------------------ Purpose: Create handles for all SmartObjects used in this procedure. After SmartObjects are initialized, then SmartLinks are added. Parameters: ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGKORR gDialog PROCEDURE AUFTRAGKORR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR hRecord AS HANDLE NO-UNDO. DEF VAR cTotale AS CHAR NO-UNDO. DEF VAR cKorr AS CHAR NO-UNDO. FOR EACH Aufze NO-LOCK WHERE Aufze.Firma = VFirma AND Aufze.Artnr > 0 BREAK BY Aufze.Firma BY Aufze.Aufnr : IF NOT FIRST-OF ( Aufze.Aufnr ) THEN NEXT. FIND Aufko OF Aufze NO-LOCK NO-ERROR. IF AVAILABLE Aufko THEN NEXT. FIND Artbw OF Aufze NO-LOCK NO-ERROR. IF NOT AVAILABLE Artbw THEN NEXT. FIND Debst NO-LOCK USE-INDEX Debst-k1 WHERE Debst.Firma = Artbw.Firma AND Debst.Knr = Artbw.Knr NO-ERROR. CREATE Aufko. ASSIGN Aufko.Firma = Aufze.Firma Aufko.Aufnr = Aufze.Aufnr Aufko.Knr = Artbw.Knr Aufko.Fak_Art = Artbw.Fak_Art Aufko.Auf_Datum = Artbw.Datum Aufko.Fak_Datum = Artbw.Fak_Dat Aufko.Faknr = Artbw.Faknr Aufko.MWST = 0. END. cKorr = ''. FOR EACH Aufko WHERE Aufko.Firma = VFirma AND (Aufko.Auf_Datum = ? OR Aufko.Lief_Datum = ? OR Aufko.Kond_Datum = ? OR Aufko.MWST = 0): FIND Debst NO-LOCK USE-INDEX Debst-k1 WHERE Debst.Firma = Aufko.Firma AND Debst.Knr = Aufko.Knr NO-ERROR. ASSIGN Aufko.Kond = Debst.Kond Aufko.Preis_Grp = Debst.Preis_Grp Aufko.Rab_Grp = Debst.Rab_Grp Aufko.Ku_Grp = Debst.Ku_Grp Aufko.MWSt = Debst.MWSt. cKorr = cKorr + 'Aufnr = ' + STRING(Aufko.Aufnr,'999999 ') + 'Knr = ' + STRING(Aufko.Knr ,'999999 ') + CHR(10) + CHR(13). FIND FIRST Aufze OF Aufko WHERE Aufze.Artnr <> 0 AND Aufze.Trnr <> 0 NO-LOCK NO-ERROR. IF NOT AVAILABLE Aufze THEN NEXT. FIND Artbw OF Aufze NO-LOCK NO-ERROR. Aufko.Auf_Datum = Artbw.Datum. IF Aufko.Faknr <> 0 THEN DO: ASSIGN Aufko.Lief_Datum = Artbw.Fak_Dat Aufko.Kond_Datum = Artbw.Fak_Dat Aufko.Fak_Datum = Artbw.Fak_Dat. END. ELSE DO: ASSIGN Aufko.Lief_Datum = Artbw.Datum Aufko.Kond_Datum = Artbw.Datum. END. IF Aufko.Kond_Datum = ? THEN Aufko.Kond_Datum = Artbw.Datum. IF Aufko.Lief_Datum = ? THEN Aufko.Lief_Datum = Artbw.Datum. IF Aufko.Fak_Datum = ? THEN Aufko.Fak_Datum = Artbw.Datum. FOR EACH Aufze OF Aufko WHERE Aufze.Artnr <> 0: FIND Artst OF Aufze NO-LOCK. FIND Wust USE-INDEX Wust-k1 WHERE Wust.CodeK = Aufko.MWST AND Wust.CodeA = Artst.MWST. FIND LAST MWSTAns USE-INDEX MWSTAns-k1 WHERE MWSTAns.MWST_Cd = Wust.Wucd AND MWSTAns.Datum <= Aufko.Kond_Datum NO-LOCK. ASSIGN Aufze.WC = Artst.MWST Aufze.WuCd = MWSTAns.MWST_Cd Aufze.MWST% = MWSTAns.Ansatz Aufze.MWST_Inkl = Wust.Incl. hRecord = BUFFER Aufze:HANDLE. RUN BUFFER_TO_TAUFZE ( INPUT-OUTPUT hRecord ). RUN ZEILEN_BETRAEGE. RUN TAUFZE_TO_BUFFER ( INPUT-OUTPUT hRecord ). END. RUN AUFTRAGSTOTAL ( INPUT Aufko.Aufnr, OUTPUT cTotale ). END. MESSAGE 'Korrigierte/wiedergefundene Aufträge' SKIP(1) cKorr SKIP(1) 'Bitte kontrollieren und mutieren ' VIEW-AS ALERT-BOX INFORMATION. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BESTRUECK gDialog PROCEDURE BESTRUECK : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FOR EACH Besko WHERE Besko.Firma = Firma AND Besko.Besnr = 2459 : Best_Sta = Best_Sta - 1. END. FOR EACH Besko WHERE Besko.Firma = Firma AND Besko.Besnr = 2452 : Best_Sta = Best_Sta - 1. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gDialog PROCEDURE changePage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */ /* RUN ToolbarInit ( INPUT h_d-auftr ). */ RUN ENTRY_CURSOR. END. WHEN 2 THEN DO: RUN ENTRY_CURSOR. END. END CASE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDialog _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 gDialog. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDialog PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. IF SAktiv THEN RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDialog _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: Notes: Here we display/view/enable the widgets in the user-interface. In addition, OPEN all queries associated with each FRAME and BROWSE. These statements here are based on the "Other Settings" section of the widget Property Sheets. ------------------------------------------------------------------------------*/ DISPLAY T_Femeld F_Erf_1 F_Mut_1 T_ProVerz F_Erf_2 F_Mut_2 T_LiBild F_Erf_3 F_Mut_3 T_Tabel F_Erf_4 F_Mut_4 T_Schrift F_Erf_5 F_Mut_5 T_Drucker F_Erf_6 F_Mut_6 T_Korr T_Auftrag WITH FRAME gDialog. ENABLE RECT-18 RECT-19 T_Femeld F_Erf_1 F_Mut_1 T_ProVerz F_Erf_2 F_Mut_2 T_LiBild F_Erf_3 F_Mut_3 T_Tabel F_Erf_4 F_Mut_4 T_Schrift F_Erf_5 F_Mut_5 T_Drucker F_Erf_6 F_Mut_6 T_Auftrag Btn_OK Btn_Cancel WITH FRAME gDialog. VIEW FRAME gDialog. {&OPEN-BROWSERS-IN-QUERY-gDialog} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDialog PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR. IF AktSeite > 1 THEN DO: RUN selectPage ( INPUT 1 ). RETURN NO-APPLY. END. IF SAktiv THEN DO: RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). END. APPLY 'GO' TO FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gDialog PROCEDURE ENTRY_CURSOR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */ /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */ /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */ /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */ /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */ /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */ /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */ END CASE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDialog PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDEKORR gDialog PROCEDURE GEBINDEKORR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR MW AS INT NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. FOR EACH Aufko USE-INDEX Aufko-k1 WHERE Aufko.Firma = '1000' AND Aufko.Auf_Datum >= 08/23/2002 NO-LOCK: FOR EACH AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = Aufko.Firma AND AufGKon.Aufnr = Aufko.Aufnr: AufGKon.Ausgang = 0. END. FOR EACH Aufze OF Aufko NO-LOCK: IF Aufze.Artnr = 0 THEN NEXT. /* ------------------------------------------ */ /* Gebinde-Konto-Kontrolle */ /* ------------------------------------------ */ DO WHILE Aufze.KGebKto <> '': IF Aufze.KGeb_Me = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = Aufze.Firma AND GebKonto.Geb_Cd = Aufze.KGebKto NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = Aufze.Firma AND AufGKon.Aufnr = Aufze.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = Aufze.Firma AufGKon.Aufnr = Aufze.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. DO WHILE TRUE: IF NOT Aufko.GG_Berech THEN LEAVE. IF Aufze.Preis = 0 AND AufGKon.Gebuehr <> 0 THEN LEAVE. AufGKon.Ausgang = AufGKon.Ausgang + Aufze.KGeb_Me. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. LEAVE. END. DO WHILE Aufze.VGebKto <> '': IF Aufze.VGeb_Me = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = Aufze.Firma AND GebKonto.Geb_Cd = Aufze.VGebKto NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = Aufze.Firma AND AufGKon.Aufnr = Aufze.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = Aufze.Firma AufGKon.Aufnr = Aufze.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. DO WHILE TRUE: IF NOT Aufko.GG_Berech THEN LEAVE. IF Aufze.Preis = 0 AND AufGKon.Gebuehr <> 0 THEN LEAVE. AufGKon.Ausgang = AufGKon.Ausgang + Aufze.VGeb_Me. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. LEAVE. END. DO WHILE Aufze.GGebKto <> '': IF Aufze.GGeb_Me = 0 THEN LEAVE. FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = Aufze.Firma AND GebKonto.Geb_Cd = Aufze.GGebKto NO-LOCK. IF GebKonto.MWST_Art = 0 THEN MW = 11. IF GebKonto.MWST_Art = 1 THEN MW = Aufze.WuCd. IF GebKonto.MWST_Art = 2 THEN MW = GebKonto.MWST_Cd. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = Aufze.Firma AND AufGKon.Aufnr = Aufze.Aufnr AND AufGKon.Geb_Cd = GebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = Aufze.Firma AufGKon.Aufnr = Aufze.Aufnr AufGKon.Geb_Cd = GebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = GebKonto.Gebuehr AufGKon.Depot = GebKonto.Depot AufGKon.Sort_Cd = GebKonto.Sort_Cd. END. DO WHILE TRUE: IF NOT Aufko.GG_Berech THEN LEAVE. IF Aufze.Preis = 0 AND AufGKon.Gebuehr <> 0 THEN LEAVE. AufGKon.Ausgang = AufGKon.Ausgang + Aufze.GGeb_Me. AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). LEAVE. END. LEAVE. END. END. RUN AUFTRAGSTOTAL ( INPUT Aufko.Aufnr, OUTPUT cString ). END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE HUBERMUTATIONEN gDialog PROCEDURE HUBERMUTATIONEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ FOR EACH Debst: DO WHILE TRUE: IF Debst.Fak_Art = 80 THEN LEAVE. IF Debst.Fak_Art = 11 THEN LEAVE. IF Debst.Fak_Art = 21 THEN LEAVE. CASE Debst.Fak_Art: WHEN 01 THEN Debst.Fak_Art = 04. WHEN 05 THEN Debst.Fak_Art = 06. WHEN 03 THEN Debst.Fak_Art = 04. WHEN 07 THEN Debst.Fak_Art = 06. END CASE. LEAVE. END. DO WHILE TRUE: IF Debst.Kond = 10 THEN LEAVE. CASE Debst.Kond: WHEN 00 THEN Debst.Kond = 10. OTHERWISE Debst.Kond = 03. END CASE. LEAVE. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INSTALL gDialog PROCEDURE INSTALL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ F_Erf_1 = 0. F_Erf_2 = 0. F_Erf_3 = 0. F_Erf_4 = 0. F_Erf_5 = 0. F_Erf_6 = 0. F_Mut_1 = 0. F_Mut_2 = 0. F_Mut_3 = 0. F_Mut_4 = 0. F_Mut_5 = 0. F_Mut_6 = 0. DO WITH FRAME {&FRAME-NAME}: DISPLAY {&List-1}. ASSIGN {&List-2}. DISABLE {&List-2}. DISABLE Btn_OK. DISABLE Btn_Cancel. END. DO WHILE T_Femeld = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("Femeld.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TFemeld. INPUT FROM Femeld.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTIO ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TFemeld. IMPORT TFemeld. END. INPUT CLOSE. FOR EACH TFemeld: FIND Femeld OF TFemeld NO-ERROR. IF AVAILABLE Femeld THEN F_Mut_1 = F_Mut_1 + 1. ELSE DO: CREATE Femeld. F_Erf_1 = F_Erf_1 + 1. END. BUFFER-COPY TFemeld TO Femeld. DISPLAY F_Erf_1 F_Mut_1. END. T_Femeld = FALSE. DISPLAY T_Femeld. LEAVE. END. DO WHILE T_ProVerz = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("ProVerz.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TProVerz. INPUT FROM ProVerz.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTIO ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TProVerz. IMPORT TProVerz. END. INPUT CLOSE. FOR EACH TProVerz: FIND ProVerz OF TProVerz NO-ERROR. IF AVAILABLE ProVerz THEN F_Mut_2 = F_Mut_2 + 1. ELSE DO: CREATE ProVerz. F_Erf_2 = F_Erf_2 + 1. END. BUFFER-COPY TProVerz TO ProVerz. DISPLAY F_Erf_2 F_Mut_2. END. T_ProVerz = FALSE. DISPLAY T_ProVerz. LEAVE. END. DO WHILE T_LiBild = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("LiBild.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TLiBild. INPUT FROM LiBild.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTION ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TLiBild. IMPORT TLiBild. END. INPUT CLOSE. FOR EACH TLiBild: FIND LiBild OF TLiBild NO-ERROR. IF AVAILABLE LiBild THEN F_Mut_3 = F_Mut_3 + 1. ELSE DO: CREATE LiBild. F_Erf_3 = F_Erf_3 + 1. END. BUFFER-COPY TLiBild TO LiBild. DISPLAY F_Erf_3 F_Mut_3. END. T_LiBild = FALSE. DISPLAY T_LiBild. LEAVE. END. DO WHILE T_Tabel = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("Tabel.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TTabel. INPUT FROM Tabel.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTIO ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TTabel. IMPORT TTabel. END. INPUT CLOSE. FOR EACH TTabel: FIND Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = TTabel.Firma AND Tabel.RecArt = TTabel.RecArt AND Tabel.CodeC = TTabel.CodeC AND Tabel.CodeI = TTabel.CodeI AND Tabel.Sprcd = TTabel.Sprcd NO-ERROR. IF AVAILABLE Tabel THEN F_Mut_4 = F_Mut_4 + 1. ELSE DO: CREATE Tabel. F_Erf_4 = F_Erf_4 + 1. END. BUFFER-COPY TTabel TO Tabel. DISPLAY F_Erf_4 F_Mut_4. END. T_Tabel = FALSE. DISPLAY T_Tabel. LEAVE. END. DO WHILE T_Schrift = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("Schrift.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TSchrift. INPUT FROM Schrift.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTIO ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TSchrift. IMPORT TSchrift. END. INPUT CLOSE. FOR EACH TSchrift: FIND Schrift OF TSchrift NO-ERROR. IF AVAILABLE Schrift THEN F_Mut_5 = F_Mut_5 + 1. ELSE DO: CREATE Schrift. F_Erf_5 = F_Erf_5 + 1. END. BUFFER-COPY TSchrift TO Schrift. DISPLAY F_Erf_5 F_Mut_5. END. T_Schrift = FALSE. DISPLAY T_Schrift. LEAVE. END. DO WHILE T_Drucker = TRUE WITH FRAME {&FRAME-NAME}: IF SEARCH("Drucker.d") = ? THEN LEAVE. EMPTY TEMP-TABLE TDrucker. INPUT FROM Drucker.d NO-ECHO NO-MAP NO-CONVERT. REPEAT TRANSACTIO ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT. CREATE TDrucker. IMPORT TDrucker. END. INPUT CLOSE. FOR EACH TDrucker: FIND Drucker OF TDrucker NO-ERROR. IF AVAILABLE Drucker THEN F_Mut_6 = F_Mut_6 + 1. ELSE DO: CREATE Drucker. F_Erf_6 = F_Erf_6 + 1. END. BUFFER-COPY TDrucker TO Drucker. DISPLAY F_Erf_6 F_Mut_6. END. T_Drucker = FALSE. DISPLAY T_Drucker. LEAVE. END. /* IF T_Korr THEN RUN KORREKTUR. IF T_Korr THEN RUN PREISGRUPPEN. IF T_Korr THEN RUN GEBINDEKORR. IF T_Korr THEN RUN INTERFACEKORREKTUR. IF T_Korr THEN RUN BESTRUECK. IF T_Korr THEN RUN SESAM. IF T_Korr THEN RUN ABFUELLUNG. */ IF T_Korr THEN RUN KORREKTUR. IF T_Auftrag THEN RUN AUFTRAGKORR. DO WITH FRAME {&FRAME-NAME}: T_Korr = FALSE. T_Auftrag = FALSE. DISPLAY {&List-1}. DISPLAY {&List-2}. ENABLE {&List-2}. ENABLE Btn_OK. ENABLE Btn_Cancel. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INTERFACEKORREKTUR gDialog PROCEDURE INTERFACEKORREKTUR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Wpfl AS DEC NO-UNDO. DEF VAR Wust AS DEC NO-UNDO. EMPTY TEMP-TABLE TInterf. FOR EACH Debop WHERE Debop.Firma = VFirma AND Debop.Fakdat >= 01/01/2002 NO-LOCK. IF Debop.FakWpfl[01] = 0 AND Debop.FakWpfl[02] = 0 THEN NEXT. Wpfl = Debop.FakWpfl[01] + Debop.FakWpfl[02]. Wust = Debop.FakWust[01] + Debop.FakWust[02]. FIND FIRST Interf USE-INDEX Interf-k1 WHERE Interf.Firma = Debop.Firma AND Interf.TrNr1 = Debop.TrNr1 AND Interf.TrNr2 = Debop.TrNr2 AND Interf.Kto1 = Debop.Konto AND Interf.Kto2 = "2080" NO-LOCK NO-ERROR. IF AVAILABLE Interf THEN DO: IF Interf.Betrag = Wust THEN NEXT. Wust = Wust - Interf.Betrag. END. FIND LAST Interf USE-INDEX Interf-k1 WHERE Interf.Firma = Debop.Firma AND Interf.TrNr1 = Debop.TrNr1 AND Interf.TrNr2 = Debop.TrNr2 NO-LOCK. CREATE TInterf. BUFFER-COPY Interf TO TInterf ASSIGN TInterf.Trnr = Interf.Trnr + 1 TInterf.Verbucht = FALSE TInterf.Kto1 = '1055' TInterf.Kto2 = '2080' TInterf.Betrag = Wust TInterf.Betrag_FRW = Wust. END. FOR EACH TInterf: CREATE Interf. BUFFER-COPY TInterf TO Interf. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KORREKTUR gDialog PROCEDURE KORREKTUR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ /* FOR EACH Artst: Artst.Bestellt = 0. FOR EACH Besze USE-INDEX Besze-k2 WHERE Besze.Firma = Artst.Firma AND Besze.Artnr = Artst.Artnr AND Besze.Inhalt = Artst.Inhalt AND Besze.Jahr = Artst.Jahr NO-LOCK, FIRST Besko USE-INDEX Besko-k1 WHERE Besko.Firma = Besze.Firma AND Besko.Besnr = Besze.Besnr AND Besko.Best_Sta < 3 NO-LOCK: Artst.Bestellt = Artst.Bestellt + Besze.MBest. END. END. DEF VAR ix AS INT NO-UNDO. DEF VAR VDat AS DATE NO-UNDO. DEF VAR BDat AS DATE NO-UNDO. DEF BUFFER BArtbw FOR Artbw. FOR EACH Besze: IF Besze.Preis <> ? AND Besze.Ep <> ? AND Besze.S_preis <> ? AND Besze.S_preis_frw <> ? AND Besze.L_EP <> ? AND Besze.L_EP_FRW <> ? AND Besze.Alter_Listen_ep <> ? AND Besze.Alter_Ep <> ? THEN NEXT. FIND Artst OF Besze NO-LOCK NO-ERROR. IF NOT AVAILABLE Artst THEN NEXT. FIND FIRST ArtLief OF Artst NO-LOCK NO-ERROR. IF NOT AVAILABLE ArtLief THEN NEXT. IF Besze.S_Preis = ? THEN Besze.S_Preis = Besze.S_Preis_FRW. IF Besze.S_Preis_FRW = ? THEN Besze.S_Preis_FRW = Besze.S_Preis. IF Besze.L_EP = ? THEN Besze.L_EP = Besze.S_Preis. IF Besze.L_EP_FRW = ? THEN Besze.L_EP_FRW = Besze.L_EP. IF Besze.Alter_EP = ? THEN Besze.Alter_EP = Besze.L_EP. IF Besze.Preis = ? THEN Besze.Preis = Besze.S_Preis. IF Besze.EP = ? THEN Besze.EP = Besze.S_Preis. IF Besze.EP = 0 THEN Besze.EP = Besze.S_Preis. IF Besze.Trnr > 0 THEN DO: FIND Artbw USE-INDEX Artbw-k1 WHERE Artbw.Firma = Besze.Firma AND Artbw.Trnr = Besze.Trnr NO-ERROR. IF AVAILABLE Artbw THEN DO: ASSIGN Artbw.Preis = Besze.Preis Artbw.Bru_Betr = Besze.Preis * Besze.MGeli Artbw.Net_Betr = Besze.Preis * Besze.MGeli Artbw.FRW = Besze.FRW Artbw.Faktor = Besze.Faktor Artbw.Kurs = Besze.Kurs Artbw.Ep = Besze.EP. END. END. END. FOR EACH Artbw WHERE Artbw.Ep = ? OR Artbw.Preis = ?: FIND LAST BArtbw USE-INDEX Artbw-k2 WHERE BArtbw.Firma = Artbw.Firma AND BArtbw.Artnr = Artbw.Artnr AND BArtbw.Inhalt = Artbw.Inhalt AND BArtbw.Jahr = Artbw.Jahr AND BArtbw.Datum < Artbw.Datum AND BArtbw.Tr_Art = 11 NO-LOCK NO-ERROR. IF NOT AVAILABLE BArtbw THEN NEXT. IF Artbw.EP = ? THEN Artbw.EP = BArtbw.EP. IF Artbw.Preis = ? THEN DO: Artbw.Preis = BArtbw.Preis. Artbw.Bru_Betr = Artbw.Menge * Artbw.Preis. Artbw.Net_Betr = Artbw.Menge * Artbw.Preis. Artbw.FRW = 'CHF'. Artbw.Kurs = 1.0. Artbw.Faktor = 1. END. END. FOR EACH Artbw WHERE Artbw.Ep = ? OR Artbw.Preis = ?: FIND LAST BArtbw USE-INDEX Artbw-k2 WHERE BArtbw.Firma = Artbw.Firma AND BArtbw.Artnr = Artbw.Artnr AND BArtbw.Inhalt = Artbw.Inhalt AND BArtbw.Jahr = Artbw.Jahr AND BArtbw.Datum < Artbw.Datum NO-LOCK NO-ERROR. IF NOT AVAILABLE BArtbw THEN NEXT. IF Artbw.EP = ? THEN Artbw.EP = BArtbw.EP. IF Artbw.Preis = ? THEN DO: Artbw.Preis = BArtbw.Preis. Artbw.Bru_Betr = Artbw.Menge * Artbw.Preis. Artbw.Net_Betr = Artbw.Menge * Artbw.Preis. Artbw.FRW = 'CHF'. Artbw.Kurs = 1.0. Artbw.Faktor = 1. END. END. FOR EACH Savze WHERE Savze.EP = ?: FIND Artbw OF Savze NO-ERROR. IF NOT AVAILABLE Artbw THEN NEXT. Savze.EP = Artbw.EP. END. FOR EACH DebUms WHERE DebUms.EP_Kum = ?: DO ix = 1 TO 12: IF DebUms.Ep_Mon[ix] <> ? THEN NEXT. DebUms.EP_Mon[ix] = 0. VDat = DATE(ix,01,DebUms.Jahr). BDat = VDat + 27. DO WHILE TRUE. IF MONTH(BDat) <> MONTH(BDat + 1) THEN LEAVE. BDat = BDat + 1. END. FOR EACH Artbw USE-INDEX Artbw-k3 WHERE Artbw.Firma = DebUms.Firma AND Artbw.Knr = DebUms.Knr AND Artbw.Datum >= VDat AND Artbw.Datum <= BDat AND Artbw.Tr_Art < 11 NO-LOCK: DebUms.Ep_Mon[ix] = DebUms.Ep_Mon[ix] + (Artbw.Ep * Artbw.Menge). END. END. DebUms.Ep_Kum = 0. DO ix = 1 TO 12: DebUms.Ep_Kum = DebUms.Ep_Kum + DebUms.Ep_Mon[ix]. END. END. FOR EACH ArtUms WHERE ArtUms.EP_Kum = ?: DO ix = 1 TO 12: IF ArtUms.Ep_Mon[ix] <> ? THEN NEXT. ArtUms.EP_Mon[ix] = 0. VDat = DATE(ix,01,ArtUms.Jahr). BDat = VDat + 27. DO WHILE TRUE. IF MONTH(BDat) <> MONTH(BDat + 1) THEN LEAVE. BDat = BDat + 1. END. FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = ArtUms.Firma AND Artbw.Artnr = ArtUms.Artnr AND Artbw.Inhalt = ArtUms.Inhalt AND Artbw.Jahr = ArtUms.Jahrg AND Artbw.Datum >= VDat AND Artbw.Datum <= BDat AND Artbw.Tr_Art < 11 NO-LOCK: ArtUms.Ep_Mon[ix] = ArtUms.Ep_Mon[ix] + (Artbw.Ep * Artbw.Menge). END. END. ArtUms.Ep_Kum = 0. DO ix = 1 TO 12: ArtUms.Ep_Kum = ArtUms.Ep_Kum + ArtUms.Ep_Mon[ix]. END. END. FOR EACH DeArUms WHERE DeArUms.EP_Kum = ?: DO ix = 1 TO 12: IF DeArUms.Ep_Mon[ix] <> ? THEN NEXT. DeArUms.EP_Mon[ix] = 0. VDat = DATE(ix,01,DeArUms.Jahr). BDat = VDat + 27. DO WHILE TRUE. IF MONTH(BDat) <> MONTH(BDat + 1) THEN LEAVE. BDat = BDat + 1. END. FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = DeArUms.Firma AND Artbw.Artnr = DeArUms.Artnr AND Artbw.Inhalt = DeArUms.Inhalt AND Artbw.Jahr = DeArUms.Jahrg AND Artbw.Knr = DeArUms.Knr AND Artbw.Datum >= VDat AND Artbw.Datum <= BDat AND Artbw.Tr_Art < 11 NO-LOCK: DeArUms.Ep_Mon[ix] = DeArUms.Ep_Mon[ix] + (Artbw.Ep * Artbw.Menge). END. END. DeArUms.Ep_Kum = 0. DO ix = 1 TO 12: DeArUms.Ep_Kum = DeArUms.Ep_Kum + DeArUms.Ep_Mon[ix]. END. END. FOR EACH Artst WHERE Artst.DEP = ? OR Artst.LEP = ?: FIND LAST Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Artst.Firma AND Artbw.Artnr = Artst.Artnr AND Artbw.Inhalt = Artst.Inhalt AND Artbw.Jahr = Artst.Jahr NO-LOCK NO-ERROR. IF NOT AVAILABLE Artbw THEN DO: IF Artst.DEP = ? THEN Artst.DEP = Artst.Listen_EP. IF Artst.LEP = ? THEN Artst.LEP = Artst.Listen_EP. END. ELSE DO: IF Artst.DEP = ? THEN Artst.DEP = Artbw.EP. IF Artst.LEP = ? THEN Artst.LEP = Artbw.EP. END. END. FOR EACH ArtLief WHERE ArtLief.S_Preis = ? OR ArtLief.L_EP = ? OR ArtLief.S_Preis_FRW = ? OR ArtLief.L_EP_FRW = ?: FIND Artst OF ArtLief NO-LOCK. FIND LAST Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = ArtLief.Firma AND Artbw.Artnr = ArtLief.Artnr AND Artbw.Inhalt = ArtLief.Inhalt AND Artbw.Jahr = ArtLief.Jahr NO-LOCK NO-ERROR. IF NOT AVAILABLE Artbw THEN DO: IF ArtLief.S_Preis_FRW = ? THEN ArtLief.S_Preis_FRW = Artst.Listen_EP. IF ArtLief.L_EP_FRW = ? THEN ArtLief.L_EP_FRW = Artst.Listen_EP. IF ArtLief.S_Preis = ? THEN ArtLief.S_Preis = Artst.Listen_EP. IF ArtLief.L_EP = ? THEN ArtLief.L_EP = Artst.Listen_EP. END. ELSE DO: IF ArtLief.S_Preis_FRW = ? THEN ArtLief.S_Preis_FRW = Artbw.EP. IF ArtLief.L_EP_FRW = ? THEN ArtLief.L_EP_FRW = Artbw.EP. IF ArtLief.S_Preis = ? THEN ArtLief.S_Preis = Artbw.EP. IF ArtLief.L_EP = ? THEN ArtLief.L_EP = Artbw.EP. END. END. */ /* EMPTY TEMP-TABLE TTabel. FOR EACH Tabel USE-INDEX Tabel-k1 WHERE Tabel.Firma = '1000' AND Tabel.RecArt = 'PREGRP' NO-LOCK: CREATE TTabel. BUFFER-COPY Tabel TO TTabel. END. DEF VAR Ansatz AS DEC NO-UNDO. DEF VAR Betr AS DEC DECIMALS 4 NO-UNDO. DEF VAR EP AS DEC DECIMALS 4 NO-UNDO. DEF VAR ix AS INT NO-UNDO. FOR EACH Artst WHERE Artst.Firma = '1000' AND Artst.Aktiv = TRUE NO-LOCK: Ansatz = 0. IF Artst.MWST = 1 THEN Ansatz = 7.6. IF Artst.MWST = 3 THEN Ansatz = 2.4. EP = Artst.Listen_EP. IF EP = 0 THEN EP = Artst.LEP. IF EP = 0 THEN EP = Artst.DEP. FIND LAST ArtPreis USE-INDEX ArtPreis-k1 WHERE ArtPreis.Firma = Artst.Firma AND ArtPreis.Artnr = Artst.Artnr AND ArtPreis.Inhalt = Artst.Inhalt AND ArtPreis.Jahr = Artst.Jahr AND ArtPreis.Aktion = FALSE NO-ERROR. IF NOT AVAILABLE ArtPreis THEN NEXT. CASE ArtPreis.Preis_Grp: WHEN 01 OR WHEN 07 THEN DO: Betr = ArtPreis.VK_Brutto. DO ix = 1 TO 6: Betr = Betr * 100 / (100 + Ansatz). RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Betr). END. Betr = Betr * 100 / (100 + Ansatz). RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Betr). ArtPreis.VK_Netto = Betr. END. WHEN 02 OR WHEN 03 OR WHEN 04 OR WHEN 22 OR WHEN 23 OR WHEN 24 THEN DO: Betr = ArtPreis.VK_Brutto. DO ix = 1 TO 6: Betr = Betr * 100 / (100 + Ansatz). IF ix < 6 THEN RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Betr ). END. Betr = Betr * 100 / (100 + Ansatz). ArtPreis.VK_Netto = Betr. END. END CASE. FIND FIRST TTabel USE-INDEX Tabel-k1 WHERE TTabel.Firma = Artst.Firma AND TTabel.RecArt = 'PREGRP' AND TTabel.CodeI = ArtPreis.Preis_Grp NO-LOCK NO-ERROR. IF NOT AVAILABLE TTabel THEN NEXT. /* IF Tabel.INT_1 = 0 AND Tabel.CodeI < 7 THEN DO: Betr = ArtPreis.VK_Netto * (100 + Ansatz) / 100. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Betr ). ArtPreis.VK_Brutto = Betr. IF EP <> 0 THEN ArtPreis.Marge = 100 - (EP * 100 / ArtPreis.VK_Netto). ELSE ArtPreis.Marge = 0. NEXT. END. IF TTabel. THEN IF TTabel.INT_1 = 1 THEN DO: Betr = ArtPreis.VK_Brutto * 100 / (100 + Ansatz). ArtPreis.VK_Netto = Betr. END. ELSE DO: Betr = ArtPreis.VK_Netto * (100 + Ansatz) / 100. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Betr ). ArtPreis.VK_Brutto = Betr. END. */ IF EP <> 0 THEN ArtPreis.Marge = 100 - (EP * 100 / ArtPreis.VK_Netto). ELSE ArtPreis.Marge = 0. END. FOR EACH Artst WHERE Artst.Ausverk = 1: Artst.Ausverk = 9. END. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LAGERKONTROLLE gDialog PROCEDURE LAGERKONTROLLE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR LXDatum AS DATE NO-UNDO. DEF VAR VMW AS INT NO-UNDO. DEF VAR xx AS INT NO-UNDO. DEF VAR xAnsatz AS DEC NO-UNDO. FIND Steuer USE-INDEX Steuer-k1 WHERE Steuer.Firma = VFirma NO-LOCK NO-ERROR. FOR EACH Besko WHERE Besko.Firma = VFirma AND Besko.Best_Sta > 2 AND Besko.Buch_Datum > 01/01/2002 NO-LOCK: LXDatum = Besko.Buch_Datum. REPEAT TRANSACTION: FOR EACH Besze OF Besko: IF Besze.Artnr = 0 THEN NEXT. IF Besze.MGeli = 0 THEN NEXT. xx = 0. IF Besze.Trnr > 0 THEN DO: FIND Artbw USE-INDEX Artbw-k1 WHERE Artbw.Firma = Besze.Firma AND Artbw.Trnr = Besze.Trnr NO-LOCK NO-ERROR. IF AVAILABLE Artbw THEN NEXT. xx = Besze.Trnr. END. FIND Artst USE-INDEX Artst-k1 WHERE Artst.Firma = Besze.Firma AND Artst.Artnr = Besze.Artnr AND Artst.Inhalt = Besze.Inhalt AND Artst.Jahr = Besze.Jahr. FIND KGebinde USE-INDEX KGebinde-k1 WHERE KGebinde.Firma = Besko.Firma AND KGebinde.Geb_Cd = Besze.KGeb_Cd NO-LOCK NO-ERROR. DO WHILE TRUE: IF xx = 0 THEN DO: FIND LAST Artbw USE-INDEX Artbw-k1 WHERE Artbw.Firma = Besko.Firma NO-LOCK NO-ERROR. IF AVAILABLE Artbw THEN xx = Artbw.Trnr + 1. ELSE xx = 1. END. FIND Wust USE-INDEX Wust-k1 WHERE Wust.CodeK = Steuer.MWST-Exkl AND Wust.CodeA = Artst.MWST NO-LOCK NO-ERROR. VMW = Wust.WuCd. XAnsatz = 0. FIND LAST MWSTAns USE-INDEX MWSTAns-k1 WHERE MWSTAns.MWSt_Cd = VMW AND MWSTAns.Datum <= LXDatum NO-LOCK NO-ERROR. IF AVAILABLE MWSTAns THEN XAnsatz = MWSTAns.Ansatz. CREATE Artbw. ASSIGN Artbw.Firma = Besko.Firma Artbw.Trnr = xx Artbw.Tr_Art = 11 Artbw.Artnr = Artst.Artnr Artbw.Inhalt = Artst.Inhalt Artbw.Jahr = Artst.Jahr Artbw.Bez1 = Besze.Bez1 Artbw.Bez2 = Besze.Bez2 Artbw.Knr = Besko.Knr Artbw.Menge = Besze.MGel Artbw.Alk_Gehalt = Artst.Alk_Gehalt Artbw.Aktion = Besze.Aktion Artbw.Sk_Ber = FALSE Artbw.Netto = FALSE Artbw.Lager = Besze.Lager Artbw.KGeb_Cd = Besze.KGeb_Cd Artbw.VGeb_Cd = Besze.VGeb_Cd Artbw.GGeb_Cd = Besze.GGeb_Cd Artbw.KGeb_Me = Besze.KGeb_Me Artbw.VGeb_Me = Besze.VGeb_Me Artbw.GGeb_Me = Besze.GGeb_Me Artbw.Preis = Besze.Preis Artbw.Bru_Betr = Besze.Preis * Besze.MGeli Artbw.Net_Betr = Besze.Preis * Besze.MGeli Artbw.Liter = Besze.MGeli * KGebinde.Inhalt / 100 Artbw.Gewicht = (Besze.MGeli * Artst.Gewicht) + KGebinde.Gewicht Artbw.Datum = LXDatum Artbw.Abhol = FALSE Artbw.FRW = 'CHF' Artbw.Faktor = 1 Artbw.Kurs = 1.0 Artbw.WC = Artst.MWST Artbw.WuCd = VMW Artbw.Aufnr = Besze.Besnr. ASSIGN Besze.Trnr = Artbw.Trnr. LEAVE. END. END. LEAVE. END. /* END TRANSACTION */ END. /* ENDE BESKO */ DEF VAR xWgr AS CHAR NO-UNDO. DEF VAR sWgr AS CHAR NO-UNDO. DEF VAR Inv AS DEC NO-UNDO. DEF VAR Aus AS DEC NO-UNDO. sWgr = ''. FOR EACH Artbw USE-INDEX Artbw-k6 WHERE Artbw.Firma = VFirma AND Artbw.Datum = 11/29/2001 AND Artbw.Tr_Art = 21 NO-LOCK: FIND Artst OF Artbw NO-LOCK. xWgr = STRING(Artst.Wg_Grp,"999"). IF LOOKUP(XWgr, sWgr, ',') > 0 THEN NEXT. IF sWgr <> '' THEN sWgr = sWgr + ','. sWgr = sWgr + STRING(Artst.Wg_Grp,"999"). END. FOR EACH Artst USE-INDEX Artst-k1 WHERE Artst.Firma = VFirma AND Artst.Lager = TRUE. xWgr = STRING(Artst.Wg_Grp,"999"). IF LOOKUP(xWgr, sWgr, ',') = 0 THEN NEXT. Inv = 0. Aus = 0. FOR EACH Artbw USE-INDEX Artbw-k2 WHERE Artbw.Firma = Artst.Firma AND Artbw.Artnr = Artst.Artnr AND Artbw.Inhalt = Artst.Inhalt AND Artbw.Jahr = Artst.Jahr AND Artbw.Datum = 11/29/2001 NO-LOCK: IF Artbw.Tr_Art = 21 THEN DO: Inv = Inv + Artbw.Menge. NEXT. END. IF Artbw.Aufnr < 21536 THEN NEXT. Aus = Aus + Artbw.Menge. END. FOR EACH ArtLager OF Artst: IF ArtLager.Lager <> 0 THEN NEXT. Artst.Bestand = Artst.Bestand + Aus. ArtLager.Bestand = ArtLager.Bestand + Aus. ArtLager.Inv_Best = ArtLager.Inv_Best - Inv. ASSIGN ArtLager.Bestand_Alt = ArtLager.Bestand ArtLager.Inv_Alt = ArtLager.Inv_Best ArtLager.Eingang = 0 ArtLager.Ausgang = Aus ArtLager.Inv_Best = Inv ArtLager.Datum_Inv = 11/29/2001. END. END. /* FOR EACH Artbw USE-INDEX Artbw-k6 WHERE Artbw.Firma = "1000" AND Artbw.Datum >= 01/01/2001 AND Artbw.MWST% = 0 AND Artbw.Fak_Dat <> ?: FIND LAST MWSTAns USE-INDEX MWSTAns-k1 WHERE MWSTAns.MWST_Cd = Artbw.WuCd AND MWSTAns.Datum <= Artbw.Fak_Dat NO-LOCK NO-ERROR. IF NOT AVAILABLE MWSTAns THEN NEXT. Artbw.MWST% = MWSTAns.Ansatz. END. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gDialog PROCEDURE NEXTPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = MaxPage THEN AktSeite = 1. ELSE AktSeite = AktSeite + 1. RUN selectPage ( INPUT AktSeite ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREISGRUPPEN gDialog PROCEDURE PREISGRUPPEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ix AS INT. DEF VAR ii AS INT. FOR EACH TSavko: DELETE TSavko. END. FOR EACH Savko NO-LOCK: CREATE TSavko. BUFFER-COPY Savko TO TSavko. TSavko.RID = RECID(Savko). END. FOR EACH TSavko BY TSavko.Preis_Grp DESCENDING: FIND Savko WHERE RECID(Savko) = TSavko.RID. Savko.Preis_Grp = TSavko.Preis_Grp + 1. DELETE TSavko. END. FOR EACH TAbwPrGrp: DELETE TAbwPrGrp. END. FOR EACH AbwPrGrp NO-LOCK: CREATE TAbwPrGrp. BUFFER-COPY AbwPrGrp TO TAbwPrGrp. TAbwPrGrp.RID = RECID(AbwPrGrp). END. FOR EACH TAbwPrGrp BY TAbwPrGrp.Preis_Grp DESCENDING: FIND AbwPrGrp WHERE RECID(AbwPrGrp) = TAbwPrGrp.RID. AbwPrGrp.Preis_Grp = TAbwPrGrp.Preis_Grp + 1. DELETE TAbwPrGrp. END. FOR EACH TDebst: DELETE TDebst. END. FOR EACH Debst NO-LOCK: CREATE TDebst. BUFFER-COPY Debst TO TDebst. TDebst.RID = RECID(Debst). END. FOR EACH TDebst BY TDebst.Preis_Grp DESCENDING: FIND Debst WHERE RECID(Debst) = TDebst.RID. Debst.Preis_Grp = TDebst.Preis_Grp + 1. DELETE TDebst. END. FOR EACH TAufko: DELETE TAufko. END. FOR EACH Aufko NO-LOCK: CREATE TAufko. BUFFER-COPY Aufko TO TAufko. TAufko.RID = RECID(Aufko). END. FOR EACH TAufko BY TAufko.Preis_Grp DESCENDING: FIND Aufko WHERE RECID(Aufko) = TAufko.RID. Aufko.Preis_Grp = TAufko.Preis_Grp + 1. DELETE TAufko. END. FOR EACH TArtStaff: DELETE TArtStaff. END. FOR EACH ArtStaff NO-LOCK: CREATE TArtStaff. BUFFER-COPY ArtStaff TO TArtStaff. TArtStaff.RID = RECID(ArtStaff). END. FOR EACH TArtStaff BY TArtStaff.Preis_Grp DESCENDING: FIND ArtStaff WHERE RECID(ArtStaff) = TArtStaff.RID. ArtStaff.Preis_Grp = TArtStaff.Preis_Grp + 1. DELETE TArtStaff. END. FOR EACH TArtPreis: DELETE TArtPreis. END. FOR EACH ArtPreis NO-LOCK: CREATE TArtPreis. BUFFER-COPY ArtPreis TO TArtPreis. TArtPreis.RID = RECID(ArtPreis). END. FOR EACH TArtPreis BY TArtPreis.Preis_Grp DESCENDING: FIND ArtPreis WHERE RECID(ArtPreis) = TArtPreis.RID. ArtPreis.Preis_Grp = TArtPreis.Preis_Grp + 1. DELETE TArtPreis. END. FOR EACH TArtKanal: DELETE TArtKanal. END. FOR EACH ArtKanal NO-LOCK: CREATE TArtKanal. BUFFER-COPY ArtKanal TO TArtKanal. TArtKanal.RID = RECID(ArtKanal). END. FOR EACH TArtKanal BY TArtKanal.Preis_Grp DESCENDING: FIND ArtKanal WHERE RECID(ArtKanal) = TArtKanal.RID. ArtKanal.Preis_Grp = TArtKanal.Preis_Grp + 1. DELETE TArtKanal. END. FOR EACH TAktPreis: DELETE TAktPreis. END. FOR EACH AktPreis NO-LOCK: CREATE TAktPreis. BUFFER-COPY AktPreis TO TAktPreis. TAktPreis.RID = RECID(AktPreis). END. FOR EACH TAktPreis BY TAktPreis.Grp DESCENDING: FIND AktPreis WHERE RECID(AktPreis) = TAktPreis.RID. AktPreis.Grp = TAktPreis.Grp + 1. DELETE TAktPreis. END. FOR EACH TAktionen: DELETE TAktionen. END. FOR EACH Aktionen NO-LOCK: CREATE TAktionen. BUFFER-COPY Aktionen TO TAktionen. TAktionen.RID = RECID(Aktionen). END. FOR EACH TAktionen: DO ix = 50 TO 1 BY -1: IF TAktionen.Gruppen[ix] = 0 THEN NEXT. LEAVE. END. IF ix = 0 THEN DO: DELETE TAktionen. NEXT. END. FIND Aktionen WHERE RECID(Aktionen) = TAktionen.RID. DO ii = 1 TO ix: Aktionen.Gruppen[ii] = TAktionen.Gruppen[ii] + 1. END. DELETE TAktionen. END. /* FOR EACH TTabel: DELETE TTabel. END. FOR EACH Tabel WHERE Tabel.RecArt = 'PREGRP' NO-LOCK: CREATE TTabel. BUFFER-COPY Tabel TO TTabel. TTabel.RID = RECID(Tabel). END. FOR EACH TTabel BY TTabel.CodeI DESCENDING: FIND Tabel WHERE RECID(Tabel) = TTabel.RID. Tabel.CodeI = TTabel.CodeI + 1. DELETE TTabel. END. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gDialog PROCEDURE PREVPAGE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). IF AktSeite = 1 THEN AktSeite = MaxPage. ELSE AktSeite = AktSeite - 1. RUN selectPage ( INPUT AktSeite ). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gDialog PROCEDURE selectPage : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER piPageNum AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR MutProg AS CHAR NO-UNDO. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR. DO WHILE TRUE: IF NOT FMutFlag THEN LEAVE. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U). IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE. RETURN NO-APPLY. END. CASE piPageNum: END CASE. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U). CASE AktSeite: WHEN 1 THEN DO: /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */ /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */ END. END CASE. RUN SUPER( INPUT piPageNum). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SESAM gDialog PROCEDURE SESAM : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR hdSesam AS COM-HANDLE NO-UNDO. DEF VAR hdBeleg AS COM-HANDLE NO-UNDO. DEF VAR iRetCode AS INT NO-UNDO. DEF VAR cString AS CHAR NO-UNDO. DEF VAR cMandant AS CHAR NO-UNDO. DEF VAR cKonto AS CHAR NO-UNDO. DEF VAR ja AS LOG NO-UNDO. DO WHILE TRUE: CREATE "FibuNT.Mandant" hdSesam CONNECT NO-ERROR. IF VALID-HANDLE(hdSesam) THEN LEAVE. CREATE "FibuNT.Mandant" hdSesam NO-ERROR. LEAVE. END. IF NOT VALID-HANDLE(hdSesam) THEN DO: MESSAGE 'SESAM ist auf diesem Arbeitsplatz nicht' SKIP 'oder nicht richtig installiert ! ' VIEW-AS ALERT-BOX ERROR. RETURN NO-APPLY. END. DO WHILE TRUE: GET-KEY-VALUE SECTION 'Sesam' KEY 'Mandant' VALUE cMandant. IF cMandant <> ? THEN DO: MESSAGE 'Wollen Sie sich mit diesem Mandant verbinden ? ' SKIP cMandant VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE ja. END. IF NOT ja THEN cMandant = ''. iRetCode = hdSesam:Login( 1, cMandant ). IF iRetCode <> 0 THEN DO: MESSAGE 'Login nicht erfolgreich ! ' VIEW-AS ALERT-BOX ERROR. LEAVE. END. cMandant = hdSesam:LetzterMandant. PUT-KEY-VALUE SECTION 'Sesam' KEY 'Mandant' VALUE cMandant. hdBeleg = hdSesam:NeuBeleg(). IF NOT VALID-HANDLE(hdBeleg) THEN DO: MESSAGE 'Es können keine Belege eingefügt werden ! ' VIEW-AS ALERT-BOX ERROR. LEAVE. END. iRetCode = hdBeleg:Buchen( TODAY, FALSE, '1000', 'Testbuchung', 100.00 ). IF iRetCode = 0 THEN MESSAGE 'Buchung erfolgreich ' VIEW-AS ALERT-BOX. iRetCode = hdBeleg:Buchen( TODAY, TRUE , '6000', 'Testbuchung', 100.00 ). IF iRetCode = 0 THEN MESSAGE 'Buchung erfolgreich ' VIEW-AS ALERT-BOX. iRetCode = hdBeleg:Einfügen(hdSesam). LEAVE. END. IF VALID-HANDLE(hdSesam) THEN RELEASE OBJECT hdSesam. IF VALID-HANDLE(hdBeleg) THEN RELEASE OBJECT hdBeleg. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gDialog PROCEDURE TOOLBAR : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO. /* RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ). */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME