&ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &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 --- */ DEFINE VARIABLE Bez AS CHARACTER FORMAT "x(30)" NO-UNDO. DEFINE VARIABLE GeTot AS DECIMAL FORMAT "zzz9.999-" DECIMALS 4 NO-UNDO. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO. DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE aAufnr AS INTEGER NO-UNDO. DEFINE VARIABLE xTotal AS CHARACTER NO-UNDO. DEFINE VARIABLE VTotal AS DECIMAL DECIMALS 4 EXTENT 15 NO-UNDO. DEFINE VARIABLE SAktiv AS LOG NO-UNDO. DEFINE VARIABLE lView AS LOG INIT FALSE NO-UNDO. DEFINE VARIABLE xRecid AS RECID NO-UNDO. DEFINE VARIABLE ARecid AS RECID NO-UNDO. DEFINE VARIABLE LHandle AS HANDLE NO-UNDO. DEFINE VARIABLE wHandle AS HANDLE NO-UNDO. DEFINE VARIABLE Menge AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE VARIABLE LKY AS INTEGER NO-UNDO. DEFINE VARIABLE FBez AS LOG INIT FALSE NO-UNDO. DEFINE VARIABLE cKonto AS CHARACTER NO-UNDO. DEFINE VARIABLE iLager AS INTEGER NO-UNDO. DEFINE VARIABLE fOpen AS LOG INIT TRUE NO-UNDO. DEFINE VARIABLE Progname AS CHARACTER NO-UNDO. DEFINE VARIABLE lMut AS LOG NO-UNDO. DEFINE VARIABLE hKontainer AS HANDLE NO-UNDO. DEFINE VARIABLE hDaten AS HANDLE NO-UNDO. DEFINE VARIABLE hQuery AS HANDLE NO-UNDO. DEFINE VARIABLE FMutFlag AS LOGICAL NO-UNDO. DEFINE TEMP-TABLE tGebRueck LIKE GebRueck. DEFINE TEMP-TABLE tGebKonto LIKE GebKonto. /* _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_AufGebKo /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES AufGebKo /* Definitions for BROWSE Br_AufGebKo */ &Scoped-define FIELDS-IN-QUERY-Br_AufGebKo AufGebKo.Menge Bez @ Bez ~ GeTot @ GeTot &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_AufGebKo AufGebKo.Menge &Scoped-define ENABLED-TABLES-IN-QUERY-Br_AufGebKo AufGebKo &Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-Br_AufGebKo AufGebKo &Scoped-define QUERY-STRING-Br_AufGebKo FOR EACH AufGebKo NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-Br_AufGebKo OPEN QUERY Br_AufGebKo FOR EACH AufGebKo NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_AufGebKo AufGebKo &Scoped-define FIRST-TABLE-IN-QUERY-Br_AufGebKo AufGebKo /* Definitions for FRAME fMain */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS Br_AufGebKo F_Kunde F_Zahbetr F_ZahSko ~ CB_ZAHLART Btn_Bezahlt F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~ F_Netto F_Saldo F_Bezahlt F_Skonto_Bez Btn_Verbuchen RECT-39 &Scoped-Define DISPLAYED-OBJECTS F_Kunde E_Adresse F_Zahbetr F_ZahSko ~ CB_ZAHLART F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto ~ F_Saldo F_Bezahlt F_Skonto_Bez /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_Kunde E_Adresse F_Zahbetr F_ZahSko F_WW F_Gebinde ~ F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getBez fFrameWin FUNCTION getBez RETURNS CHARACTER ( ipGeb_Cd AS CHARACTER ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getTotalBetr fFrameWin FUNCTION getTotalBetr RETURNS DECIMAL ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Ausgleich LABEL "&Ausgleichen" SIZE 14 BY 1. DEFINE BUTTON Btn_Bezahlt LABEL "&Bezahlen" SIZE 14 BY 1. DEFINE BUTTON Btn_Verbuchen LABEL "&Verbuchen" SIZE 14 BY 1. DEFINE VARIABLE CB_ZAHLART AS CHARACTER FORMAT "X(256)":U LABEL "Zahlungsart" VIEW-AS COMBO-BOX INNER-LINES 5 LIST-ITEM-PAIRS "Item 1","Item 1" DROP-DOWN-LIST SIZE 36 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE E_Adresse AS CHARACTER VIEW-AS EDITOR NO-WORD-WRAP SCROLLBAR-HORIZONTAL SCROLLBAR-VERTICAL SIZE 50 BY 7 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Bezahlt AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Bezahlt" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Gebinde" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U VIEW-AS FILL-IN NATIVE SIZE 141.2 BY 1 BGCOLOR 15 FONT 6 NO-UNDO. DEFINE VARIABLE F_MWST AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Mehrwertst." VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Netto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Nettobetrag" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Gebühren" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Saldo AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Saldo" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Skonto AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skonto" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Skonto_Bez AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skontoabzug" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Total AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Totalbetrag" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.999-":U INITIAL 0 LABEL "Warenwert" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Zahbetr AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Zahlbetrag" VIEW-AS FILL-IN NATIVE SIZE 18 BY 1 BGCOLOR 15 FGCOLOR 12 NO-UNDO. DEFINE VARIABLE F_ZahSko AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Skonto" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 FGCOLOR 12 NO-UNDO. DEFINE RECTANGLE RECT-39 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 146 BY 25.95. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_AufGebKo FOR AufGebKo SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_AufGebKo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_AufGebKo fFrameWin _STRUCTURED QUERY Br_AufGebKo NO-LOCK DISPLAY AufGebKo.Menge FORMAT "zz,zz9-":U Bez @ Bez COLUMN-LABEL "Bezeichnung" FORMAT "x(30)":U WIDTH 28 GeTot @ GeTot COLUMN-LABEL "Betrag" FORMAT "zzz9.999-":U ENABLE AufGebKo.Menge /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 56 BY 23.81 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain Br_AufGebKo AT ROW 3 COL 3 F_Kunde AT ROW 1.52 COL 3 COLON-ALIGNED NO-LABEL WIDGET-ID 4 NO-TAB-STOP E_Adresse AT ROW 3.05 COL 80 NO-LABEL WIDGET-ID 2 NO-TAB-STOP F_Zahbetr AT ROW 19.14 COL 78 COLON-ALIGNED F_ZahSko AT ROW 19.14 COL 112 COLON-ALIGNED CB_ZAHLART AT ROW 21.52 COL 94 COLON-ALIGNED Btn_Bezahlt AT ROW 23.62 COL 114 F_WW AT ROW 11.14 COL 78 COLON-ALIGNED NO-TAB-STOP Btn_Ausgleich AT ROW 17.14 COL 114 F_Gebinde AT ROW 12.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Recycling AT ROW 13.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_MWST AT ROW 14.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Total AT ROW 15.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Skonto AT ROW 16.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Netto AT ROW 17.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Saldo AT ROW 18.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Bezahlt AT ROW 20.14 COL 78 COLON-ALIGNED NO-TAB-STOP F_Skonto_Bez AT ROW 20.14 COL 112 COLON-ALIGNED NO-TAB-STOP Btn_Verbuchen AT ROW 24.95 COL 114 WIDGET-ID 6 RECT-39 AT ROW 1.24 COL 2 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 148.6 BY 26.48. /* *********************** 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 Design Page: 3 Other Settings: PERSISTENT-ONLY COMPILE */ /* 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 = 26.48 WIDTH = 148.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 Custom */ /* BROWSE-TAB Br_AufGebKo 1 fMain */ ASSIGN FRAME fMain:HIDDEN = TRUE. ASSIGN Br_AufGebKo:COLUMN-RESIZABLE IN FRAME fMain = TRUE. /* SETTINGS FOR BUTTON Btn_Ausgleich IN FRAME fMain NO-ENABLE */ /* SETTINGS FOR EDITOR E_Adresse IN FRAME fMain NO-ENABLE 6 */ ASSIGN E_Adresse:RETURN-INSERTED IN FRAME fMain = TRUE E_Adresse:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Bezahlt IN FRAME fMain 6 */ ASSIGN F_Bezahlt:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME fMain 6 */ ASSIGN F_Gebinde:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Kunde IN FRAME fMain 6 */ ASSIGN F_Kunde:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_MWST IN FRAME fMain 6 */ ASSIGN F_MWST:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Netto IN FRAME fMain 6 */ ASSIGN F_Netto:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME fMain 6 */ ASSIGN F_Recycling: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_Skonto IN FRAME fMain 6 */ ASSIGN F_Skonto:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Skonto_Bez IN FRAME fMain 6 */ ASSIGN F_Skonto_Bez:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Total IN FRAME fMain 6 */ ASSIGN F_Total:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_WW IN FRAME fMain 6 */ ASSIGN F_WW:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_Zahbetr IN FRAME fMain 6 */ ASSIGN F_Zahbetr:READ-ONLY IN FRAME fMain = TRUE. /* SETTINGS FOR FILL-IN F_ZahSko IN FRAME fMain 6 */ ASSIGN F_ZahSko: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_AufGebKo /* Query rebuild information for BROWSE Br_AufGebKo _TblList = "AnaDat.AufGebKo" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > AnaDat.AufGebKo.Menge "AufGebKo.Menge" ? ? "decimal" ? ? ? ? ? ? yes ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > "_" "Bez @ Bez" "Bezeichnung" "x(30)" ? ? ? ? ? ? ? no ? no no "28" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > "_" "GeTot @ GeTot" "Betrag" "zzz9.999-" ? ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE Br_AufGebKo */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain /* Query rebuild information for FRAME fMain _Options = "" _Query is NOT OPENED */ /* FRAME fMain */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME Br_AufGebKo &Scoped-define SELF-NAME Br_AufGebKo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AufGebKo fFrameWin ON CTRL-P OF Br_AufGebKo IN FRAME fMain DO: DEFINE VARIABLE lMut AS LOG NO-UNDO. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. RUN selectPage IN hKontainer ( 1 ). PUBLISH 'CHOOSE-DRUCKEN' ( 'GEBINDE' ). RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AufGebKo fFrameWin ON CTRL-W OF Br_AufGebKo IN FRAME fMain DO: DEFINE VARIABLE lMut AS LOG NO-UNDO. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. RUN selectPage IN hKontainer ( 1 ). PUBLISH 'CHOOSE-WEITER'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AufGebKo fFrameWin ON CTRL-Z OF Br_AufGebKo IN FRAME fMain DO: DEFINE VARIABLE lMut AS LOG NO-UNDO. lMut = DYNAMIC-FUNCTION('getMutFlag':U, Progname ) NO-ERROR. IF lMut THEN DO: APPLY 'U1'. RETURN NO-APPLY. END. RUN selectPage IN hKontainer ( 1 ). PUBLISH 'CHOOSE-ZURUECK'. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AufGebKo fFrameWin ON RETURN OF Br_AufGebKo IN FRAME fMain DO: DO WITH FRAME {&FRAME-NAME}: APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. {&BROWSE-NAME}:READ-ONLY = FALSE. AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE. DYNAMIC-FUNCTION('SetMutflag':U, INPUT TRUE , Progname ) NO-ERROR. APPLY 'ENTRY' TO AufGebKo.Menge IN BROWSE {&BROWSE-NAME}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_AufGebKo fFrameWin ON ROW-DISPLAY OF Br_AufGebKo IN FRAME fMain DO: DYNAMIC-FUNCTION('getBez':U IN THIS-PROCEDURE, INPUT AufGebKo.Geb_Cd ) NO-ERROR. DYNAMIC-FUNCTION('getTotalBetr':U IN THIS-PROCEDURE, INPUT AufGebKo.Betrag_1, INPUT AufGebKo.Betrag_2, INPUT AufGebKo.Betrag_3 ) NO-ERROR. RUN FARBE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME AufGebKo.Menge &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AufGebKo _BROWSE-COLUMN fFrameWin ON END-ERROR OF AufGebKo.Menge IN BROWSE Br_AufGebKo /* Menge */ DO: APPLY 'RETURN' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AufGebKo _BROWSE-COLUMN fFrameWin ON LEAVE OF AufGebKo.Menge IN BROWSE Br_AufGebKo /* Menge */ DO: DO WITH FRAME {&FRAME-NAME}: xRecid = RECID(AufGebko). RUN MUTATION ( INPUT xRecid, INPUT DECIMAL(AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ). FIND AufGebKo WHERE RECID(AufGebKo) = xRecid NO-LOCK. DYNAMIC-FUNCTION('GETTOTALBETR':U, INPUT AufGebKo.Betrag_1, INPUT AufGebKo.Betrag_2, INPUT AufGebKo.Betrag_3 ) NO-ERROR. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot). AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(AufGebKo.Menge). RUN FARBE. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL AufGebKo.Menge Br_AufGebKo _BROWSE-COLUMN fFrameWin ON RETURN OF AufGebKo.Menge IN BROWSE Br_AufGebKo /* Menge */ DO: DO WITH FRAME {&FRAME-NAME}: xRecid = RECID(AufGebko). RUN MUTATION ( INPUT xRecid, INPUT DECIMAL(AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME}) ). FIND AufGebKo WHERE RECID(AufGebKo) = xRecid NO-LOCK. DYNAMIC-FUNCTION('GETTOTALBETR':U, INPUT AufGebKo.Betrag_1, INPUT AufGebKo.Betrag_2, INPUT AufGebKo.Betrag_3 ) NO-ERROR. GeTot:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(GeTot). AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(AufGebKo.Menge). RUN FARBE. APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. SELF:READ-ONLY = TRUE. {&BROWSE-NAME}:READ-ONLY = TRUE. DYNAMIC-FUNCTION('SetMutflag':U, INPUT FALSE , Progname ) NO-ERROR. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Ausgleich &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ausgleich fFrameWin ON CHOOSE OF Btn_Ausgleich IN FRAME fMain /* Ausgleichen */ DO: DEFINE BUFFER bAufze FOR Aufze . DEFINE BUFFER bAufGebKo FOR AufGebKo. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: FOR EACH bAufGebKo NO-LOCK WHERE bAufGebKo.Firma = Firma AND bAufGebKo.Aufnr = Aufnr AND bAufGebKo.Menge <> 0 : RUN MUTATION ( RECID(bAufGebKo), 0 ). END. FOR EACH bAufze NO-LOCK WHERE bAufze.Firma = Firma AND bAufze.Aufnr = Aufnr AND bAufze.Artnr > 0: FOR EACH bAufGebKo NO-LOCK WHERE bAufGebKo.Firma = bAufze.Firma AND bAufGebKo.Aufnr = bAufze.Aufnr AND bAufGebKo.Kto_Cd2 = '' AND bAufGebKo.Kto_Cd3 = '' : IF bAufGebKo.Kto_Cd1 = bAufze.KGebKto THEN DO: Menge = bAufGebKo.Menge + bAufze.KGeb_Me. RUN MUTATION ( RECID(bAufGebKo), INPUT Menge ). RELEASE bAufGebKo. NEXT. END. IF bAufGebKo.Kto_Cd1 = bAufze.VGebKto THEN DO: Menge = bAufGebKo.Menge + bAufze.VGeb_Me. RUN MUTATION ( RECID(bAufGebKo), INPUT Menge ). RELEASE bAufGebKo. NEXT. END. IF bAufGebKo.Kto_Cd1 = bAufze.GGebKto THEN DO: Menge = bAufGebKo.Menge + bAufze.GGeb_Me. RUN MUTATION ( RECID(bAufGebKo), INPUT Menge ). RELEASE bAufGebKo. NEXT. END. END. RELEASE bAufze. END. LEAVE. END. RUN OPENAUFGEBKO. BROWSE {&BROWSE-NAME}:REFRESH() NO-ERROR. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Bezahlt &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Bezahlt fFrameWin ON CHOOSE OF Btn_Bezahlt IN FRAME fMain /* Bezahlen */ DO: DEFINE VARIABLE CodeI AS INTEGER NO-UNDO. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO. DEFINE VARIABLE VKonto AS CHARACTER NO-UNDO. FBez = TRUE. DO WHILE TRUE TRANSACTION WITH FRAME {&FRAME-NAME}: IF Btn_Bezahlt:LABEL = '&Bezahlen' THEN DO: F_ZahBetr = F_Netto. F_ZahSko = F_Skonto. F_ZahBetr:READ-ONLY = FALSE. F_ZahSko:READ-ONLY = FALSE. DISPLAY F_ZahBetr F_ZahSko. APPLY 'ENTRY' TO F_Zahbetr. Btn_Bezahlt:LABEL = '&Buchen'. DYNAMIC-FUNCTION('setMutFlag':U, INPUT TRUE, Progname ) NO-ERROR. RETURN NO-APPLY. END. ELSE DO WITH FRAME {&FRAME-NAME}: ASSIGN {&list-6}. VKonto = CB_ZAHLART:SCREEN-VALUE. IF VKonto = 'XXXXXX' OR VKonto = ? THEN DO: BELL. MESSAGE 'Kein Konto gewählt !' VIEW-AS ALERT-BOX ERROR. APPLY 'ENTRY' TO CB_ZAHLART. RETURN NO-APPLY. END. FIND Aufko WHERE RECID(Aufko) = ARecid. Aufko.Bar_Betr = F_Zahbetr. Aufko.Bar_Skonto = F_ZahSko. Aufko.Bar_Konto = VKonto. RUN DETAILS. RELEASE Aufko. F_ZahBetr:READ-ONLY = TRUE. F_ZahSko:READ-ONLY = TRUE. Btn_Bezahlt:LABEL = '&Bezahlen'. DYNAMIC-FUNCTION('SetMutFlag':U, INPUT FALSE, Progname ) NO-ERROR. PUBLISH('REFRESH_AUFKOPF':U). END. LEAVE. END. FIND Aufko WHERE RECID(Aufko) = ARecid NO-LOCK NO-ERROR. APPLY 'U1'. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Verbuchen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Verbuchen fFrameWin ON CHOOSE OF Btn_Verbuchen IN FRAME fMain /* Verbuchen */ DO: PUBLISH 'VERBUCHEN'. RUN ANZEIGE_AUFKOPF. APPLY 'U1'. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME CB_ZAHLART &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHLART fFrameWin ON RETURN OF CB_ZAHLART IN FRAME fMain /* Zahlungsart */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHLART fFrameWin ON VALUE-CHANGED OF CB_ZAHLART IN FRAME fMain /* Zahlungsart */ DO: DEFINE VARIABLE cKey AS CHARACTER NO-UNDO. cKey = 'Zahlkonto' + STRING(iLager,'99'). PUT-KEY-VALUE SECTION 'Abholverkauf' KEY cKey VALUE SELF:SCREEN-VALUE. cKonto = SELF:SCREEN-VALUE. DYNAMIC-FUNCTION ('setFehlwert':U, Firma, 'AUFGEBZAH', 'CHAR', cKonto ) NO-ERROR. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Zahbetr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr fFrameWin ON LEAVE OF F_Zahbetr IN FRAME fMain /* Zahlbetrag */ DO: IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN. LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LHandle) AND LHandle:TYPE = 'BUTTON' AND LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999. IF VALID-HANDLE(LHandle) AND LHandle:NAME = 'CB_ZAHLART' THEN LKY = 999. IF FBez THEN DO: LKY = 999. FBez = FALSE. END. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Zahbetr. IF F_Zahbetr <> 0 THEN F_ZahSko = F_Total - F_Zahbetr. DISPLAY F_ZahSko. IF LKY <> 999 THEN DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Zahbetr fFrameWin ON RETURN OF F_Zahbetr IN FRAME fMain /* Zahlbetrag */ DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_ZahSko &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko fFrameWin ON LEAVE OF F_ZahSko IN FRAME fMain /* Skonto */ DO: IF KEYFUNCTION(LASTKEY) = "END-ERROR" THEN RETURN. IF KEYFUNCTION(LASTKEY) = "BACK-TAB" THEN RETURN. LKY = LASTKEY. LHandle = LAST-EVENT:WIDGET-ENTER. IF VALID-HANDLE(LHandle) AND LHandle:NAME = 'F_ZahBetr' THEN RETURN. IF VALID-HANDLE(LHandle) AND LHandle:NAME = 'CB_ZAHLART' THEN RETURN. IF VALID-HANDLE(LHandle) AND LHandle:TYPE = 'BUTTON' AND LHandle:NAME = 'Btn_Bezahlt' THEN LKY = 999. IF FBez THEN DO: LKY = 999. FBez = FALSE. END. DO WITH FRAME {&FRAME-NAME}: ASSIGN F_ZahSko. IF LKY <> 999 THEN DO: APPLY 'ENTRY' TO F_ZahSko. RETURN NO-APPLY. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_ZahSko fFrameWin ON RETURN OF F_ZahSko IN FRAME fMain /* Skonto */ 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 fFrameWin /* *************************** Main Block *************************** */ SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR. Firma = DYNAMIC-FUNCTION('getMandant':U) NO-ERROR. lView = FALSE. SUBSCRIBE TO 'ANZEIGE_AUFKOPF' ANYWHERE. SUBSCRIBE TO 'NAVIGATION' ANYWHERE. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: DO WITH FRAME {&FRAME-NAME}: IF Btn_Bezahlt:LABEL = '&Buchen' THEN DO: Btn_Bezahlt:LABEL = '&Bezahlen'. RUN DETAILS. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. F_ZahBetr:READ-ONLY = TRUE. F_ZahSko :READ-ONLY = TRUE. DYNAMIC-FUNCTION('SetMutFlag':U, INPUT FALSE, Progname ) NO-ERROR. RETURN NO-APPLY. END. END. RUN ENDE IN hKontainer. RETURN NO-APPLY. END. ON 'END-ERROR':U OF BROWSE {&BROWSE-NAME} DO: DO WITH FRAME {&FRAME-NAME}: IF Btn_Bezahlt:LABEL = '&Buchen' THEN DO: Btn_Bezahlt:LABEL = '&Bezahlen'. RUN DETAILS. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. F_ZahBetr:READ-ONLY = TRUE. F_ZahSko :READ-ONLY = TRUE. DYNAMIC-FUNCTION('SetMutFlag':U, INPUT FALSE, Progname ) NO-ERROR. RETURN NO-APPLY. END. END. RUN ENDE IN hKontainer. 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 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 ANZEIGE_AUFKOPF fFrameWin PROCEDURE ANZEIGE_AUFKOPF : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ RUN DETAILS. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DETAILS fFrameWin PROCEDURE DETAILS : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE VKonto AS CHARACTER NO-UNDO. DEFINE BUFFER bAufko FOR Aufko . DEFINE BUFFER bAufGebKo FOR AufGebKo. DEFINE BUFFER bGebKonto FOR GebKonto. DEFINE BUFFER bAdresse FOR Adresse . DEFINE BUFFER bSteuer FOR Steuer . IF NOT VALID-HANDLE ( hDaten ) THEN DO: IF VALID-HANDLE ( hKontainer) THEN RUN selectPage IN hKontainer ( 1 ). RETURN. END. FIND bSteuer NO-LOCK WHERE bSteuer.Firma = Firma. AdFirma = bSteuer.AdFirma. ASSIGN E_Adresse = '' F_Bezahlt = 0.00 F_Kunde = '' F_MWST = 0.00 F_Netto = 0.00 F_Recycling = 0.00 F_Saldo = 0.00 F_Skonto = 0.00 F_Total = 0.00 F_WW = 0.00 F_Zahbetr = 0.00 F_ZahSko = 0.00 F_Gebinde = 0.00 iAufnr = 0. ARecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ). IF ARecid = ? THEN DO WITH FRAME {&FRAME-NAME}: RUN OPENAUFGEBKO IN THIS-PROCEDURE. DISPLAY {&List-6}. RETURN. END. FIND bAufko NO-LOCK WHERE RECID(bAufko) = ARecid. iAufnr = bAufko.Aufnr. aAufnr = bAufko.Aufnr. iLager = bAufko.Lager. DO WHILE TRUE: FIND FIRST bAufGebKo NO-LOCK WHERE bAufGebKo.Firma = Firma AND bAufGebKo.Aufnr = iAufnr NO-ERROR. IF AVAILABLE bAufGebKo THEN LEAVE. REPEAT TRANSACTION: FOR EACH tGebRueck: CREATE bAufGebKo. BUFFER-COPY tGebRueck TO bAufGebKo. ASSIGN bAufGebKo.Firma = Firma bAufGebKo.Aufnr = iAufnr. IF bAufGebKo.Kto_Cd1 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bAufGebKo.Firma AND bGebKonto.Geb_Cd = bAufGebKo.Kto_Cd1. ASSIGN bAufGebKo.Wert_1 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. IF bAufGebKo.Kto_Cd2 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bAufGebKo.Firma AND bGebKonto.Geb_Cd = bAufGebKo.Kto_Cd2. ASSIGN bAufGebKo.Wert_2 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. IF bAufGebKo.Kto_Cd3 <> '' THEN DO: FIND bGebKonto NO-LOCK WHERE bGebKonto.Firma = bAufGebKo.Firma AND bGebKonto.Geb_Cd = bAufGebKo.Kto_Cd3. ASSIGN bAufGebKo.Wert_3 = bGebKonto.Depot + bGebKonto.Gebuehr. RELEASE bGebKonto. END. END. RELEASE bAufGebKo. LEAVE. END. LEAVE. END. RELEASE bAufGebKo. RUN OPENAUFGEBKO IN THIS-PROCEDURE. DO WITH FRAME {&FRAME-NAME}: VTotal = 0. IF SAktiv THEN DO: DYNAMIC-FUNCTION('calculateAuftragsTotal':U, Firma, iAufnr, OUTPUT VTotal ) NO-ERROR. END. FIND bAufko NO-LOCK WHERE RECID(bAufko) = ARecid. F_WW = VTotal[01]. F_Gebinde = VTotal[11]. F_Recycling = VTotal[12]. F_MWST = VTotal[09]. F_Total = VTotal[10]. F_Skonto = 0. F_ZahBetr = 0. F_ZahSko = 0. VKonto = ''. IF VKonto = '' THEN VKonto = cKonto. IF AVAILABLE bAufko THEN DO: F_Bezahlt = bAufko.Bar_Betr. F_Skonto_Bez = bAufko.Bar_Skonto. VKonto = bAufko.Bar_Konto. FIND bAdresse NO-LOCK WHERE bAdresse.Firma = AdFirma AND bAdresse.Knr = bAufko.Knr. DO ix = 11 TO 5 BY -1: E_Adresse = bADresse.Anschrift[ix] + (IF E_Adresse = '' THEN '' ELSE CHR(10)) + E_Adresse. END. F_Kunde = STRING(bAdresse.Knr,'999999') + ' / ' + bAdresse.Anzeig_Br. END. ELSE DO: E_Adresse = ''. F_Kunde = ''. F_Bezahlt = 0. F_Skonto_Bez = 0. END. E_Adresse = CHR(10) + SUBSTITUTE('Knr.: &1 / iAufnr.: &2', bAufko.Knr, bAufko.Aufnr) + E_Adresse. CB_Zahlart:SCREEN-VALUE = VKonto NO-ERROR. F_Netto = F_Total - F_Skonto. F_Saldo = F_Total - F_Bezahlt - F_Skonto. RELEASE bAdresse. RELEASE bAufko. DISPLAY {&List-6}. END. 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 enableObject fFrameWin PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO. DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE. {&BROWSE-NAME}:READ-ONLY = TRUE. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. IF sAktiv THEN DO: hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. hKontainer = DYNAMIC-FUNCTION('getContainerSource':U ) NO-ERROR. Progname = DYNAMIC-FUNCTION('getProgname':U IN hKontainer) NO-ERROR. RUN COMBO_ZAHLUNGSART ( CB_Zahlart:HANDLE ) NO-ERROR. hQuery = {&BROWSE-NAME}:QUERY. cKonto = DYNAMIC-FUNCTION ('getFehlwert':U, Firma, 'AUFGEBZAH') NO-ERROR. END. DO WITH FRAME {&FRAME-NAME}: IF cKonto = ? OR cKonto = '' THEN DO: cKey = 'Zahlkonto' + STRING(iLager,'99'). GET-KEY-VALUE SECTION 'Abholverkauf' KEY cKey VALUE cString. IF cString = ? THEN cString = ''. IF cString = '' THEN DO: cKey = 'Zahlkonto'. GET-KEY-VALUE SECTION 'Abholverkauf' KEY cKey VALUE cString. END. IF cString = '' THEN cString = ENTRY(2, CB_Zahlart:LIST-ITEM-PAIRS, ';'). cKonto = cString. END. CB_Zahlart:SCREEN-VALUE = cKonto NO-ERROR. END. EMPTY TEMP-TABLE tGebRueck. FOR EACH GebRueck WHERE GebRueck.Firma = Firma NO-LOCK: CREATE tGebRueck. BUFFER-COPY GebRueck TO tGebRueck. END. EMPTY TEMP-TABLE tGebKonto. FOR EACH GebKonto WHERE GebKonto.Firma = Firma NO-LOCK: CREATE tGebKonto. BUFFER-COPY GebKonto TO tGebKonto. 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 F_Kunde E_Adresse F_Zahbetr F_ZahSko CB_ZAHLART F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez WITH FRAME fMain. ENABLE Br_AufGebKo F_Kunde F_Zahbetr F_ZahSko CB_ZAHLART Btn_Bezahlt F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez Btn_Verbuchen RECT-39 WITH FRAME fMain. {&OPEN-BROWSERS-IN-QUERY-fMain} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FARBE fFrameWin PROCEDURE FARBE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WITH FRAME {&FRAME-NAME}: IF AufGebKo.Menge <> 0 THEN DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 8. END. ELSE DO: AufGebKo.Menge:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. Bez:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. GeTot:BGCOLOR IN BROWSE {&BROWSE-NAME} = 15. END. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE hideObject fFrameWin PROCEDURE hideObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN SUPER. lView = FALSE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin PROCEDURE initializeObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTATION fFrameWin PROCEDURE MUTATION : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEFINE INPUT PARAMETER ipMenge AS DECIMAL DECIMALS 4 NO-UNDO. DEFINE BUFFER bAufGebKo FOR AufGebKo. DEFINE BUFFER bAufGKon FOR AufGKon . DEFINE VARIABLE DiffMenge AS INTEGER NO-UNDO. DEFINE VARIABLE MW AS INTEGER NO-UNDO. REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: FIND bAufGebKo WHERE RECID(bAufGebKo) = ipRecid. DiffMenge = ipMenge - bAufGebKo.Menge. IF DiffMenge = 0 THEN DO: RELEASE bAufGebKo. LEAVE. END. bAufGebKo.Menge = ipMenge. DO WHILE bAufGebKo.Kto_Cd1 <> '': IF bAufGebKo.Anz_1 = 0 THEN LEAVE. FIND tGebKonto NO-LOCK WHERE tGebKonto.Firma = bAufGebKo.Firma AND tGebKonto.Geb_Cd = bAufGebKo.Kto_Cd1. IF tGebKonto.MWST_Art = 0 THEN MW = 11. IF tGebKonto.MWST_Art = 2 THEN MW = tGebKonto.MWST_Cd. IF tGebKonto.MWST_Art = 1 THEN DO: FIND FIRST bAufGKon NO-LOCK WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd NO-ERROR. IF AVAILABLE bAufGKon THEN MW = bAufGKon.MWSt_Cd. ELSE MW = 11. END. FIND bAufGKon WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd AND bAufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE bAufGKon THEN DO: CREATE bAufGKon. ASSIGN bAufGKon.Firma = bAufGebKo.Firma bAufGKon.Aufnr = bAufGebKo.Aufnr bAufGKon.Geb_Cd = tGebKonto.Geb_Cd bAufGKon.MWSt_Cd = MW bAufGKon.Gebuehr = tGebKonto.Gebuehr bAufGKon.Depot = tGebKonto.Depot bAufGKon.Sort_Cd = tGebKonto.Sort_Cd. END. bAufGKon.Eingang = bAufGKon.Eingang + (bAufGebKo.Anz_1 * DiffMenge). bAufGKon.Betrag = (bAufGKon.Ausgang - bAufGKon.Eingang) * (bAufGKon.Depot + bAufGKon.Gebuehr). RELEASE bAufGKon. RELEASE tGebKonto. LEAVE. END. DO WHILE bAufGebKo.Kto_Cd2 <> '': IF bAufGebKo.Anz_2 = 0 THEN LEAVE. FIND tGebKonto NO-LOCK WHERE tGebKonto.Firma = bAufGebKo.Firma AND tGebKonto.Geb_Cd = bAufGebKo.Kto_Cd2. IF tGebKonto.MWST_Art = 0 THEN MW = 11. IF tGebKonto.MWST_Art = 2 THEN MW = tGebKonto.MWST_Cd. IF tGebKonto.MWST_Art = 1 THEN DO: FIND FIRST bAufGKon NO-LOCK WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd NO-ERROR. IF AVAILABLE bAufGKon THEN MW = bAufGKon.MWSt_Cd. ELSE MW = 11. END. FIND bAufGKon WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd AND bAufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE bAufGKon THEN DO: CREATE bAufGKon. ASSIGN bAufGKon.Firma = bAufGebKo.Firma bAufGKon.Aufnr = bAufGebKo.Aufnr bAufGKon.Geb_Cd = tGebKonto.Geb_Cd bAufGKon.MWSt_Cd = MW bAufGKon.Gebuehr = tGebKonto.Gebuehr bAufGKon.Depot = tGebKonto.Depot bAufGKon.Sort_Cd = tGebKonto.Sort_Cd. END. bAufGKon.Eingang = bAufGKon.Eingang + (bAufGebKo.Anz_2 * DiffMenge). bAufGKon.Betrag = (bAufGKon.Ausgang - bAufGKon.Eingang) * (bAufGKon.Depot + bAufGKon.Gebuehr). RELEASE bAufGKon. RELEASE tGebKonto. LEAVE. END. DO WHILE bAufGebKo.Kto_Cd3 <> '': IF bAufGebKo.Anz_3 = 0 THEN LEAVE. FIND tGebKonto NO-LOCK WHERE tGebKonto.Firma = bAufGebKo.Firma AND tGebKonto.Geb_Cd = bAufGebKo.Kto_Cd3. IF tGebKonto.MWST_Art = 0 THEN MW = 11. IF tGebKonto.MWST_Art = 2 THEN MW = tGebKonto.MWST_Cd. IF tGebKonto.MWST_Art = 1 THEN DO: FIND FIRST bAufGKon NO-LOCK WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd NO-ERROR. IF AVAILABLE bAufGKon THEN MW = bAufGKon.MWSt_Cd. ELSE MW = 11. END. FIND bAufGKon WHERE bAufGKon.Firma = bAufGebKo.Firma AND bAufGKon.Aufnr = bAufGebKo.Aufnr AND bAufGKon.Geb_Cd = tGebKonto.Geb_Cd AND bAufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE bAufGKon THEN DO: CREATE bAufGKon. ASSIGN bAufGKon.Firma = bAufGebKo.Firma bAufGKon.Aufnr = bAufGebKo.Aufnr bAufGKon.Geb_Cd = tGebKonto.Geb_Cd bAufGKon.MWSt_Cd = MW bAufGKon.Gebuehr = tGebKonto.Gebuehr bAufGKon.Depot = tGebKonto.Depot bAufGKon.Sort_Cd = tGebKonto.Sort_Cd. END. bAufGKon.Eingang = bAufGKon.Eingang + (bAufGebKo.Anz_3 * DiffMenge). bAufGKon.Betrag = (bAufGKon.Ausgang - bAufGKon.Eingang) * (bAufGKon.Depot + bAufGKon.Gebuehr). RELEASE bAufGKon. RELEASE tGebKonto. LEAVE. END. ASSIGN bAufGebKo.Betrag_1 = bAufGebKo.Anz_1 * bAufGebKo.Wert_1 * bAufGebKo.Menge bAufGebKo.Betrag_2 = bAufGebKo.Anz_2 * bAufGebKo.Wert_2 * bAufGebKo.Menge bAufGebKo.Betrag_3 = bAufGebKo.Anz_3 * bAufGebKo.Wert_3 * bAufGebKo.Menge. RELEASE bAufGebKo. RELEASE bAufGKon . fOpen = FALSE. RUN DETAILS. fOpen = FALSE. PUBLISH 'refreshAufko'. LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NAVIGATION fFrameWin PROCEDURE NAVIGATION : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipcAction AS CHARACTER NO-UNDO. RUN ANZEIGE_AUFKOPF. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENAUFGEBKO fFrameWin PROCEDURE OPENAUFGEBKO : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE cWhere AS CHARACTER NO-UNDO. IF NOT fOpen THEN DO: fOpen = TRUE. RETURN. END. cWhere = 'FOR EACH AufGebKo NO-LOCK ' + 'WHERE AufGebKo.Firma = "&1" ' + 'AND AufGebKo.Aufnr = &2 BY AufGebKo.Sort_Cd '. cWhere = SUBSTITUTE(cWhere, Firma, iAufnr). hQuery:QUERY-PREPARE(cWhere). hQuery:QUERY-OPEN(). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ lView = TRUE. fOPen = TRUE. RUN SUPER. RUN DETAILS. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Implementations ***************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getBez fFrameWin FUNCTION getBez RETURNS CHARACTER ( ipGeb_Cd AS CHARACTER ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ FIND GebRueck USE-INDEX GebRueck-k1 WHERE GebRueck.Firma = Firma AND GebRueck.Geb_Cd = ipGeb_Cd NO-LOCK NO-ERROR. IF AVAILABLE GebRueck THEN Bez = GebRueck.Bez. ELSE Bez = "??????????". RETURN Bez. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getTotalBetr fFrameWin FUNCTION getTotalBetr RETURNS DECIMAL ( Betr_1 AS DECIMAL, Betr_2 AS DECIMAL, Betr_3 AS DECIMAL ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ GeTot = Betr_1 + Betr_2 + Betr_3. RETURN GeTot. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME