&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2 &ANALYZE-RESUME &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gSkontoBuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gSkontoBuchen /*------------------------------------------------------------------------ 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 --- */ DEF INPUT PARAMETER ipParam AS CHAR NO-UNDO. DEF INPUT PARAMETER ipStorno AS LOG NO-UNDO. /* 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 Firma AS CHAR NO-UNDO. DEF VAR AdFirma AS CHAR NO-UNDO. DEF VAR FBFirma AS CHAR NO-UNDO. DEF VAR Knr AS INT NO-UNDO. DEF VAR VonDatum AS DATE NO-UNDO. DEF VAR FakDatum AS DATE NO-UNDO. DEF VAR Rundbetr AS DEC DECIMALS 4 NO-UNDO. DEF VAR VFaknr AS INT NO-UNDO. DEF VAR VBuchtxt1 AS CHAR NO-UNDO. DEF VAR VBuchtxt2 AS CHAR NO-UNDO. DEF VAR VWpfl AS DEC EXTENT 12 NO-UNDO. DEF VAR VWust AS DEC EXTENT 12 NO-UNDO. DEF VAR VProz AS DEC EXTENT 12 NO-UNDO. DEF VAR VInkl AS LOG EXTENT 12 NO-UNDO. DEF VAR VWW AS DEC NO-UNDO. DEF VAR VFakBetr AS DEC NO-UNDO. DEF VAR VKto_De AS CHAR NO-UNDO. DEF VAR VKto_Ar AS CHAR NO-UNDO. DEF VAR VKto_Wu AS CHAR NO-UNDO. DEF VAR VTrNr1 AS INT NO-UNDO. DEF VAR VTrNr2 AS INT NO-UNDO. DEF VAR io AS LOG NO-UNDO. DEF VAR fStorno AS LOG NO-UNDO. DEF BUFFER BSteuer FOR Steuer. DEF WORKFILE WFile FIELD Kto1 AS CHAR FORMAT "x(12)" FIELD Kto2 AS CHAR FORMAT "x(12)" FIELD Betrag AS DEC FIELD MWST_Cd 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 first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME gSkontoBuchen /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS F_FakDat F_Ansatz-1 F_Konto Btn_OK ~ F_Betrag-1 Btn_Cancel F_MWST-1 F_Ansatz-2 F_Betrag-2 F_MWST-2 F_Ansatz-3 ~ F_Betrag-3 F_MWST-3 F_Ansatz-4 F_Betrag-4 F_MWST-4 F_Betrag-T F_MWST-T ~ F_MWST-GT F_FakBetr RECT-41 &Scoped-Define DISPLAYED-OBJECTS F_FakDat F_Ansatz-1 F_Konto F_Betrag-1 ~ F_MWST-1 F_Ansatz-2 F_Betrag-2 F_MWST-2 F_Ansatz-3 F_Betrag-3 F_MWST-3 ~ F_Ansatz-4 F_Betrag-4 F_MWST-4 F_Betrag-T F_MWST-T F_MWST-GT F_FakBetr /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-1 F_Ansatz-1 F_Betrag-1 F_MWST-1 &Scoped-define List-2 F_Ansatz-2 F_Betrag-2 F_MWST-2 &Scoped-define List-3 F_Ansatz-3 F_Betrag-3 F_MWST-3 &Scoped-define List-4 F_Ansatz-4 F_Betrag-4 F_MWST-4 &Scoped-define List-5 F_FakDat F_Konto F_Betrag-T F_MWST-T F_MWST-GT ~ F_FakBetr &Scoped-define List-6 F_FakDat F_Ansatz-1 F_Konto F_Betrag-1 F_MWST-1 ~ F_Ansatz-2 F_Betrag-2 F_MWST-2 F_Ansatz-3 F_Betrag-3 F_MWST-3 F_Ansatz-4 ~ F_Betrag-4 F_MWST-4 F_Betrag-T F_MWST-T F_Proz-1 F_MWST-GT F_Proz-2 ~ F_FakBetr F_Proz-3 F_Proz-4 F_Cd-1 F_Cd-2 F_Cd-3 F_Cd-4 /* _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 20 BY 1. DEFINE BUTTON Btn_OK AUTO-GO LABEL "&Buchen" SIZE 20 BY 1. DEFINE VARIABLE F_Ansatz-1 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Ansatz-2 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Ansatz-3 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Ansatz-4 AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 40 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Betrag-1 AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Betrag" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Betrag-2 AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Betrag" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Betrag-3 AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Betrag" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Betrag-4 AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Betrag" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Betrag-T AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Total" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Cd-1 AS INTEGER FORMAT "99":U INITIAL 0 LABEL "MWCd" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Cd-2 AS INTEGER FORMAT "99":U INITIAL 0 LABEL "MWCd" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Cd-3 AS INTEGER FORMAT "99":U INITIAL 0 LABEL "MWCd" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Cd-4 AS INTEGER FORMAT "99":U INITIAL 0 LABEL "MWCd" VIEW-AS FILL-IN NATIVE SIZE 5 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_FakBetr AS DECIMAL FORMAT "zzz,zzz,zz9.99-":U INITIAL 0 LABEL "Fakturabetrag" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_FakDat AS DATE FORMAT "99.99.9999":U LABEL "Fakturadatum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Konto AS CHARACTER FORMAT "x(12)":U LABEL "Konto (FIBU)" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-1 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-2 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-3 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-4 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-GT AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Total MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST-T AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Total MWSt" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Proz-1 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Proz" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Proz-2 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Proz" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Proz-3 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Proz" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Proz-4 AS DECIMAL FORMAT "zz,zz9.99-":U INITIAL 0 LABEL "Proz" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-41 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 118 BY 10.24. /* ************************ Frame Definitions *********************** */ DEFINE FRAME gSkontoBuchen F_FakDat AT ROW 9 COL 59 COLON-ALIGNED F_Ansatz-1 AT ROW 1.52 COL 8 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Konto AT ROW 10 COL 59 COLON-ALIGNED Btn_OK AT ROW 12 COL 10 F_Betrag-1 AT ROW 1.52 COL 59 COLON-ALIGNED NO-TAB-STOP Btn_Cancel AT ROW 12 COL 96 F_MWST-1 AT ROW 1.52 COL 98 COLON-ALIGNED NO-TAB-STOP F_Ansatz-2 AT ROW 2.52 COL 8 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Betrag-2 AT ROW 2.52 COL 59 COLON-ALIGNED NO-TAB-STOP F_MWST-2 AT ROW 2.52 COL 98 COLON-ALIGNED NO-TAB-STOP F_Ansatz-3 AT ROW 3.52 COL 8 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Betrag-3 AT ROW 3.52 COL 59 COLON-ALIGNED NO-TAB-STOP F_MWST-3 AT ROW 3.52 COL 98 COLON-ALIGNED NO-TAB-STOP F_Ansatz-4 AT ROW 4.52 COL 8 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Betrag-4 AT ROW 4.52 COL 59 COLON-ALIGNED NO-TAB-STOP F_MWST-4 AT ROW 4.52 COL 98 COLON-ALIGNED NO-TAB-STOP F_Betrag-T AT ROW 5.52 COL 59 COLON-ALIGNED NO-TAB-STOP F_MWST-T AT ROW 5.52 COL 98 COLON-ALIGNED NO-TAB-STOP F_Proz-1 AT ROW 6.52 COL 8.6 COLON-ALIGNED NO-TAB-STOP F_MWST-GT AT ROW 6.52 COL 66 COLON-ALIGNED NO-TAB-STOP F_Proz-2 AT ROW 7.52 COL 8.6 COLON-ALIGNED NO-TAB-STOP F_FakBetr AT ROW 8 COL 59 COLON-ALIGNED NO-TAB-STOP F_Proz-3 AT ROW 8.52 COL 8.6 COLON-ALIGNED NO-TAB-STOP F_Proz-4 AT ROW 9.52 COL 8.6 COLON-ALIGNED NO-TAB-STOP F_Cd-1 AT ROW 6.52 COL 35 COLON-ALIGNED NO-TAB-STOP F_Cd-2 AT ROW 7.52 COL 35 COLON-ALIGNED NO-TAB-STOP F_Cd-3 AT ROW 8.52 COL 35 COLON-ALIGNED NO-TAB-STOP F_Cd-4 AT ROW 9.52 COL 35 COLON-ALIGNED NO-TAB-STOP RECT-41 AT ROW 1.24 COL 2 SPACE(0.99) SKIP(2.37) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "Skontogutschrift erstellen" 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 gSkontoBuchen /* ************************* 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 gSkontoBuchen Custom */ ASSIGN FRAME gSkontoBuchen:SCROLLABLE = FALSE FRAME gSkontoBuchen:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Ansatz-1 IN FRAME gSkontoBuchen 1 6 */ ASSIGN F_Ansatz-1:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Ansatz-1:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Ansatz-2 IN FRAME gSkontoBuchen 2 6 */ ASSIGN F_Ansatz-2:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Ansatz-2:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Ansatz-3 IN FRAME gSkontoBuchen 3 6 */ ASSIGN F_Ansatz-3:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Ansatz-3:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Ansatz-4 IN FRAME gSkontoBuchen 4 6 */ ASSIGN F_Ansatz-4:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Ansatz-4:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Betrag-1 IN FRAME gSkontoBuchen 1 6 */ ASSIGN F_Betrag-1:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Betrag-1:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Betrag-2 IN FRAME gSkontoBuchen 2 6 */ ASSIGN F_Betrag-2:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Betrag-2:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Betrag-3 IN FRAME gSkontoBuchen 3 6 */ ASSIGN F_Betrag-3:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Betrag-3:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Betrag-4 IN FRAME gSkontoBuchen 4 6 */ ASSIGN F_Betrag-4:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Betrag-4:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Betrag-T IN FRAME gSkontoBuchen 5 6 */ ASSIGN F_Betrag-T:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Cd-1 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Cd-1:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Cd-1:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Cd-2 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Cd-2:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Cd-2:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Cd-3 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Cd-3:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Cd-3:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Cd-4 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Cd-4:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Cd-4:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_FakBetr IN FRAME gSkontoBuchen 5 6 */ ASSIGN F_FakBetr:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_FakDat IN FRAME gSkontoBuchen 5 6 */ /* SETTINGS FOR FILL-IN F_Konto IN FRAME gSkontoBuchen 5 6 */ /* SETTINGS FOR FILL-IN F_MWST-1 IN FRAME gSkontoBuchen 1 6 */ ASSIGN F_MWST-1:HIDDEN IN FRAME gSkontoBuchen = TRUE F_MWST-1:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_MWST-2 IN FRAME gSkontoBuchen 2 6 */ ASSIGN F_MWST-2:HIDDEN IN FRAME gSkontoBuchen = TRUE F_MWST-2:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_MWST-3 IN FRAME gSkontoBuchen 3 6 */ ASSIGN F_MWST-3:HIDDEN IN FRAME gSkontoBuchen = TRUE F_MWST-3:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_MWST-4 IN FRAME gSkontoBuchen 4 6 */ ASSIGN F_MWST-4:HIDDEN IN FRAME gSkontoBuchen = TRUE F_MWST-4:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_MWST-GT IN FRAME gSkontoBuchen 5 6 */ ASSIGN F_MWST-GT:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_MWST-T IN FRAME gSkontoBuchen 5 6 */ ASSIGN F_MWST-T:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Proz-1 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Proz-1:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Proz-1:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Proz-2 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Proz-2:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Proz-2:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Proz-3 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Proz-3:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Proz-3:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* SETTINGS FOR FILL-IN F_Proz-4 IN FRAME gSkontoBuchen NO-DISPLAY NO-ENABLE 6 */ ASSIGN F_Proz-4:HIDDEN IN FRAME gSkontoBuchen = TRUE F_Proz-4:READ-ONLY IN FRAME gSkontoBuchen = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gSkontoBuchen /* Query rebuild information for DIALOG-BOX gSkontoBuchen _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gSkontoBuchen */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gSkontoBuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSkontoBuchen gSkontoBuchen ON END-ERROR OF FRAME gSkontoBuchen /* Skontogutschrift erstellen */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSkontoBuchen gSkontoBuchen ON GO OF FRAME gSkontoBuchen /* Skontogutschrift erstellen */ DO: /* RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSkontoBuchen gSkontoBuchen ON WINDOW-CLOSE OF FRAME gSkontoBuchen /* Skontogutschrift erstellen */ 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 gSkontoBuchen ON CHOOSE OF Btn_Cancel IN FRAME gSkontoBuchen /* 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 gSkontoBuchen ON CHOOSE OF Btn_OK IN FRAME gSkontoBuchen /* Buchen */ DO: RUN OP_BUCHEN. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_FakDat &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_FakDat gSkontoBuchen ON RETURN OF F_FakDat IN FRAME gSkontoBuchen /* Fakturadatum */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Konto &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Konto gSkontoBuchen ON LEAVE OF F_Konto IN FRAME gSkontoBuchen /* Konto (FIBU) */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gSkontoBuchen /* *************************** Main Block *************************** */ MaxPage = 1. AktSeite = 1. Firma = DYNAMIC-FUNCTION('GETMANDANT') NO-ERROR. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT') NO-ERROR. fStorno = ipStorno. FIND BSteuer USE-INDEX Steuer-k1 WHERE BSteuer.Firma = Firma NO-LOCK 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 adm-create-objects gSkontoBuchen _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 changePage gSkontoBuchen 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 gSkontoBuchen _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 gSkontoBuchen. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gSkontoBuchen PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. Knr = INTEGER(ENTRY(01, ipParam, CHR(01))). VonDatum = DATE (ENTRY(02, ipParam, CHR(01))). F_Betrag-1 = DECIMAL(ENTRY(03, ipParam, CHR(01))). F_Proz-1 = DECIMAL(ENTRY(04, ipParam, CHR(01))). F_Betrag-2 = DECIMAL(ENTRY(05, ipParam, CHR(01))). F_Proz-2 = DECIMAL(ENTRY(06, ipParam, CHR(01))). F_Betrag-3 = DECIMAL(ENTRY(07, ipParam, CHR(01))). F_Proz-3 = DECIMAL(ENTRY(08, ipParam, CHR(01))). F_Betrag-4 = DECIMAL(ENTRY(09, ipParam, CHR(01))). F_Proz-4 = DECIMAL(ENTRY(10, ipParam, CHR(01))). FIND SteuNr USE-INDEX SteuNr-k1 WHERE SteuNr.Firma = Firma NO-LOCK. F_Konto = SteuNr.Konto_Ertrag. DEF VAR xKonto AS CHAR NO-UNDO. GET-KEY-VALUE SECTION 'Grundeinstellungen' KEY 'Skontokonto' VALUE xKonto. IF xKonto <> ? AND xKonto <> '' THEN F_Konto = xKonto. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gSkontoBuchen _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 F_FakDat F_Ansatz-1 F_Konto F_Betrag-1 F_MWST-1 F_Ansatz-2 F_Betrag-2 F_MWST-2 F_Ansatz-3 F_Betrag-3 F_MWST-3 F_Ansatz-4 F_Betrag-4 F_MWST-4 F_Betrag-T F_MWST-T F_MWST-GT F_FakBetr WITH FRAME gSkontoBuchen. ENABLE F_FakDat F_Ansatz-1 F_Konto Btn_OK F_Betrag-1 Btn_Cancel F_MWST-1 F_Ansatz-2 F_Betrag-2 F_MWST-2 F_Ansatz-3 F_Betrag-3 F_MWST-3 F_Ansatz-4 F_Betrag-4 F_MWST-4 F_Betrag-T F_MWST-T F_MWST-GT F_FakBetr RECT-41 WITH FRAME gSkontoBuchen. VIEW FRAME gSkontoBuchen. {&OPEN-BROWSERS-IN-QUERY-gSkontoBuchen} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gSkontoBuchen 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. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). APPLY 'GO' TO FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gSkontoBuchen 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 gSkontoBuchen 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 INTERFACE gSkontoBuchen PROCEDURE INTERFACE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ix AS INT NO-UNDO. FOR EACH WFile WHERE WFile.Betrag <> 0 BY WFile.Kto1: FIND LAST Interf USE-INDEX Interf-k1 WHERE Interf.Firma = BSteuer.FBFirma AND Interf.TrNr1 = VTrNr1 AND Interf.TrNr2 = VTrNr2 NO-LOCK NO-ERROR. IF AVAILABLE Interf THEN ix = Interf.Trnr + 1. ELSE ix = 1. CREATE Interf. ASSIGN Interf.Firma = BSteuer.FBFirma Interf.TrNr1 = VTrNr1 Interf.TrNr2 = VTrNr2 Interf.TrNr = ix Interf.Kto1 = WFile.Kto1 Interf.Kto2 = WFile.Kto2 Interf.Herk = TransNr.Herk Interf.Datum = F_FakDat Interf.Buchtxt1 = VBuchtxt1 Interf.Buchtxt2 = VBuchtxt2 Interf.Betrag = WFile.Betrag Interf.Betrag_Frw = WFile.Betrag Interf.FRW = Debop.FRW Interf.Faktor = Debop.Faktor Interf.Kurs = Debop.Kurs Interf.Verbucht = FALSE Interf.Faknr = STRING(Debop.Faknr,"9999999") Interf.Knr = Debop.Knr Interf.MWST_Nr = "" Interf.MWST_Cd = WFile.MWST_Cd Interf.HKFirma = Debop.Firma. DELETE WFile. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gSkontoBuchen 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 OP_BUCHEN gSkontoBuchen PROCEDURE OP_BUCHEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ix AS INT NO-UNDO. DEF VAR i1 AS INT NO-UNDO. DEF VAR FwSprcd AS INT NO-UNDO. DEF VAR FwFrw AS CHAR NO-UNDO. DEF VAR StFirma AS CHAR INIT '9999' NO-UNDO. DEF VAR iStatus AS INT NO-UNDO. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFrw. IF FwFrw = ? THEN FwFrw = 'CHF'. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-5}. IF F_FakDat = ? THEN DO: APPLY 'ENTRY' TO F_FakDat. RETURN NO-APPLY. END. IF F_Konto = '' THEN DO: APPLY 'ENTRY' TO F_Konto. RETURN NO-APPLY. END. VWpfl = 0. VWust = 0. VWW = 0. VInkl = FALSE. VProz = 0. Rundbetr = 0. FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U) NO-ERROR. iStatus = IF fStorno THEN 1 ELSE 0. FOR EACH WFile: DELETE WFile. END. FOR EACH Wust USE-INDEX Wust-k2 WHERE Wust.WuCd < 12 NO-LOCK: VInkl[Wust.Wucd] = Wust.Incl. END. FOR EACH MWSTAns WHERE MWSTAns.Datum < F_FakDat NO-LOCK: FIND FIRST Wust USE-INDEX Wust-k2 WHERE Wust.WuCd = MWSTAns.MWST_Cd AND Wust.Incl = FALSE NO-LOCK NO-ERROR. IF NOT AVAILABLE Wust THEN NEXT. IF F_Proz-1 <> 0 AND MWSTAns.Ansatz = F_Proz-1 THEN F_Cd-1 = MWSTAns.MWST_Cd. IF F_Proz-2 <> 0 AND MWSTAns.Ansatz = F_Proz-2 THEN F_Cd-2 = MWSTAns.MWST_Cd. IF F_Proz-3 <> 0 AND MWSTAns.Ansatz = F_Proz-3 THEN F_Cd-3 = MWSTAns.MWST_Cd. IF F_Proz-4 <> 0 AND MWSTAns.Ansatz = F_Proz-4 THEN F_Cd-4 = MWSTAns.MWST_Cd. END. FIND Steuer USE-INDEX Steuer-k1 WHERE Steuer.Firma = Firma NO-LOCK. FIND SteuNr USE-INDEX SteuNr-k1 WHERE SteuNr.Firma = Firma NO-LOCK. VKto_De = SteuNr.Konto_Debit. VKto_Ar = F_Konto. FBFirma = Steuer.FBFirma. DO WITH FRAME {&FRAME-NAME}: IF F_Betrag-1 <> 0 THEN DO: i1 = F_Cd-1. VWpfl[i1] = VWpfl[i1] + F_Betrag-1. VWust[i1] = VWust[i1] + F_MWST-1. VProz[i1] = F_Proz-1. END. IF F_Betrag-2 <> 0 THEN DO: i1 = F_Cd-2. VWpfl[i1] = VWpfl[i1] + F_Betrag-2. VWust[i1] = VWust[i1] + F_MWST-2. VProz[i1] = F_Proz-2. END. IF F_Betrag-3 <> 0 THEN DO: i1 = F_Cd-3. VWpfl[i1] = VWpfl[i1] + F_Betrag-3. VWust[i1] = VWust[i1] + F_MWST-3. VProz[i1] = F_Proz-3. END. IF F_Betrag-4 <> 0 THEN DO: i1 = F_Cd-4. VWpfl[i1] = VWpfl[i1] + F_Betrag-4. VWust[i1] = VWust[i1] + F_MWST-4. VProz[i1] = F_Proz-4. END. END. DO ix = 1 TO 12: VWpfl[ix] = - VWpfl[ix]. VWust[ix] = - VWust[ix]. VWW = VWW + VWpfl[ix]. Rundbetr = Rundbetr + VWpfl[ix] + VWust[ix]. END. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rundbetr ). VFakbetr = Rundbetr. REPEAT TRANSACTION ON ERROR UNDO, LEAVE: RUN NUMMER_LOESEN ( INPUT 2, OUTPUT VFaknr ). IF VFaknr = ? THEN RETURN. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Knr NO-LOCK NO-ERROR. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = Knr. IF Debst.Konto <> '' THEN VKto_De = Debst.Konto. VBuchtxt1 = 'Skontogutschrift:' + STRING(VFaknr," 999999"). VBuchtxt2 = Adresse.Anzeig_Br. FIND Kondi USE-INDEX Kondi-k1 WHERE Kondi.Sprcd = FwSprcd AND Kondi.Kond = Debst.Kond NO-LOCK NO-ERROR. IF NOT AVAILABLE Kondi THEN DO: FIND Kondi USE-INDEX Kondi-k1 WHERE Kondi.Sprcd = FwSprcd AND Kondi.Kond = 1 NO-LOCK NO-ERROR. END. FIND LAST TransNr USE-INDEX TransNr-k1 WHERE TransNr.Firma = StFirma NO-LOCK NO-ERROR. IF AVAILABLE TransNr THEN DO: VTrNr1 = TransNr.TrNr1 + 1. VTrNr2 = 1. END. ELSE DO: VTrNr1 = 1. VTrNr2 = 1. END. CREATE TransNr. ASSIGN TransNr.Firma = StFirma TransNr.TrNr1 = VTrNr1 TransNr.TrNr2 = VTrNr2 TransNr.Herk = 51. CREATE Debop. ASSIGN Debop.Firma = Firma Debop.Knr = Knr Debop.Faknr = VFaknr Debop.Fakdat = F_FakDat Debop.Faellig = F_FakDat + Kondi.Faellig Debop.Skber = 0 Debop.WW = VWW Debop.Fakbetr = VFakBetr Debop.Saldo = VFakBetr Debop.Kond = Debst.Kond Debop.Transp = 0 Debop.Porto = 0 Debop.Verpack = 0 Debop.Konto = VKto_De Debop.Vertr = Debst.Vertr Debop.Kte = 'SKO' Debop.TrNr1 = VTrNr1 Debop.TrNr2 = VTrNr2 Debop.FRW = FwFRW Debop.Kurs = 1.0 Debop.Faktor = 1. IF Steuer.MWST = 0 THEN Debop.WustAbr = TRUE. /* vereinbahrt */ ELSE Debop.WustAbr = FALSE. /* vereinnahmt */ DO ix = 1 TO 12: ASSIGN Debop.FakWpfl[ix] = VWpfl[ix] Debop.FakWust[ix] = VWust[ix] Debop.FakWPro[ix] = VProz[ix] Debop.FakIncl[ix] = VInkl[ix]. END. CREATE Debfa. ASSIGN Debfa.Firma = Debop.Firma Debfa.Knr = Debop.Knr Debfa.Faknr = Debop.Faknr Debfa.Fakdat = Debop.Fakdat Debfa.Faellig = Debop.Faellig Debfa.Fakbetr = Debop.Fakbetr Debfa.Skber = Debop.Skber Debfa.WW = Debop.WW Debfa.Transp = Debop.Transp Debfa.Porto = Debop.Porto Debfa.Verpack = Debop.Verpack Debfa.Konto = Debop.Konto Debfa.Vertr = Debop.Vertr Debfa.Kte = Debop.Kte Debfa.TrNr1 = Debop.TrNr1 Debfa.TrNr2 = Debop.TrNr2 Debfa.FRW = Debop.FRW Debfa.Kurs = Debop.Kurs Debfa.Faktor = Debop.Faktor. DO ix = 1 TO 12: ASSIGN Debfa.FakWpfl[ix] = Debop.FakWpfl[ix] Debfa.FakWust[ix] = Debop.FakWust[ix]. END. FIND LAST Debhi USE-INDEX Debhi-k1 WHERE Debhi.Firma = Debop.Firma AND Debhi.Knr = Debop.Knr NO-LOCK NO-ERROR. IF AVAILABLE Debhi THEN ix = Debhi.Trnr + 1. ELSE ix = 1. CREATE Debhi. ASSIGN Debhi.Firma = Debop.Firma Debhi.Knr = Debop.Knr Debhi.Trnr = ix Debhi.Datum = Debop.Fakdat Debhi.Faknr = Debop.Faknr Debhi.Kte = Debop.Kte Debhi.Soll = Debop.Fakbetr Debhi.Transp = Debop.Transp Debhi.Porto = Debop.Porto Debhi.Verpack = Debop.Verpack Debhi.Konto = Debop.Konto Debhi.TrNr1 = Debop.TrNr1 Debhi.TrNr2 = Debop.TrNr2 Debhi.FRW = Debop.FRW Debhi.Kurs = Debop.Kurs Debhi.Faktor = Debop.Faktor Debhi.Saldo = Debst.Saldo + Debop.Fakbetr. IF Steuer.MWST = 0 THEN DO: /* Mehrwertsteuer vereinbart */ CREATE Debwu. ASSIGN Debwu.Firma = Debop.Firma Debwu.Knr = Debop.Knr Debwu.Faknr = Debop.Faknr Debwu.Trnr = 1 Debwu.Datum = Debop.Fakdat Debwu.Betrag = Debop.Fakbetr Debwu.Konto = Debop.Konto Debwu.Kte = Debop.Kte Debwu.TrNr1 = Debop.TrNr1 Debwu.TrNr2 = Debop.TrNr2 Debwu.FRW = Debop.FRW Debwu.Kurs = Debop.Kurs Debwu.Faktor = Debop.Faktor. DO ix = 1 TO 12: IF Debop.FakWpfl[ix] = 0 THEN NEXT. ASSIGN Debwu.Wustpfl[ix] = Debop.FakWpfl[ix] Debwu.Wust [ix] = Debop.FakWust[ix]. END. END. /* ---- Interface fuer Mehrwertsteuer -------------------------------------- */ DO ix = 1 TO 10: IF VWpfl[ix] = 0 THEN NEXT. FIND FIRST Wust USE-INDEX Wust-k2 WHERE Wust.WuCd = ix NO-LOCK. IF Steuer.MWST = 0 THEN VKto_Wu = Wust.Konto. ELSE VKto_Wu = SteuNr.Konto_Wust_H. IF Wust.Incl THEN DO: IF VKto_Ar <> VKto_Wu THEN DO: Rundbetr = VWpfl[ix] / (100 + VProz[ix]) * VProz[ix]. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rundbetr ). FIND FIRST WFile WHERE WFile.Kto1 = VKto_Ar AND WFile.Kto2 = VKto_Wu NO-ERROR. IF NOT AVAILABLE WFile THEN DO: CREATE WFile. ASSIGN WFile.Kto1 = VKto_Ar WFile.Kto2 = VKto_Wu WFile.MWST_Cd = 0. END. ASSIGN WFile.Betrag = WFile.Betrag + Rundbetr. END. END. ELSE DO: FIND FIRST WFile WHERE WFile.Kto1 = VKto_De AND WFile.Kto2 = VKto_Wu NO-ERROR. IF NOT AVAILABLE WFile THEN DO: CREATE WFile. ASSIGN WFile.Kto1 = VKto_De WFile.Kto2 = VKto_Wu WFile.MWST_Cd = 0. END. ASSIGN WFile.Betrag = WFile.Betrag + VWust[ix]. END. END. RUN INTERFACE. Debst.Saldo = Debst.Saldo + Debop.Fakbetr. FOR EACH SkontoAb USE-INDEX SkontoAb-k1 WHERE SkontoAb.Firma = Firma AND SkontoAb.Sko_Sta = iStatus AND SkontoAb.Knr = Knr AND SkontoAb.VonDatum = VonDatum. SkontoAb.Sko_Sta = IF fStorno THEN 0 ELSE 1. END. LEAVE. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gSkontoBuchen 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 gSkontoBuchen 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 TOOLBAR gSkontoBuchen 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 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject gSkontoBuchen PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. DO WITH FRAME {&FRAME-NAME}: F_Ansatz-1:HIDDEN = TRUE. F_Betrag-1:HIDDEN = TRUE. F_MWST-1 :HIDDEN = TRUE. F_Ansatz-2:HIDDEN = TRUE. F_Betrag-2:HIDDEN = TRUE. F_MWST-2 :HIDDEN = TRUE. F_Ansatz-3:HIDDEN = TRUE. F_Betrag-3:HIDDEN = TRUE. F_MWST-3 :HIDDEN = TRUE. F_Ansatz-4:HIDDEN = TRUE. F_Betrag-4:HIDDEN = TRUE. F_MWST-4 :HIDDEN = TRUE. IF F_Betrag-1 <> 0 THEN DO: F_MWST-1 = F_Betrag-1 * F_Proz-1 / 100. F_Betrag-T = F_Betrag-T + F_Betrag-1. F_MWST-T = F_MWST-T + F_MWST-1. F_Ansatz-1 = 'Mehrwertsteueransatz ' + STRING(F_Proz-1,'z9.99%'). F_Ansatz-1:HIDDEN = FALSE. F_Betrag-1:HIDDEN = FALSE. F_MWST-1 :HIDDEN = FALSE. DISPLAY {&List-1}. END. IF F_Betrag-2 <> 0 THEN DO: F_MWST-2 = F_Betrag-2 * F_Proz-2 / 100. F_Betrag-T = F_Betrag-T + F_Betrag-2. F_MWST-T = F_MWST-T + F_MWST-2. F_Ansatz-2 = 'Mehrwertsteueransatz ' + STRING(F_Proz-2,'z9.99%'). F_Ansatz-2:HIDDEN = FALSE. F_Betrag-2:HIDDEN = FALSE. F_MWST-2 :HIDDEN = FALSE. DISPLAY {&List-2}. END. IF F_Betrag-3 <> 0 THEN DO: F_MWST-3 = F_Betrag-3 * F_Proz-3 / 100. F_Betrag-T = F_Betrag-T + F_Betrag-3. F_MWST-T = F_MWST-T + F_MWST-3. F_Ansatz-3 = 'Mehrwertsteueransatz ' + STRING(F_Proz-3,'z9.99%'). F_Ansatz-3:HIDDEN = FALSE. F_Betrag-3:HIDDEN = FALSE. F_MWST-3 :HIDDEN = FALSE. DISPLAY {&List-3}. END. IF F_Betrag-4 <> 0 THEN DO: F_MWST-4 = F_Betrag-4 * F_Proz-4 / 100. F_Betrag-T = F_Betrag-T + F_Betrag-4. F_MWST-T = F_MWST-T + F_MWST-4. F_Ansatz-4 = 'Mehrwertsteueransatz ' + STRING(F_Proz-4,'z9.99%'). F_Ansatz-4:HIDDEN = FALSE. F_Betrag-4:HIDDEN = FALSE. F_MWST-4 :HIDDEN = FALSE. DISPLAY {&List-4}. END. F_MWST-GT = F_MWST-T. Rundbetr = F_Betrag-T + F_MWST-GT. RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rundbetr ). F_Fakbetr = Rundbetr. F_FakDat = TODAY. DISPLAY {&List-5}. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME