&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 --- */ DEF VAR Bez AS CHAR FORMAT "x(30)" NO-UNDO. DEF VAR GeTot AS DEC FORMAT "zzz9.999-" DECIMALS 4 NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR Aufnr AS INT NO-UNDO. DEF VAR aAufnr AS INT NO-UNDO. DEF VAR xTotal AS CHAR NO-UNDO. DEF VAR VTotal AS DEC DECIMALS 4 EXTENT 15 NO-UNDO. DEF VAR SAktiv AS LOG NO-UNDO. DEF VAR xView AS LOG NO-UNDO. DEF VAR xRecid AS RECID NO-UNDO. DEF VAR ARecid AS RECID NO-UNDO. DEF VAR LHandle AS HANDLE NO-UNDO. DEF VAR wHandle AS HANDLE NO-UNDO. DEF VAR Menge AS DEC DECIMALS 4 NO-UNDO. DEF VAR LKY AS INT NO-UNDO. DEF VAR FBez AS LOG INIT FALSE NO-UNDO. DEF VAR cKonto AS CHAR NO-UNDO. DEF VAR hDaten AS HANDLE NO-UNDO. DEF VAR iLager AS INT NO-UNDO. DEF VAR fOpen AS LOG INIT TRUE NO-UNDO. DEF TEMP-TABLE tGebRueck LIKE GebRueck. DEF 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_Zahbetr F_ZahSko CB_ZAHLART ~ Btn_Bezahlt F_WW Btn_Ausgleich F_Gebinde F_Recycling F_MWST F_Total ~ F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez RECT-39 &Scoped-Define DISPLAYED-OBJECTS 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_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 CHAR ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getTotalBetr fFrameWin FUNCTION getTotalBetr RETURNS DECIMAL ( Betr_1 AS DEC, Betr_2 AS DEC, Betr_3 AS DEC ) 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 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 35 BY 1 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 17 BY 1 BGCOLOR 14 NO-UNDO. DEFINE VARIABLE F_Gebinde AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Gebinde" VIEW-AS FILL-IN NATIVE SIZE 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_MWST AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Mehrwertst." VIEW-AS FILL-IN NATIVE SIZE 17 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 17 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Recycling AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Gebühren" VIEW-AS FILL-IN NATIVE SIZE 17 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 17 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 17 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 17 BY 1 BGCOLOR 8 NO-UNDO. DEFINE VARIABLE F_WW AS DECIMAL FORMAT "zzz,zz9.99-":U INITIAL 0 LABEL "Warenwert" VIEW-AS FILL-IN NATIVE SIZE 17 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 17 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.2 BY 19.33. /* 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 53 BY 18.81 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME fMain Br_AufGebKo AT ROW 1.48 COL 3 F_Zahbetr AT ROW 9.52 COL 69 COLON-ALIGNED F_ZahSko AT ROW 9.52 COL 101 COLON-ALIGNED CB_ZAHLART AT ROW 12.52 COL 84 COLON-ALIGNED Btn_Bezahlt AT ROW 14 COL 105 F_WW AT ROW 1.52 COL 69 COLON-ALIGNED NO-TAB-STOP Btn_Ausgleich AT ROW 2 COL 105 F_Gebinde AT ROW 2.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Recycling AT ROW 3.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_MWST AT ROW 4.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Total AT ROW 5.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Skonto AT ROW 6.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Netto AT ROW 7.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Saldo AT ROW 8.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Bezahlt AT ROW 10.52 COL 69 COLON-ALIGNED NO-TAB-STOP F_Skonto_Bez AT ROW 10.52 COL 101 COLON-ALIGNED NO-TAB-STOP RECT-39 AT ROW 1.24 COL 1 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 152 BY 19.71. /* *********************** 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 = 19.67 WIDTH = 146.2. /* 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 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_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 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 , INPUT 'f-aufgebko.w' ) 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 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 , INPUT 'f-aufgebko.w' ) 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: REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}: FOR EACH Aufze USE-INDEX Aufze-k1 WHERE Aufze.Firma = Firma AND Aufze.Aufnr = Aufnr AND Aufze.Artnr > 0 NO-LOCK: FOR EACH AufGebKo USE-INDEX AufGebKo-k1 WHERE AufGebKo.Firma = Aufze.Firma AND AufGebKo.Aufnr = Aufze.Aufnr AND AufGebKo.Kto_Cd2 = '' AND AufGebKo.Kto_Cd3 = '' NO-LOCK: xRecid = RECID(AufGebKo). IF AufGebKo.Kto_Cd1 = Aufze.KGebKto THEN DO: Menge = AufGebKo.Menge + Aufze.KGeb_Me. RUN MUTATION ( INPUT xRecid, INPUT Menge ). NEXT. END. IF AufGebKo.Kto_Cd1 = Aufze.VGebKto THEN DO: Menge = AufGebKo.Menge + Aufze.VGeb_Me. RUN MUTATION ( INPUT xRecid, INPUT Menge ). NEXT. END. IF AufGebKo.Kto_Cd1 = Aufze.GGebKto THEN DO: Menge = AufGebKo.Menge + Aufze.GGeb_Me. RUN MUTATION ( INPUT xRecid, INPUT Menge ). NEXT. END. END. END. LEAVE. END. RUN OPENAUFGEBKO. 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: DEF VAR CodeI AS INT NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR VKonto AS CHAR 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, INPUT 'f-aufgebko.w' ) NO-ERROR. RETURN NO-APPLY. END. ELSE DO WITH FRAME {&FRAME-NAME}: ASSIGN {&list-6}. VKonto = CB_ZAHLART:SCREEN-VALUE NO-ERROR. 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, INPUT '' ) 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 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: DEF VAR cKey AS CHAR NO-UNDO. cKey = 'Zahlkonto' + STRING(iLager,'99'). PUT-KEY-VALUE SECTION 'Abholverkauf' KEY cKey VALUE SELF:SCREEN-VALUE. cKonto = SELF:SCREEN-VALUE. 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. xView = FALSE. SUBSCRIBE TO 'ANZEIGE_AUFKOPF' ANYWHERE. ON 'END-ERROR':U OF {&WINDOW-NAME} ANYWHERE DO: DO WITH FRAME {&FRAME-NAME}: DYNAMIC-FUNCTION('SETMUTFLAG':U, INPUT FALSE, INPUT '' ) NO-ERROR. IF {&BROWSE-NAME}:READ-ONLY = FALSE THEN DO: AufGebKo.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(AufGebKo.Menge). APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. {&BROWSE-NAME}:READ-ONLY = TRUE. AufGebKo.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. RETURN NO-APPLY. END. 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. RETURN NO-APPLY. END. PUBLISH 'ENDE'. RETURN NO-APPLY. END. 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: ------------------------------------------------------------------------------*/ DEF VAR ix AS INT NO-UNDO. DEF VAR VKonto AS CHAR NO-UNDO. IF NOT VALID-HANDLE ( hDaten ) THEN DO: RETURN. END. ARecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ). IF ARecid = ? THEN RETURN. FIND Aufko NO-LOCK WHERE RECID(Aufko) = ARecid. Aufnr = Aufko.Aufnr. aAufnr = Aufnr. iLager = Aufko.Lager. DO WHILE TRUE: FIND FIRST AufGebKo USE-INDEX AufGebKo-k1 WHERE AufGebKo.Firma = Firma AND AufGebKo.Aufnr = Aufnr NO-LOCK NO-ERROR. IF AVAILABLE AufGebKo THEN LEAVE. REPEAT TRANSACTION: FOR EACH TGebRueck: CREATE AufGebKo. BUFFER-COPY TGebRueck TO AufGebKo. ASSIGN AufGebKo.Firma = Firma AufGebKo.Aufnr = Aufnr. IF AufGebKo.Kto_Cd1 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = AufGebKo.Firma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd1 NO-LOCK. AufGebKo.Wert_1 = GebKonto.Depot. END. IF AufGebKo.Kto_Cd2 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = AufGebKo.Firma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd2 NO-LOCK. AufGebKo.Wert_2 = GebKonto.Depot. END. IF AufGebKo.Kto_Cd3 <> '' THEN DO: FIND GebKonto USE-INDEX GebKonto-k1 WHERE GebKonto.Firma = AufGebKo.Firma AND GebKonto.Geb_Cd = AufGebKo.Kto_Cd3 NO-LOCK. AufGebKo.Wert_3 = GebKonto.Depot. END. END. RELEASE AufGebKo. LEAVE. END. LEAVE. END. RUN OPENAUFGEBKO. DO WITH FRAME {&FRAME-NAME}: IF SAktiv THEN DO: RUN AUFTRAGSTOTAL ( INPUT Aufnr, OUTPUT xTotal ). VTotal = 0. DO ix = 1 TO 15: VTotal[ix] = DECIMAL(ENTRY(ix, xTotal, CHR(01))). END. END. 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 = Aufko.Bar_Konto. IF VKonto = '' THEN VKonto = cKonto. IF AVAILABLE Aufko THEN DO: F_Bezahlt = Aufko.Bar_Betr. F_Skonto_Bez = Aufko.Bar_Skonto. END. ELSE DO: F_Bezahlt = 0. F_Skonto_Bez = 0. END. CB_Zahlart:SCREEN-VALUE = VKonto NO-ERROR. F_Netto = F_Total - F_Skonto. F_Saldo = F_Total - F_Bezahlt - F_Skonto. 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: ------------------------------------------------------------------------------*/ DEF VAR cString AS CHAR NO-UNDO. DEF VAR cKey AS CHAR 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. hDaten = DYNAMIC-FUNCTION('getDataSource':U) NO-ERROR. IF sAktiv THEN RUN COMBO_ZAHLUNGSART ( CB_Zahlart:HANDLE ) NO-ERROR. ARecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten ) NO-ERROR. IF ARecid <> ? AND ARecid <> 0 THEN DO: FIND Aufko NO-LOCK WHERE RECID(Aufko) = ARecid. iLager = Aufko.Lager. END. ELSE DO: iLager = 0. END. DO WITH FRAME {&FRAME-NAME}: 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. CB_Zahlart:SCREEN-VALUE = cString 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_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_Zahbetr F_ZahSko CB_ZAHLART Btn_Bezahlt F_WW Btn_Ausgleich F_Gebinde F_Recycling F_MWST F_Total F_Skonto F_Netto F_Saldo F_Bezahlt F_Skonto_Bez 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. xView = FALSE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MUTATION fFrameWin PROCEDURE MUTATION : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO. DEF INPUT PARAMETER ipMenge AS DEC DECIMALS 4 NO-UNDO. DEF BUFFER BAufGebKo FOR AufGebKo. DEF VAR DiffMenge AS INT NO-UNDO. DEF VAR MW AS INT 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 USE-INDEX GebKonto-k1 WHERE TGebKonto.Firma = BAufGebKo.Firma AND TGebKonto.Geb_Cd = BAufGebKo.Kto_Cd1 NO-LOCK. 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 AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd NO-LOCK NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = BAufGebKo.Firma AufGKon.Aufnr = BAufGebKo.Aufnr AufGKon.Geb_Cd = TGebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = TGebKonto.Gebuehr AufGKon.Depot = TGebKonto.Depot AufGKon.Sort_Cd = TGebKonto.Sort_Cd. END. AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_1 * DiffMenge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). RELEASE AufGKon. RELEASE TGebKonto. LEAVE. END. DO WHILE BAufGebKo.Kto_Cd2 <> '': IF BAufGebKo.Anz_2 = 0 THEN LEAVE. FIND TGebKonto USE-INDEX GebKonto-k1 WHERE TGebKonto.Firma = BAufGebKo.Firma AND TGebKonto.Geb_Cd = BAufGebKo.Kto_Cd2 NO-LOCK. 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 AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd NO-LOCK NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = BAufGebKo.Firma AufGKon.Aufnr = BAufGebKo.Aufnr AufGKon.Geb_Cd = TGebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = TGebKonto.Gebuehr AufGKon.Depot = TGebKonto.Depot AufGKon.Sort_Cd = TGebKonto.Sort_Cd. END. AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_2 * DiffMenge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). RELEASE AufGKon. RELEASE TGebKonto. LEAVE. END. DO WHILE BAufGebKo.Kto_Cd3 <> '': IF BAufGebKo.Anz_3 = 0 THEN LEAVE. FIND TGebKonto USE-INDEX GebKonto-k1 WHERE TGebKonto.Firma = BAufGebKo.Firma AND TGebKonto.Geb_Cd = BAufGebKo.Kto_Cd3 NO-LOCK. 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 AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd NO-LOCK NO-ERROR. IF AVAILABLE AufGKon THEN MW = AufGKon.MWSt_Cd. ELSE MW = 11. END. FIND AufGKon USE-INDEX AufGKon-k1 WHERE AufGKon.Firma = BAufGebKo.Firma AND AufGKon.Aufnr = BAufGebKo.Aufnr AND AufGKon.Geb_Cd = TGebKonto.Geb_Cd AND AufGKon.MWSt_Cd = MW NO-ERROR. IF NOT AVAILABLE AufGKon THEN DO: CREATE AufGKon. ASSIGN AufGKon.Firma = BAufGebKo.Firma AufGKon.Aufnr = BAufGebKo.Aufnr AufGKon.Geb_Cd = TGebKonto.Geb_Cd AufGKon.MWSt_Cd = MW AufGKon.Gebuehr = TGebKonto.Gebuehr AufGKon.Depot = TGebKonto.Depot AufGKon.Sort_Cd = TGebKonto.Sort_Cd. END. AufGKon.Eingang = AufGKon.Eingang + (AufGebKo.Anz_3 * DiffMenge). AufGKon.Betrag = (AufGKon.Ausgang - AufGKon.Eingang) * (AufGKon.Depot + AufGKon.Gebuehr). RELEASE AufGKon. 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. fOpen = FALSE. RUN DETAILS. fOpen = FALSE. PUBLISH ( 'REFRESH_AUFKOPF' ). LEAVE. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENAUFGEBKO fFrameWin PROCEDURE OPENAUFGEBKO : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ IF NOT fOpen THEN DO: fOpen = TRUE. RETURN. END. CLOSE QUERY {&BROWSE-NAME}. OPEN QUERY {&BROWSE-NAME} FOR EACH AufGebko WHERE AufGebKo.Firma = Firma AND AufGebKo.Aufnr = Aufnr NO-LOCK BY AufGebKo.Sort_Cd. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject fFrameWin PROCEDURE viewObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ 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 CHAR ) : /*------------------------------------------------------------------------------ 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 DEC, Betr_2 AS DEC, Betr_3 AS DEC ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ GeTot = Betr_1 + Betr_2 + Betr_3. RETURN GeTot. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME