&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE aDebop NO-UNDO LIKE Debop. DEFINE TEMP-TABLE tDebop NO-UNDO LIKE Debop. DEFINE TEMP-TABLE zDebop NO-UNDO LIKE Debop FIELD SkMax_Frw AS DEC FIELD SkMax AS DEC FIELD ZaKonto AS CHAR. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin /*------------------------------------------------------------------------ File: Description: from cntnrfrm.w - ADM2 SmartFrame Template Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Parameters Definitions --- */ /* Local Variable Definitions --- */ DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE. DEF VAR FMut AS LOG NO-UNDO INIT FALSE. DEF VAR ProgName AS CHAR NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR D1Firma AS CHAR NO-UNDO. DEF VAR AdFirma AS CHAR NO-UNDO. DEF VAR FBFirma AS CHAR NO-UNDO. DEF VAR GlobFir AS CHAR NO-UNDO. DEF VAR GlobFil AS CHAR INIT '0000' NO-UNDO. DEF VAR GlobKon AS CHAR INIT '9999' NO-UNDO. DEF VAR Eingabe AS CHAR NO-UNDO. DEF VAR iKnr AS INT NO-UNDO. DEF VAR FAkt AS LOG NO-UNDO INIT FALSE. DEF VAR sDatum AS DATE NO-UNDO. DEF VAR SkTolPr AS DEC NO-UNDO. DEF VAR SkTolBe AS DEC NO-UNDO. DEF VAR BasFrw AS CHAR NO-UNDO. DEF TEMP-TABLE tTotale FIELD Konto AS CHAR FIELD Betr AS DEC FIELD BetrFrw AS DEC. { incl/tmwstcalc.i } /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartFrame &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER FRAME &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 fMain &Scoped-define BROWSE-NAME Br_Bezahlt /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES ADebop /* Definitions for BROWSE Br_Bezahlt */ &Scoped-define FIELDS-IN-QUERY-Br_Bezahlt ADebop.Knr ADebop.Faknr ~ ADebop.Faellig ADebop.Fakbetr ADebop.Fakbetr_FRW ADebop.Zahdat ~ ADebop.Zahbetr ADebop.Zahbetr_FRW ADebop.Saldo ADebop.Saldo_FRW &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Bezahlt &Scoped-define QUERY-STRING-Br_Bezahlt FOR EACH ADebop NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_Bezahlt OPEN QUERY Br_Bezahlt FOR EACH ADebop NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_Bezahlt ADebop &Scoped-define FIRST-TABLE-IN-QUERY-Br_Bezahlt ADebop /* Definitions for FRAME fMain */ &Scoped-define OPEN-BROWSERS-IN-QUERY-fMain ~ ~{&OPEN-QUERY-Br_Bezahlt} /* Standard List Definitions */ &Scoped-Define ENABLED-FIELDS tDebop.Faknr tDebop.Fakdat tDebop.Faellig ~ tDebop.FRW tDebop.Kurs tDebop.Fakbetr tDebop.Fakbetr_FRW tDebop.Zahbetr ~ tDebop.Zahbetr_FRW tDebop.Skonto tDebop.Skonto_FRW tDebop.Saldo ~ tDebop.Saldo_FRW zDebop.Zahbetr_FRW zDebop.FRW zDebop.Kurs zDebop.Zahbetr ~ zDebop.Skonto_FRW zDebop.Skonto &Scoped-define ENABLED-TABLES tDebop zDebop &Scoped-define FIRST-ENABLED-TABLE tDebop &Scoped-define SECOND-ENABLED-TABLE zDebop &Scoped-Define ENABLED-OBJECTS Btn_Tot RECT-1 RECT-2 RECT-3 RECT-4 RECT-5 ~ CB_ZAHKONTO F_KumBetr Btn_Kum F_KonBetr Btn_Kon F_TotBetr F_KumFrw F_KonFrw ~ F_TotFrw F_Datum CB_Eingabe F_Faknr F_Knr F_Betr F_ZKnr F_Adresse F_Saldo ~ F_SaldoFrw F_SkMFrw Br_Bezahlt &Scoped-Define DISPLAYED-FIELDS tDebop.Faknr tDebop.Fakdat tDebop.Faellig ~ tDebop.FRW tDebop.Kurs tDebop.Fakbetr tDebop.Fakbetr_FRW tDebop.Zahbetr ~ tDebop.Zahbetr_FRW tDebop.Skonto tDebop.Skonto_FRW tDebop.Saldo ~ tDebop.Saldo_FRW zDebop.Zahbetr_FRW zDebop.FRW zDebop.Kurs zDebop.Zahbetr ~ zDebop.Skonto_FRW zDebop.Skonto &Scoped-define DISPLAYED-TABLES tDebop zDebop &Scoped-define FIRST-DISPLAYED-TABLE tDebop &Scoped-define SECOND-DISPLAYED-TABLE zDebop &Scoped-Define DISPLAYED-OBJECTS CB_ZAHKONTO F_KumBetr F_KonBetr F_TotBetr ~ F_KumFrw F_KonFrw F_TotFrw F_Datum F_Faknr F_Knr F_Betr F_ZKnr F_Adresse ~ F_Saldo F_SaldoFrw F_SkMFrw /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-4 F_KumBetr F_KonBetr F_TotBetr F_KumFrw F_KonFrw ~ F_TotFrw &Scoped-define List-5 zDebop.Zahbetr_FRW zDebop.FRW zDebop.Kurs ~ zDebop.Zahbetr zDebop.Skonto_FRW F_SkMFrw zDebop.Skonto &Scoped-define List-6 F_ZKnr F_Adresse F_Saldo F_SaldoFrw tDebop.Faknr ~ tDebop.Fakdat tDebop.Faellig tDebop.FRW tDebop.Kurs tDebop.Fakbetr ~ tDebop.Fakbetr_FRW tDebop.Zahbetr tDebop.Zahbetr_FRW tDebop.Skonto ~ tDebop.Skonto_FRW tDebop.Saldo tDebop.Saldo_FRW /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Kon IMAGE-UP FILE "grafik/deleterec.bmp":U LABEL "&O" SIZE 5.2 BY 1.14 TOOLTIP "Löschen Konto-Total". DEFINE BUTTON Btn_Kum IMAGE-UP FILE "grafik/deleterec.bmp":U LABEL "&K" SIZE 5.2 BY 1.14 TOOLTIP "Löschen Kummulativ". DEFINE BUTTON Btn_Tot IMAGE-UP FILE "grafik/deleterec.bmp":U NO-FOCUS LABEL "&T" SIZE 5.2 BY 1.14 TOOLTIP "Lösche Gesamt-Total". DEFINE VARIABLE CB_Eingabe AS CHARACTER FORMAT "X(256)":U INITIAL "1" LABEL "Eingabe" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Fakturanummer","1", "Kundennummer","2", "Betrag","3" DROP-DOWN-LIST SIZE 26.4 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE CB_ZAHKONTO AS CHARACTER FORMAT "X(256)":U LABEL "Konto" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 30 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Adresse AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 66 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_Betr AS DECIMAL FORMAT "z,zzz,zz9.99-":U INITIAL 0 LABEL "Rechnungsbetrag" VIEW-AS FILL-IN NATIVE SIZE 20 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U LABEL "Datum" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 TOOLTIP "Zahlungsdatum" BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Faknr AS DECIMAL FORMAT "9999999":U INITIAL 0 LABEL "Rechnungsnummer" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Knr AS DECIMAL FORMAT "999999":U INITIAL 0 LABEL "Kundennummer" VIEW-AS FILL-IN NATIVE SIZE 10 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_KonBetr AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_KonFrw AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_KumBetr AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_KumFrw AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzzzz,zz9.99-":U INITIAL 0 LABEL "Saldo" VIEW-AS FILL-IN NATIVE SIZE 19 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_SaldoFrw AS DECIMAL FORMAT "zzzzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 19 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_SkMFrw AS DECIMAL FORMAT "zzzzzz,zz9.99-":U INITIAL 0 LABEL "/ Max" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_TotBetr AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_TotFrw AS DECIMAL FORMAT "zz,zzz,zz9.99-":U INITIAL 0 VIEW-AS FILL-IN NATIVE SIZE 21 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_ZKnr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "Kunde" VIEW-AS FILL-IN NATIVE SIZE 10 BY 1 BGCOLOR 8 NO-UNDO. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134 BY 3.57. DEFINE RECTANGLE RECT-2 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134 BY 1.62. DEFINE RECTANGLE RECT-3 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134 BY 6. DEFINE RECTANGLE RECT-4 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134 BY 2.57. DEFINE RECTANGLE RECT-5 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 134 BY 6.67. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_Bezahlt FOR ADebop SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_Bezahlt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Bezahlt fFrameWin _STRUCTURED QUERY Br_Bezahlt NO-LOCK DISPLAY ADebop.Knr FORMAT "999999":U ADebop.Faknr FORMAT "zzzzz9":U ADebop.Faellig FORMAT "99.99.9999":U ADebop.Fakbetr FORMAT "z,zzz,zz9.99-":U ADebop.Fakbetr_FRW COLUMN-LABEL "Fakbetr Frw" FORMAT "z,zzz,zz9.99-":U ADebop.Zahdat COLUMN-LABEL "Zahldatum" FORMAT "99.99.9999":U ADebop.Zahbetr COLUMN-LABEL "bezahlt" FORMAT "z,zzz,zz9.99-":U ADebop.Zahbetr_FRW COLUMN-LABEL "bezahlt Frw" FORMAT "z,zzz,zz9.99-":U ADebop.Saldo FORMAT "z,zzz,zz9.99-":U ADebop.Saldo_FRW COLUMN-LABEL "Saldo Frw" FORMAT "z,zzz,zz9.99-":U /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS NO-TAB-STOP SIZE 126.8 BY 5.91 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain Btn_Tot AT ROW 2.52 COL 129 CB_ZAHKONTO AT ROW 2.52 COL 10 COLON-ALIGNED F_KumBetr AT ROW 2.52 COL 45 COLON-ALIGNED NO-LABEL NO-TAB-STOP Btn_Kum AT ROW 2.52 COL 69 NO-TAB-STOP F_KonBetr AT ROW 2.52 COL 75 COLON-ALIGNED NO-LABEL NO-TAB-STOP Btn_Kon AT ROW 2.52 COL 99 NO-TAB-STOP F_TotBetr AT ROW 2.52 COL 105 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_KumFrw AT ROW 3.52 COL 45 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_KonFrw AT ROW 3.52 COL 75 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_TotFrw AT ROW 3.52 COL 105 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Datum AT ROW 5.38 COL 10 COLON-ALIGNED CB_Eingabe AT ROW 5.38 COL 38 COLON-ALIGNED F_Faknr AT ROW 5.38 COL 88 COLON-ALIGNED F_Knr AT ROW 5.38 COL 88 COLON-ALIGNED F_Betr AT ROW 5.38 COL 88 COLON-ALIGNED F_ZKnr AT ROW 7.38 COL 10 COLON-ALIGNED NO-TAB-STOP F_Adresse AT ROW 7.38 COL 20.2 COLON-ALIGNED NO-LABEL NO-TAB-STOP F_Saldo AT ROW 7.38 COL 94 COLON-ALIGNED NO-TAB-STOP F_SaldoFrw AT ROW 7.38 COL 113 COLON-ALIGNED NO-LABEL NO-TAB-STOP tDebop.Faknr AT ROW 9.71 COL 10 COLON-ALIGNED NO-LABEL FORMAT "9999999" VIEW-AS FILL-IN NATIVE SIZE 12 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Fakdat AT ROW 9.71 COL 25 COLON-ALIGNED NO-LABEL FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Faellig AT ROW 9.71 COL 41 COLON-ALIGNED NO-LABEL FORMAT "99.99.9999" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.FRW AT ROW 9.71 COL 65 COLON-ALIGNED NO-LABEL FORMAT "x(03)" VIEW-AS FILL-IN NATIVE SIZE 6 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Kurs AT ROW 9.71 COL 71 COLON-ALIGNED NO-LABEL FORMAT "zzz9.9999" VIEW-AS FILL-IN NATIVE SIZE 15 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Fakbetr AT ROW 9.71 COL 90 NO-LABEL FORMAT "zzzzzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Fakbetr_FRW AT ROW 9.71 COL 110 COLON-ALIGNED NO-LABEL FORMAT "zzzzzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Zahbetr AT ROW 11.71 COL 10 COLON-ALIGNED NO-LABEL FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Zahbetr_FRW AT ROW 11.71 COL 32 COLON-ALIGNED NO-LABEL FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Skonto AT ROW 11.71 COL 54 COLON-ALIGNED NO-LABEL FORMAT "zzzzz9.99-" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Skonto_FRW AT ROW 11.71 COL 70 COLON-ALIGNED NO-LABEL FORMAT "zzzzz9.99-" VIEW-AS FILL-IN NATIVE SIZE 16 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Saldo AT ROW 11.71 COL 88 COLON-ALIGNED NO-LABEL FORMAT "zzzzzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP tDebop.Saldo_FRW AT ROW 11.71 COL 110 COLON-ALIGNED NO-LABEL FORMAT "zzzzzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 22 BY 1 BGCOLOR 8 NO-TAB-STOP WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 135.6 BY 21.95. /* DEFINE FRAME statement is approaching 4K Bytes. Breaking it up */ DEFINE FRAME fMain zDebop.Zahbetr_FRW AT ROW 13.62 COL 14 COLON-ALIGNED LABEL "Betrag/Frw" FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 zDebop.FRW AT ROW 13.62 COL 37 COLON-ALIGNED NO-LABEL AUTO-RETURN FORMAT "x(03)" VIEW-AS FILL-IN NATIVE SIZE 8 BY 1 BGCOLOR 15 NO-TAB-STOP zDebop.Kurs AT ROW 13.62 COL 52 COLON-ALIGNED LABEL "Kurs" FORMAT "zzz9.9999" VIEW-AS FILL-IN NATIVE SIZE 15 BY 1 BGCOLOR 15 zDebop.Zahbetr AT ROW 13.62 COL 81 COLON-ALIGNED LABEL "Betrag CHF" FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 zDebop.Skonto_FRW AT ROW 14.62 COL 14 COLON-ALIGNED LABEL "Skonto/Frw" FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 F_SkMFrw AT ROW 14.62 COL 45 COLON-ALIGNED NO-TAB-STOP zDebop.Skonto AT ROW 14.62 COL 81 COLON-ALIGNED LABEL "Skonto CHF" FORMAT "zzz,zzz,zz9.99-" VIEW-AS FILL-IN NATIVE SIZE 23 BY 1 BGCOLOR 15 Br_Bezahlt AT ROW 16.48 COL 5.4 "Frw" VIEW-AS TEXT SIZE 6 BY 1 AT ROW 8.71 COL 67 " Faknr" VIEW-AS TEXT SIZE 10 BY 1 AT ROW 8.71 COL 12 " Betrag in Frw" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 8.71 COL 112 " Fakturadatum" VIEW-AS TEXT SIZE 16 BY 1 AT ROW 8.71 COL 27 " bereits bezahlt" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 10.71 COL 12 " Skonti" VIEW-AS TEXT SIZE 16 BY 1 AT ROW 10.71 COL 56 " Saldo/Frw" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 10.71 COL 112 "Gesamt-Total" VIEW-AS TEXT SIZE 14 BY 1 AT ROW 1.52 COL 114 "Konto-Total" VIEW-AS TEXT SIZE 12 BY 1 AT ROW 1.52 COL 85 " Fällig" VIEW-AS TEXT SIZE 16 BY 1 AT ROW 8.71 COL 43 " Skonti/Frw" VIEW-AS TEXT SIZE 16 BY 1 AT ROW 10.71 COL 72 " Rechnungsbetrag" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 8.71 COL 90 " Kurs" VIEW-AS TEXT SIZE 15 BY 1 AT ROW 8.71 COL 73 "Kummulativ" VIEW-AS TEXT SIZE 13 BY 1 AT ROW 1.52 COL 55 " Saldo" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 10.71 COL 90 " bereits bezahlt/Frw" VIEW-AS TEXT SIZE 22 BY 1 AT ROW 10.71 COL 34 RECT-1 AT ROW 1.24 COL 2 RECT-2 AT ROW 5.05 COL 2 RECT-3 AT ROW 7 COL 2 RECT-4 AT ROW 13.29 COL 2 RECT-5 AT ROW 16.05 COL 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 135.6 BY 21.95. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartFrame Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Other Settings: PERSISTENT-ONLY COMPILE Temp-Tables and Buffers: TABLE: aDebop T "?" NO-UNDO AnaDat Debop TABLE: tDebop T "?" NO-UNDO AnaDat Debop TABLE: zDebop T "?" NO-UNDO AnaDat Debop ADDITIONAL-FIELDS: FIELD SkMax_Frw AS DEC FIELD SkMax AS DEC FIELD ZaKonto AS CHAR END-FIELDS. END-TABLES. */ /* This procedure should always be RUN PERSISTENT. Report the error, */ /* then cleanup and return. */ IF NOT THIS-PROCEDURE:PERSISTENT THEN DO: MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U VIEW-AS ALERT-BOX ERROR BUTTONS OK. RETURN. END. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW fFrameWin ASSIGN HEIGHT = 21.95 WIDTH = 135.6. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW fFrameWin VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME fMain NOT-VISIBLE FRAME-NAME */ /* BROWSE-TAB Br_Bezahlt Skonto fMain */ ASSIGN FRAME fMain:HIDDEN = TRUE. /* SETTINGS FOR COMBO-BOX CB_Eingabe IN FRAME fMain NO-DISPLAY */ /* SETTINGS FOR FILL-IN tDebop.Faellig IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Faellig:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Fakbetr IN FRAME fMain ALIGN-L 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Fakbetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Fakbetr_FRW IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Fakbetr_FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Fakdat IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Fakdat:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Faknr IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Faknr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.FRW IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.FRW IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Adresse IN FRAME fMain 6 */ ASSIGN F_Adresse:READ-ONLY IN FRAME fMain = TRUE. ASSIGN F_Faknr:HIDDEN IN FRAME fMain = TRUE. ASSIGN F_Knr:HIDDEN IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_KonBetr IN FRAME fMain 4 */ ASSIGN F_KonBetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_KonFrw IN FRAME fMain 4 */ ASSIGN F_KonFrw:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_KumBetr IN FRAME fMain 4 */ ASSIGN F_KumBetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_KumFrw IN FRAME fMain 4 */ ASSIGN F_KumFrw:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Saldo IN FRAME fMain 6 */ ASSIGN F_Saldo:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_SaldoFrw IN FRAME fMain 6 */ ASSIGN F_SaldoFrw:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_SkMFrw IN FRAME fMain 5 */ ASSIGN F_SkMFrw:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_TotBetr IN FRAME fMain 4 */ ASSIGN F_TotBetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_TotFrw IN FRAME fMain 4 */ ASSIGN F_TotFrw:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_ZKnr IN FRAME fMain 6 */ ASSIGN F_ZKnr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.Kurs IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.Kurs:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Kurs IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Kurs:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Saldo IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Saldo:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Saldo_FRW IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Saldo_FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.Skonto IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.Skonto:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Skonto IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Skonto:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Skonto_FRW IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Skonto_FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.Skonto_FRW IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.Skonto_FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Zahbetr IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Zahbetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.Zahbetr IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.Zahbetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN tDebop.Zahbetr_FRW IN FRAME fMain 6 EXP-LABEL EXP-FORMAT */ ASSIGN tDebop.Zahbetr_FRW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN zDebop.Zahbetr_FRW IN FRAME fMain 5 EXP-LABEL EXP-FORMAT */ ASSIGN zDebop.Zahbetr_FRW:READ-ONLY IN FRAME fMain = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Bezahlt /* Query rebuild information for BROWSE Br_Bezahlt _TblList = "Temp-Tables.ADebop" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] = Temp-Tables.ADebop.Knr _FldNameList[2] = Temp-Tables.ADebop.Faknr _FldNameList[3] = Temp-Tables.ADebop.Faellig _FldNameList[4] > Temp-Tables.ADebop.Fakbetr "ADebop.Fakbetr" ? "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > Temp-Tables.ADebop.Fakbetr_FRW "ADebop.Fakbetr_FRW" "Fakbetr Frw" "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > Temp-Tables.ADebop.Zahdat "ADebop.Zahdat" "Zahldatum" ? "date" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[7] > Temp-Tables.ADebop.Zahbetr "ADebop.Zahbetr" "bezahlt" "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[8] > Temp-Tables.ADebop.Zahbetr_FRW "ADebop.Zahbetr_FRW" "bezahlt Frw" "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[9] > Temp-Tables.ADebop.Saldo "ADebop.Saldo" ? "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[10] > Temp-Tables.ADebop.Saldo_FRW "ADebop.Saldo_FRW" "Saldo Frw" "z,zzz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is OPENED */ /* BROWSE Br_Bezahlt */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain /* Query rebuild information for FRAME fMain _Options = "NO-LOCK INDEXED-REPOSITION KEEP-EMPTY" _Query is NOT OPENED */ /* FRAME fMain */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME fMain &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL fMain fFrameWin ON END-ERROR OF FRAME fMain DO: APPLY 'END-ERROR' TO {&WINDOW-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Kon &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kon fFrameWin ON CHOOSE OF Btn_Kon IN FRAME fMain /* O */ DO: DEF VAR Konto AS CHAR NO-UNDO. Konto = CB_ZAHKONTO:SCREEN-VALUE IN FRAME {&FRAME-NAME}. FIND FIRST tTotale WHERE tTotale.Konto = Konto NO-ERROR. IF AVAILABLE tTotale THEN DO: tTotale.Betr = 0. tTotale.BetrFrw = 0. END. RUN DISPLAY_TOTALE. APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Kum &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Kum fFrameWin ON CHOOSE OF Btn_Kum IN FRAME fMain /* K */ DO: F_KumBetr = 0. F_KumFrw = 0. RUN DISPLAY_TOTALE. APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Tot &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Tot fFrameWin ON CHOOSE OF Btn_Tot IN FRAME fMain /* T */ DO: F_TotBetr = 0. F_TotFrw = 0. RUN DISPLAY_TOTALE. APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_Eingabe &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Eingabe fFrameWin ON END-ERROR OF CB_Eingabe IN FRAME fMain /* Eingabe */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Eingabe fFrameWin ON ENTRY OF CB_Eingabe IN FRAME fMain /* Eingabe */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Eingabe fFrameWin ON RETURN OF CB_Eingabe IN FRAME fMain /* Eingabe */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Eingabe fFrameWin ON VALUE-CHANGED OF CB_Eingabe IN FRAME fMain /* Eingabe */ DO: RUN ENABLE_DISABLE ( INPUT SELF:SCREEN-VALUE ). PUT-KEY-VALUE SECTION 'Zahlen' KEY 'Eingabe' VALUE SELF:SCREEN-VALUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_ZAHKONTO &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHKONTO fFrameWin ON END-ERROR OF CB_ZAHKONTO IN FRAME fMain /* Konto */ DO: RETURN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHKONTO fFrameWin ON ENTRY OF CB_ZAHKONTO IN FRAME fMain /* Konto */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHKONTO fFrameWin ON RETURN OF CB_ZAHKONTO IN FRAME fMain /* Konto */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHKONTO fFrameWin ON TAB OF CB_ZAHKONTO IN FRAME fMain /* Konto */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHKONTO fFrameWin ON VALUE-CHANGED OF CB_ZAHKONTO IN FRAME fMain /* Konto */ DO: RUN DISPLAY_TOTALE. PUT-KEY-VALUE SECTION 'Zahlen' KEY 'Konto' VALUE SELF:SCREEN-VALUE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.FRW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.FRW fFrameWin ON ENTRY OF zDebop.FRW IN FRAME fMain /* FRW */ DO: IF SELF:SCREEN-VALUE = BasFrw THEN DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Betr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betr fFrameWin ON END-ERROR OF F_Betr IN FRAME fMain /* Rechnungsbetrag */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betr fFrameWin ON ENTRY OF F_Betr IN FRAME fMain /* Rechnungsbetrag */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betr fFrameWin ON LEAVE OF F_Betr IN FRAME fMain /* Rechnungsbetrag */ DO: IF NOT FAkt THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. DEF VAR LastEnter AS HANDLE NO-UNDO. DEF VAR LastLeave AS HANDLE NO-UNDO. LastEnter = LAST-EVENT:WIDGET-ENTER. LastLeave = LAST-EVENT:WIDGET-LEAVE. IF VALID-HANDLE(LastEnter) THEN DO: IF LastEnter:NAME = 'CB_Eingabe' THEN RETURN. IF LastEnter:NAME = 'CB_ZAHKONTO' THEN RETURN. IF LastEnter:NAME = 'F_Datum' THEN RETURN. END. RUN BETRAG. IF RETURN-VALUE = 'ERROR' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. RUN VORBEREITEN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Betr fFrameWin ON RETURN OF F_Betr IN FRAME fMain /* Rechnungsbetrag */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Datum &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin ON END-ERROR OF F_Datum IN FRAME fMain /* Datum */ DO: APPLY 'ENTRY' TO CB_ZAHKONTO IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin ON ENTRY OF F_Datum IN FRAME fMain /* Datum */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin ON F11 OF F_Datum IN FRAME fMain /* Datum */ DO: APPLY 'TAB' TO SELF. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum fFrameWin ON LEAVE OF F_Datum IN FRAME fMain /* Datum */ DO: IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. DEF VAR LastEnter AS HANDLE NO-UNDO. DEF VAR LastLeave AS HANDLE NO-UNDO. LastEnter = LAST-EVENT:WIDGET-ENTER. LastLeave = LAST-EVENT:WIDGET-LEAVE. IF VALID-HANDLE(LastEnter) THEN DO: IF LastEnter:NAME = 'CB_ZAHKONTO' THEN RETURN. END. DO WITH FRAME {&FRAME-NAME}: ERROR-STATUS:ERROR = FALSE. F_Datum = DATE(SELF:SCREEN-VALUE) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. IF F_Datum = ? THEN DO: F_Datum = TODAY. DISPLAY F_Datum. END. IF F_Datum < sDatum AND KEYLABEL(LASTKEY) <> 'F11' THEN DO: MESSAGE 'Datum nicht erlaubt' VIEW-AS ALERT-BOX. APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Faknr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin ON END-ERROR OF F_Faknr IN FRAME fMain /* Rechnungsnummer */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin ON ENTRY OF F_Faknr IN FRAME fMain /* Rechnungsnummer */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin ON LEAVE OF F_Faknr IN FRAME fMain /* Rechnungsnummer */ DO: IF NOT FAkt THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. DEF VAR LastEnter AS HANDLE NO-UNDO. DEF VAR LastLeave AS HANDLE NO-UNDO. LastEnter = LAST-EVENT:WIDGET-ENTER. LastLeave = LAST-EVENT:WIDGET-LEAVE. IF VALID-HANDLE(LastEnter) THEN DO: IF LastEnter:NAME = 'CB_Eingabe' THEN RETURN. IF LastEnter:NAME = 'CB_ZAHKONTO' THEN RETURN. IF LastEnter:NAME = 'F_Datum' THEN RETURN. END. RUN FAKTURANUMMER. IF RETURN-VALUE = 'ERROR' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. RUN VORBEREITEN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr fFrameWin ON RETURN OF F_Faknr IN FRAME fMain /* Rechnungsnummer */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Knr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin ON ALT-F OF F_Knr IN FRAME fMain /* Kundennummer */ DO: DEF VAR cAdresse AS CHAR NO-UNDO. DEF VAR aRecid AS RECID NO-UNDO. KUNDENSUCHE: DO WHILE TRUE: RUN g-suchen-adresse.w (INPUT '', INPUT 'Adresse', OUTPUT aRecid ) NO-ERROR. IF aRecid = ? THEN RETURN NO-APPLY. FIND Adresse NO-LOCK WHERE RECID(Adresse) = aRecid NO-ERROR. LEAVE. END. SELF:SCREEN-VALUE = STRING(Adresse.Knr). APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin ON END-ERROR OF F_Knr IN FRAME fMain /* Kundennummer */ DO: APPLY 'ENTRY' TO F_Datum IN FRAME {&FRAME-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin ON ENTRY OF F_Knr IN FRAME fMain /* Kundennummer */ DO: IF FMut THEN DO: APPLY 'END-ERROR'. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin ON LEAVE OF F_Knr IN FRAME fMain /* Kundennummer */ DO: IF NOT FAkt THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. DEF VAR LastEnter AS HANDLE NO-UNDO. DEF VAR LastLeave AS HANDLE NO-UNDO. LastEnter = LAST-EVENT:WIDGET-ENTER. LastLeave = LAST-EVENT:WIDGET-LEAVE. IF VALID-HANDLE(LastEnter) THEN DO: IF LastEnter:NAME = 'CB_Eingabe' THEN RETURN. IF LastEnter:NAME = 'CB_ZAHKONTO' THEN RETURN. IF LastEnter:NAME = 'F_Datum' THEN RETURN. IF LastEnter:NAME = 'F_Knr' THEN RETURN. END. RUN KUNDENNUMMER. IF RETURN-VALUE = 'ERROR' THEN DO: APPLY 'ENTRY' TO SELF. RETURN NO-APPLY. END. RUN VORBEREITEN. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr fFrameWin ON RETURN OF F_Knr IN FRAME fMain /* Kundennummer */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.Kurs &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Kurs fFrameWin ON ENTRY OF zDebop.Kurs IN FRAME fMain /* Kurs */ DO: IF zDebop.FRW:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BasFrw THEN DO: IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN APPLY 'BACK-TAB' TO SELF. ELSE APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Kurs fFrameWin ON LEAVE OF zDebop.Kurs IN FRAME fMain /* Kurs */ DO: IF NOT FAkt THEN RETURN. IF NOT SELF:MODIFIED THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. RUN RECHNEN ( INPUT 2 ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.Skonto &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Skonto fFrameWin ON END-ERROR OF zDebop.Skonto IN FRAME fMain /* Skonto CHF */ DO: APPLY 'ENTRY' TO zDebop.Zahbetr_FRW. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Skonto fFrameWin ON RETURN OF zDebop.Skonto IN FRAME fMain /* Skonto CHF */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.Skonto_FRW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Skonto_FRW fFrameWin ON LEAVE OF zDebop.Skonto_FRW IN FRAME fMain /* Skonto/Frw */ DO: IF NOT FAkt THEN RETURN. IF NOT SELF:MODIFIED THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. RUN RECHNEN ( INPUT 4 ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.Zahbetr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Zahbetr fFrameWin ON ENTRY OF zDebop.Zahbetr IN FRAME fMain /* Betrag CHF */ DO: IF zDebop.FRW:SCREEN-VALUE IN FRAME {&FRAME-NAME} = BasFrw THEN DO: IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN APPLY 'BACK-TAB' TO SELF. ELSE APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Zahbetr fFrameWin ON LEAVE OF zDebop.Zahbetr IN FRAME fMain /* Betrag CHF */ DO: IF NOT FAkt THEN RETURN. IF NOT SELF:MODIFIED THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. RUN RECHNEN ( INPUT 3 ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME zDebop.Zahbetr_FRW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Zahbetr_FRW fFrameWin ON ENTRY OF zDebop.Zahbetr_FRW IN FRAME fMain /* Betrag/Frw */ DO: /* IF zDebop.FRW = BasFrw THEN DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL zDebop.Zahbetr_FRW fFrameWin ON LEAVE OF zDebop.Zahbetr_FRW IN FRAME fMain /* Betrag/Frw */ DO: IF NOT FAkt THEN RETURN. IF NOT SELF:MODIFIED THEN RETURN. IF KEYFUNCTION(LASTKEY) = 'END-ERROR' THEN RETURN. RUN RECHNEN ( INPUT 1 ). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Bezahlt &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin /* *************************** Main Block *************************** */ ProgName = ''. sAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR. IF sAktiv THEN DO: Firma = DYNAMIC-FUNCTION('getMandant':U ) NO-ERROR. D1Firma = DYNAMIC-FUNCTION('getMandant':U ) NO-ERROR. AdFirma = DYNAMIC-FUNCTION('getADMandant':U ) NO-ERROR. FBFirma = DYNAMIC-FUNCTION('getFBMandant':U ) NO-ERROR. GlobFir = D1Firma. END. IF FBFirma = '' THEN FBFirma = '9999'. F_KumBetr = 0. F_KumFrw = 0. F_TotBetr = 0. F_TotFrw = 0. EMPTY TEMP-TABLE tTotale. IF sAktiv THEN DO: FIND Steuer USE-INDEX Steuer-k1 WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR. FIND SteuNr USE-INDEX SteuNr-k1 WHERE SteuNr.Firma = Firma NO-LOCK NO-ERROR. ASSIGN SkTolPr = SteuNr.Sk_Tol_% SkTolBe = SteuNr.Sk_Tol_Max BasFrw = DYNAMIC-FUNCTION('getFwFRW':U). END. SUBSCRIBE TO 'REPOSADRESSE' ANYWHERE. SESSION:DATA-ENTRY-RETURN = TRUE. /* TRIGGERS */ ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: IF FMut THEN DO WITH FRAME {&FRAME-NAME}: EMPTY TEMP-TABLE zDebop. CREATE zDebop. DISPLAY {&List-5}. zDebop.Zahbetr_Frw:READ-ONLY = TRUE. zDebop.Skonto_Frw :READ-ONLY = TRUE. zDebop.Zahbetr :READ-ONLY = TRUE. zDebop.Skonto :READ-ONLY = TRUE. zDebop.Kurs :READ-ONLY = TRUE. zDebop.Skonto_Frw :BGCOLOR = 15. FMut = FALSE. APPLY 'ENTRY' TO F_Datum. RETURN NO-APPLY. END. APPLY 'ENTRY' TO CB_ZAHKONTO. RETURN NO-APPLY. END. ON 'F9':U OF zDebop.Zahbetr_Frw, zDebop.Kurs, zDebop.Zahbetr, zDebop.Skonto_Frw , zDebop.Skonto IN FRAME {&FRAME-NAME} DO: IF NOT FMut THEN RETURN NO-APPLY. RUN TEST_EINGABEN. IF RETURN-VALUE = '' THEN RETURN. ELSE RETURN NO-APPLY. END. ON 'ALT-S':U OF zDebop.Zahbetr_Frw, zDebop.Kurs, zDebop.Zahbetr, zDebop.Skonto_Frw , zDebop.Skonto IN FRAME {&FRAME-NAME} DO: IF NOT FMut THEN RETURN NO-APPLY. RUN TEST_EINGABEN. IF RETURN-VALUE = '' THEN RETURN. ELSE RETURN NO-APPLY. END. ON 'LEAVE':U OF zDebop.Skonto IN FRAME {&FRAME-NAME} DO: IF NOT FAkt THEN RETURN. IF NOT FMut THEN RETURN NO-APPLY. IF KEYFUNCTION(LASTKEY) = 'BACK-TAB' THEN RETURN. DEF VAR LastEnter AS HANDLE NO-UNDO. LastEnter = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LastEnter) THEN DO: IF LastEnter:NAME = 'Zahbetr_Frw' THEN RETURN. IF LastEnter:NAME = 'Kurs' THEN RETURN. IF LastEnter:NAME = 'Zahbetr' THEN RETURN. IF LastEnter:NAME = 'Skonto_Frw' THEN RETURN. END. RUN TEST_EINGABEN. IF RETURN-VALUE = '' THEN RETURN. ELSE RETURN NO-APPLY. END. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN /* Now enable the interface if in test mode - otherwise this happens when the object is explicitly initialized from its container. */ RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABBRUCH fFrameWin PROCEDURE ABBRUCH : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: FAkt = FALSE. EMPTY TEMP-TABLE zDebop. CREATE zDebop. DISPLAY {&List-5}. zDebop.Zahbetr_Frw:READ-ONLY = TRUE. zDebop.Skonto_Frw :READ-ONLY = TRUE. zDebop.Zahbetr :READ-ONLY = TRUE. zDebop.Skonto :READ-ONLY = TRUE. zDebop.Kurs :READ-ONLY = TRUE. zDebop.Skonto_Frw :BGCOLOR = 15. FMut = FALSE. APPLY 'ENTRY' TO F_Datum. RETURN NO-APPLY. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _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 BETRAG fFrameWin PROCEDURE BETRAG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR opRecid AS RECID NO-UNDO. DEF VAR Betrag AS DEC NO-UNDO. DEF VAR ii AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Betr. Betrag = F_Betr . ii = 0. FOR EACH Debop USE-INDEX Debop-k3 WHERE Debop.Firma = Firma AND Debop.Fakbetr_Frw = Betrag AND Debop.Saldo_Frw <> 0 NO-LOCK: ii = ii + 1. opRecid = RECID(Debop). IF ii > 1 THEN LEAVE. END. RELEASE Debop. IF ii = 1 THEN DO: FIND Debop WHERE RECID(Debop) = opRecid NO-LOCK NO-ERROR. END. DO WHILE TRUE: IF AVAILABLE Debop THEN LEAVE. RUN g-anzeig-debop.w ( INPUT 3, INPUT F_Betr, OUTPUT opRecid ). IF opRecid = ? THEN RETURN 'ERROR'. FIND Debop WHERE RECID(Debop) = opRecid NO-LOCK NO-ERROR. LEAVE. END. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Debop.Knr NO-LOCK NO-ERROR. F_ZKnr = Adresse.Knr. F_Adresse = Adresse.Anzeig_Br. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = Debop.Knr NO-LOCK NO-ERROR. F_Saldo = Debst.Saldo. F_SaldoFrw = Debst.Saldo_Frw. FIND FIRST TDebop NO-ERROR. IF NOT AVAILABLE TDebop THEN CREATE TDebop. BUFFER-COPY Debop TO TDebop. DISPLAY {&List-6}. F_Betr = Debop.Fakbetr_Frw. DISPLAY F_Betr. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_ZAHLUNG fFrameWin PROCEDURE CREATE_ZAHLUNG : /*------------------------------------------------------------------------------*/ /* Purpose: Super Override */ /* Parameters: */ /* Notes: */ /*------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER iprRecid AS RECID NO-UNDO. DEFINE BUFFER bzDebop FOR zDebop. DEFINE VARIABLE iTrans AS INTEGER NO-UNDO. FIND bzDebop WHERE RECID (bzDebop) = iprRecid. FIND LAST Zahlung NO-LOCK WHERE Zahlung.Firma = bzDebop.Firma NO-ERROR. IF AVAILABLE Zahlung THEN iTrans = Zahlung.Trnr + 1. ELSE iTrans = 1. CREATE Zahlung. ASSIGN Zahlung.Trnr = iTrans Zahlung.Firma = bzDebop.Firma Zahlung.Knr = bzDebop.Knr Zahlung.Faknr = TRIM(STRING(bzDebop.Faknr,'>>>>>>9')) Zahlung.Datum_1 = bzDebop.Zahdat Zahlung.Datum_2 = bzDebop.Zahdat Zahlung.Datum_3 = bzDebop.Zahdat Zahlung.Frw = bzDebop.FRW Zahlung.Kurs = bzDebop.Kurs Zahlung.Faktor = bzDebop.Faktor Zahlung.Zahl_Art = 09 Zahlung.Herk = 61 Zahlung.Konto_S = bzDebop.ZaKonto Zahlung.Konto_H = bzDebop.Konto Zahlung.Betrag = bzDebop.Zahbetr_FRW Zahlung.Skonto = bzDebop.Skonto_FRW . RUN ZAHLUNGEN_BUCHEN ( bzDebop.Firma, 09). . END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI fFrameWin _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 fMain. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DISPLAY_TOTALE fFrameWin PROCEDURE DISPLAY_TOTALE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR Konto AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: Konto = CB_ZAHKONTO:SCREEN-VALUE. FIND FIRST tTotale WHERE tTotale.Konto = Konto NO-ERROR. IF NOT AVAILABLE tTotale THEN DO: CREATE tTotale. ASSIGN tTotale.Konto = Konto. END. F_KonBetr = tTotale.Betr. F_KonFrw = tTotale.BetrFrw. DISPLAY F_KumBetr F_KumFrw F_KonBetr F_KonFrw F_TotBetr F_TotFrw. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENABLE_DISABLE fFrameWin PROCEDURE ENABLE_DISABLE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipFeld AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: CASE ipFeld: WHEN '1' THEN DO: F_Knr :SENSITIVE = FALSE. F_Betr :SENSITIVE = FALSE. F_Faknr:SENSITIVE = TRUE . F_Knr :HIDDEN = TRUE . F_Betr :HIDDEN = TRUE . F_Faknr:HIDDEN = FALSE. END. WHEN '2' THEN DO: F_Betr :SENSITIVE = FALSE. F_Faknr:SENSITIVE = FALSE. F_Knr :SENSITIVE = TRUE . F_Betr :HIDDEN = TRUE . F_Faknr:HIDDEN = TRUE . F_Knr :HIDDEN = FALSE. END. WHEN '3' THEN DO: F_Knr :SENSITIVE = FALSE. F_Faknr:SENSITIVE = FALSE. F_Betr :SENSITIVE = TRUE . F_Knr :HIDDEN = TRUE . F_Faknr:HIDDEN = TRUE . F_Betr :HIDDEN = FALSE. END. END CASE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _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 CB_ZAHKONTO F_KumBetr F_KonBetr F_TotBetr F_KumFrw F_KonFrw F_TotFrw F_Datum F_Faknr F_Knr F_Betr F_ZKnr F_Adresse F_Saldo F_SaldoFrw F_SkMFrw WITH FRAME fMain. IF AVAILABLE tDebop THEN DISPLAY tDebop.Faknr tDebop.Fakdat tDebop.Faellig tDebop.FRW tDebop.Kurs tDebop.Fakbetr tDebop.Fakbetr_FRW tDebop.Zahbetr tDebop.Zahbetr_FRW tDebop.Skonto tDebop.Skonto_FRW tDebop.Saldo tDebop.Saldo_FRW WITH FRAME fMain. IF AVAILABLE zDebop THEN DISPLAY zDebop.Zahbetr_FRW zDebop.FRW zDebop.Kurs zDebop.Zahbetr zDebop.Skonto_FRW zDebop.Skonto WITH FRAME fMain. ENABLE Btn_Tot RECT-1 RECT-2 RECT-3 RECT-4 RECT-5 CB_ZAHKONTO F_KumBetr Btn_Kum F_KonBetr Btn_Kon F_TotBetr F_KumFrw F_KonFrw F_TotFrw F_Datum CB_Eingabe F_Faknr F_Knr F_Betr F_ZKnr F_Adresse F_Saldo F_SaldoFrw tDebop.Faknr tDebop.Fakdat tDebop.Faellig tDebop.FRW tDebop.Kurs tDebop.Fakbetr tDebop.Fakbetr_FRW tDebop.Zahbetr tDebop.Zahbetr_FRW tDebop.Skonto tDebop.Skonto_FRW tDebop.Saldo tDebop.Saldo_FRW zDebop.Zahbetr_FRW zDebop.FRW zDebop.Kurs zDebop.Zahbetr zDebop.Skonto_FRW F_SkMFrw zDebop.Skonto Br_Bezahlt WITH FRAME fMain. {&OPEN-BROWSERS-IN-QUERY-fMain} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURANUMMER fFrameWin PROCEDURE FAKTURANUMMER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR opRecid AS RECID NO-UNDO. DEF VAR Faknr AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Faknr. Faknr = F_Faknr. FIND Debop NO-LOCK USE-INDEX Debop-k2 WHERE Debop.Firma = Firma AND Debop.Faknr = Faknr NO-ERROR. DO WHILE TRUE: IF AVAILABLE Debop THEN LEAVE. RUN g-anzeig-debop.w ( INPUT 1, INPUT F_Faknr, OUTPUT opRecid ). IF opRecid = ? THEN RETURN 'ERROR'. FIND Debop WHERE RECID(Debop) = opRecid NO-LOCK NO-ERROR. LEAVE. END. FIND Adresse NO-LOCK USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Debop.Knr NO-ERROR. F_ZKnr = Adresse.Knr. F_Adresse = Adresse.Anzeig_Br. FIND Debst NO-LOCK USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = Debop.Knr NO-ERROR. F_Saldo = Debst.Saldo. F_SaldoFrw = Debst.Saldo_Frw. FIND FIRST tDebop NO-ERROR. IF NOT AVAILABLE tDebop THEN CREATE tDebop. BUFFER-COPY Debop TO tDebop. DISPLAY {&List-6}. F_Faknr = Debop.Faknr. DISPLAY F_Faknr. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA_VON_OP fFrameWin PROCEDURE FAKTURA_VON_OP : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipFaknr AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: CB_Eingabe:SCREEN-VALUE = '1'. APPLY 'VALUE-CHANGED' TO CB_Eingabe. F_Faknr = ipFaknr. DISPLAY F_Faknr. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject fFrameWin PROCEDURE hideObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ FAkt = FALSE. RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR cString AS CHAR NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF sAktiv THEN DO: RUN COMBO_ZAHLUNGSART (INPUT CB_ZAHKONTO:HANDLE) NO-ERROR. GET-KEY-VALUE SECTION 'Zahlen' KEY 'Konto' VALUE cString. IF cString = ? THEN cString = ''. IF cString = '' THEN cString = ENTRY(2, CB_ZAHKONTO:LIST-ITEM-PAIRS, ';'). CB_ZAHKONTO:SCREEN-VALUE = cString NO-ERROR. RUN DISPLAY_TOTALE. END. END. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: GET-KEY-VALUE SECTION 'Zahlen' KEY 'Eingabe' VALUE cString. IF cString = ? THEN cString = ''. IF cString = '' THEN cString = '1'. CB_Eingabe:SCREEN-VALUE = cString NO-ERROR. RUN ENABLE_DISABLE ( INPUT CB_Eingabe:SCREEN-VALUE ). sDatum = DYNAMIC-FUNCTION('getSperrdatum':U) NO-ERROR. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KUNDENNUMMER fFrameWin PROCEDURE KUNDENNUMMER : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR opRecid AS RECID NO-UNDO. DEF VAR Knr AS INT NO-UNDO. DEF VAR ii AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Knr . Knr = F_Knr . ii = 0. FOR EACH Debop USE-INDEX Debop-k1 WHERE Debop.Firma = Firma AND Debop.Knr = Knr AND Debop.Saldo_Frw <> 0 NO-LOCK: ii = ii + 1. opRecid = RECID(Debop). IF ii > 1 THEN LEAVE. END. RELEASE Debop. IF ii = 1 THEN DO: FIND Debop WHERE RECID(Debop) = opRecid NO-LOCK NO-ERROR. END. DO WHILE TRUE: IF AVAILABLE Debop THEN LEAVE. RUN g-anzeig-debop.w ( INPUT 2, INPUT F_Knr, OUTPUT opRecid ). IF opRecid = ? THEN RETURN 'ERROR'. FIND Debop WHERE RECID(Debop) = opRecid NO-LOCK NO-ERROR. LEAVE. END. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Debop.Knr NO-LOCK NO-ERROR. F_ZKnr = Adresse.Knr. F_Adresse = Adresse.Anzeig_Br. FIND Debst USE-INDEX Debst-k1 WHERE Debst.Firma = Firma AND Debst.Knr = Debop.Knr NO-LOCK NO-ERROR. F_Saldo = Debst.Saldo. F_SaldoFrw = Debst.Saldo_Frw. FIND FIRST TDebop NO-ERROR. IF NOT AVAILABLE TDebop THEN CREATE TDebop. BUFFER-COPY Debop TO TDebop. PUBLISH 'REPOSADRESSE' ( INPUT RECID(Adresse) ). DISPLAY {&List-6}. F_Knr = Debop.Knr. DISPLAY F_Knr. END. RETURN ''. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENQUERY_ADEBOP fFrameWin PROCEDURE OPENQUERY_ADEBOP : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ OPEN QUERY Br_Bezahlt FOR EACH ADebop NO-LOCK. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RECHNEN fFrameWin PROCEDURE RECHNEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipArt AS INT NO-UNDO. DEF VAR ZaFrw AS DEC NO-UNDO. DEF VAR Za AS DEC NO-UNDO. DEF VAR SkFrw AS DEC NO-UNDO. DEF VAR Sk AS DEC NO-UNDO. DEF VAR Saldo AS DEC NO-UNDO. DEF VAR SaldoBW AS DEC NO-UNDO. DEF VAR Skonto AS DEC NO-UNDO. DEF VAR SkontoBW AS DEC NO-UNDO. DEF VAR Kurs AS DEC DECIMALS 8 NO-UNDO. DEF VAR Faktor AS INT NO-UNDO. DEF VAR PluMin AS INT NO-UNDO. DO WITH FRAME {&FRAME-NAME}: IF zDebop.Fakbetr_FRW < 0 THEN PluMin = -1. ELSE PluMin = +1. ZaFrw = DECIMAL(zDebop.Zahbetr_Frw:SCREEN-VALUE). Za = DECIMAL(zDebop.Zahbetr :SCREEN-VALUE). SkFrw = DECIMAL(zDebop.Skonto_Frw :SCREEN-VALUE). Sk = DECIMAL(zDebop.Skonto :SCREEN-VALUE). Kurs = DECIMAL(zDebop.Kurs :SCREEN-VALUE). Faktor = IF zDebop.Faktor > 0 THEN zDebop.Faktor ELSE 1. IF Faktor = ? THEN Faktor = 1. IF ZaFrw = 0 AND SkFrw = 0 AND Za = 0 AND Sk = 0 THEN RETURN. CASE ipArt: WHEN 1 THEN Za = ZaFrw * Kurs / Faktor. WHEN 2 THEN Za = ZaFrw * Kurs / Faktor. WHEN 3 THEN ZaFrw = Za * Faktor / Kurs . WHEN 4 THEN Sk = SkFrw * Kurs / Faktor. END. Saldo = zDebop.Saldo_Frw - ZaFrw. Skonto = SkFrw. Saldo = Saldo - Skonto. SaldoBw = zDebop.Saldo - Za. SkontoBw = Sk. SaldoBw = SaldoBw - SkontoBw. IF Saldo = 0 THEN DO: IF zDebop.Frw = BasFrw THEN DO: IF SaldoBW <> 0 THEN Za = Za + SaldoBW. END. END. DO WHILE TRUE: IF Saldo = 0 THEN LEAVE. IF ipArt = 4 THEN LEAVE. IF zDebop.Fakbetr_Frw > 0 AND ZaFrw < 0 THEN LEAVE. IF zDebop.Fakbetr_Frw < 0 AND ZaFrw > 0 THEN LEAVE. IF ABS(zDebop.Fakbetr_Frw) = ABS(ZaFrw) THEN LEAVE. Skonto = SkFrw + Saldo. IF (Skonto * PluMin) > (zDebop.SkMax_Frw * PluMin) THEN DO: IF SkFrw >= zDebop.SkMax_Frw THEN LEAVE. SkFrw = zDebop.SkMax_Frw. Sk = SkFrw * Kurs / Faktor. END. ELSE DO: SkFrw = SkFrw + Saldo. Sk = SkFrw * Kurs / Faktor. END. LEAVE. END. zDebop.Zahbetr_Frw:SCREEN-VALUE = STRING(ZaFrw). zDebop.Kurs :SCREEN-VALUE = STRING(Kurs). zDebop.Zahbetr :SCREEN-VALUE = STRING(Za). zDebop.Skonto_Frw :SCREEN-VALUE = STRING(SkFrw). zDebop.Skonto :SCREEN-VALUE = STRING(Sk). zDebop.Zahbetr_Frw:MODIFIED = FALSE. zDebop.Kurs :MODIFIED = FALSE. zDebop.Zahbetr :MODIFIED = FALSE. zDebop.Skonto_Frw :MODIFIED = FALSE. zDebop.Skonto :MODIFIED = FALSE. Skonto = (SkFrw + TDebop.Skonto_Frw) * PluMin. IF Skonto > (zDebop.SkMax_Frw * PluMin) THEN zDebop.Skonto_Frw:BGCOLOR = 12. ELSE zDebop.Skonto_Frw:BGCOLOR = 15. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPOSADRESSE fFrameWin PROCEDURE REPOSADRESSE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. FIND Adresse WHERE RECID(Adresse) = ipRecid NO-LOCK NO-ERROR. IF AVAILABLE Adresse THEN iKnr = Adresse.Knr. DO WITH FRAME {&FRAME-NAME}: IF F_Knr:HIDDEN = FALSE THEN DO: F_Knr:SCREEN-VALUE = STRING(iKnr). APPLY 'ENTRY' TO F_Knr. RETURN NO-APPLY. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN fFrameWin PROCEDURE TEST_EINGABEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ZaFrw AS DEC NO-UNDO. DEF VAR Za AS DEC NO-UNDO. DEF VAR SkFrw AS DEC NO-UNDO. DEF VAR Sk AS DEC NO-UNDO. DEF VAR Kurs AS DEC DECIMALS 8 NO-UNDO. DEF VAR Faktor AS INT NO-UNDO. DEF VAR Saldo AS DEC NO-UNDO. DEF VAR SkMax AS DEC NO-UNDO. DEF VAR Ja AS LOG NO-UNDO. DEF VAR hDebop AS HANDLE NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ZaFrw = DECIMAL(zDebop.Zahbetr_Frw:SCREEN-VALUE). Za = DECIMAL(zDebop.Zahbetr :SCREEN-VALUE). SkFrw = DECIMAL(zDebop.Skonto_Frw :SCREEN-VALUE). Sk = DECIMAL(zDebop.Skonto :SCREEN-VALUE). Kurs = DECIMAL(zDebop.Kurs :SCREEN-VALUE). Faktor = zDebop.Faktor. IF Faktor = 0 THEN DO: FIND Waehrung NO-LOCK WHERE Waehrung.Firma = zDebop.Firma AND Waehrung.Frw = zDebop.Frw NO-ERROR. Faktor = Waehrung.Faktor. IF Faktor = 0 THEN Faktor = 1. zDebop.Faktor = Faktor. REPEAT TRANSACTION: FIND Debop WHERE Debop.Firma = zDebop.Firma AND Debop.Knr = zDebop.Knr AND Debop.Faknr = zDebop.Faknr. Debop.Faktor = Faktor. RELEASE Debop. LEAVE. END. END. ja = FALSE. IF ZaFrw = 0 AND SkFrw = 0 THEN DO: MESSAGE 'Wollen Sie eine "NULL"-Zahlung machen ? ' VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE Ja. IF NOT Ja THEN RETURN 'ERROR'. END. IF NOT Ja THEN DO: Saldo = tDebop.Saldo_Frw - ZaFrw - SkFrw. IF Saldo <> 0 THEN DO: Ja = FALSE. MESSAGE 'Es bleibt ein Restsaldo von ' tDebop.Frw ' ' Saldo '! ' VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE ja. IF NOT Ja THEN RETURN 'ERROR'. END. END. ASSIGN {&List-5}. zDebop.ZaKonto = CB_ZAHKONTO:SCREEN-VALUE. zDebop.ZahDat = DATE(F_Datum:SCREEN-VALUE). hDebop = BUFFER zDebop:HANDLE. RUN ZAHLUNG_BUCHEN ( INPUT hDebop, 61 ). IF RETURN-VALUE <> '' THEN RETURN 'ERROR'. FIND FIRST tTotale WHERE tTotale.Konto = zDebop.ZaKonto NO-ERROR. IF NOT AVAILABLE tTotale THEN DO: CREATE tTotale. ASSIGN tTotale.Konto = zDebop.ZaKonto. END. tTotale.BetrFrw = tTotale.BetrFrw + ZaFrw. tTotale.Betr = tTotale.Betr + Za. F_KumBetr = F_KumBetr + Za. F_KumFrw = F_KumFrw + ZaFrw. F_TotBetr = F_TotBetr + Za. F_TotFrw = F_TotFrw + ZaFrw. F_KonBetr = tTotale.Betr. F_KonFrw = tTotale.BetrFrw. FIND Debop USE-INDEX Debop-k1 WHERE Debop.Firma = tDebop.Firma AND Debop.Knr = tDebop.Knr AND Debop.Faknr = tDebop.Faknr NO-LOCK NO-ERROR. IF AVAILABLE Debop THEN DO: FIND ADebop USE-INDEX Debop-k1 WHERE ADebop.Firma = Debop.Firma AND ADebop.Knr = Debop.Knr AND ADebop.Faknr = Debop.Faknr NO-ERROR. IF AVAILABLE ADebop THEN DELETE ADebop. CREATE ADebop. BUFFER-COPY Debop TO ADebop. RUN OPENQUERY_ADEBOP. END. EMPTY TEMP-TABLE zDebop. CREATE zDebop. DISPLAY {&List-5}. DISPLAY {&List-4}. zDebop.Zahbetr_Frw:READ-ONLY = TRUE. zDebop.Skonto_Frw :READ-ONLY = TRUE. zDebop.Zahbetr :READ-ONLY = TRUE. zDebop.Skonto :READ-ONLY = TRUE. zDebop.Kurs :READ-ONLY = TRUE. zDebop.Skonto_Frw :BGCOLOR = 15. FMut = FALSE. APPLY 'ENTRY' TO F_Datum. RETURN ''. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. FAkt = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VORBEREITEN fFrameWin PROCEDURE VORBEREITEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR hBuffer AS HANDLE NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Datum. FIND FIRST tDebop NO-ERROR. IF NOT AVAILABLE tDebop THEN RETURN. FIND Waehrung NO-LOCK WHERE Waehrung.Firma = tDebop.Firma AND Waehrung.Frw = tDebop.Frw NO-ERROR. FIND FIRST zDebop NO-ERROR. IF NOT AVAILABLE zDebop THEN CREATE zDebop. BUFFER-COPY tDebop TO zDebop. ASSIGN zDebop.Zahdat = F_Datum zDebop.Kurs = (IF AVAILABLE Waehrung THEN Waehrung.Kurs ELSE tDebop.Kurs). hBuffer = BUFFER zDebop:HANDLE. RUN ZAHLBERECHNUNG ( INPUT-OUTPUT hBuffer ). F_SkMFrw = zDebop.SkMax_Frw. DISPLAY {&List-5}. zDebop.Zahbetr_Frw:READ-ONLY = FALSE. zDebop.Zahbetr :READ-ONLY = FALSE. zDebop.Skonto_Frw :READ-ONLY = FALSE. zDebop.Skonto :READ-ONLY = FALSE. zDebop.Kurs :READ-ONLY = FALSE. zDebop.Skonto_Frw :BGCOLOR = 15. FMut = TRUE. APPLY 'ENTRY' TO zDebop.Zahbetr_Frw. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME