&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 bTableWin /*------------------------------------------------------------------------ File: adm2\src\browser.w Description: SmartDataBrowser Object 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 --- */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDataBrowser &Scoped-define DB-AWARE no &Scoped-define ADM-SUPPORTED-LINKS TableIO-Target,Data-Target,Update-Source /* Include file with RowObject temp-table definition */ &Scoped-define DATA-FIELD-DEFS "d-aufgebko.i" /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME F-Main &Scoped-define BROWSE-NAME br_table /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES rowObject /* Definitions for BROWSE br_table */ &Scoped-define FIELDS-IN-QUERY-br_table rowObject.Menge rowObject.Bez ~ rowObject.Total &Scoped-define ENABLED-FIELDS-IN-QUERY-br_table rowObject.Menge &Scoped-define QUERY-STRING-br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION &Scoped-define OPEN-QUERY-br_table OPEN QUERY br_table FOR EACH rowObject NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-br_table rowObject &Scoped-define FIRST-TABLE-IN-QUERY-br_table rowObject /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-39 br_table F_WW F_Gebinde F_Recycling ~ F_MWST F_Total F_Skonto F_Netto Btn_Ausgleich F_Saldo F_Zahbetr F_ZahSko ~ F_Bezahlt F_Skonto_Bez CB_ZAHLART Btn_Bezahlt &Scoped-Define DISPLAYED-OBJECTS F_WW F_Gebinde F_Recycling F_MWST F_Total ~ F_Skonto F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez ~ CB_ZAHLART /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_WW F_Gebinde F_Recycling F_MWST F_Total F_Skonto ~ F_Netto F_Saldo F_Zahbetr F_ZahSko F_Bezahlt F_Skonto_Bez /* _UIB-PREPROCESSOR-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 63.4 BY 12.24. /* Query definitions */ &ANALYZE-SUSPEND DEFINE TEMP-TABLE RowObject NO-UNDO {{&DATA-FIELD-DEFS}} {src/adm2/robjflds.i}. DEFINE QUERY br_table FOR rowObject SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS br_table bTableWin _STRUCTURED QUERY br_table NO-LOCK DISPLAY rowObject.Menge FORMAT "zz,zz9-":U rowObject.Bez FORMAT "x(30)":U rowObject.Total FORMAT "->>>,>>9.999":U WIDTH 15.4 ENABLE rowObject.Menge HELP "?" DISABLE-AUTO-ZAP AUTO-RETURN /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-AUTO-VALIDATE NO-ROW-MARKERS SEPARATORS SIZE 61.2 BY 11.43 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main br_table AT ROW 1.48 COL 3 F_WW AT ROW 1.52 COL 78 COLON-ALIGNED WIDGET-ID 26 NO-TAB-STOP F_Gebinde AT ROW 2.52 COL 78 COLON-ALIGNED WIDGET-ID 10 NO-TAB-STOP F_Recycling AT ROW 3.52 COL 78 COLON-ALIGNED WIDGET-ID 16 NO-TAB-STOP F_MWST AT ROW 4.52 COL 78 COLON-ALIGNED WIDGET-ID 12 NO-TAB-STOP F_Total AT ROW 5.52 COL 78 COLON-ALIGNED WIDGET-ID 24 NO-TAB-STOP F_Skonto AT ROW 6.52 COL 78 COLON-ALIGNED WIDGET-ID 20 NO-TAB-STOP F_Netto AT ROW 7.52 COL 78 COLON-ALIGNED WIDGET-ID 14 NO-TAB-STOP Btn_Ausgleich AT ROW 7.52 COL 114 WIDGET-ID 2 F_Saldo AT ROW 8.52 COL 78 COLON-ALIGNED WIDGET-ID 18 NO-TAB-STOP F_Zahbetr AT ROW 9.52 COL 78 COLON-ALIGNED WIDGET-ID 28 F_ZahSko AT ROW 9.52 COL 110 COLON-ALIGNED WIDGET-ID 30 F_Bezahlt AT ROW 10.52 COL 78 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP F_Skonto_Bez AT ROW 10.52 COL 110 COLON-ALIGNED WIDGET-ID 22 NO-TAB-STOP CB_ZAHLART AT ROW 12.52 COL 93 COLON-ALIGNED WIDGET-ID 6 Btn_Bezahlt AT ROW 14 COL 114 WIDGET-ID 4 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 SCROLLABLE . /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDataBrowser Data Source: "d-aufgebko.w" Allow: Basic,Browse Frames: 1 Add Fields to: Neither 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 bTableWin ASSIGN HEIGHT = 16.24 WIDTH = 168. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB bTableWin /* ************************* Included-Libraries *********************** */ {src/adm2/browser.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW bTableWin NOT-VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE FRAME-NAME Size-to-Fit */ /* BROWSE-TAB br_table RECT-39 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE FRAME F-Main:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Bezahlt IN FRAME F-Main 6 */ ASSIGN F_Bezahlt:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Gebinde IN FRAME F-Main 6 */ ASSIGN F_Gebinde:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_MWST IN FRAME F-Main 6 */ ASSIGN F_MWST:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Netto IN FRAME F-Main 6 */ ASSIGN F_Netto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Recycling IN FRAME F-Main 6 */ ASSIGN F_Recycling:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Saldo IN FRAME F-Main 6 */ ASSIGN F_Saldo:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Skonto IN FRAME F-Main 6 */ ASSIGN F_Skonto:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Skonto_Bez IN FRAME F-Main 6 */ ASSIGN F_Skonto_Bez:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Total IN FRAME F-Main 6 */ ASSIGN F_Total:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_WW IN FRAME F-Main 6 */ ASSIGN F_WW:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_Zahbetr IN FRAME F-Main 6 */ ASSIGN F_Zahbetr:READ-ONLY IN FRAME F-Main = TRUE. /* SETTINGS FOR FILL-IN F_ZahSko IN FRAME F-Main 6 */ ASSIGN F_ZahSko:READ-ONLY IN FRAME F-Main = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE br_table /* Query rebuild information for BROWSE br_table _TblList = "rowObject" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > _.rowObject.Menge "rowObject.Menge" ? ? "decimal" ? ? ? ? ? ? yes "?" yes yes ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > _.rowObject.Bez "rowObject.Bez" ? ? "character" ? ? ? ? ? ? no "?" no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > _.rowObject.Total "rowObject.Total" ? ? "decimal" ? ? ? ? ? ? no ? no no "15.4" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE br_table */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "NO-LOCK" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME br_table &Scoped-define SELF-NAME br_table &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-END OF br_table IN FRAME F-Main DO: APPLY "END":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON CTRL-HOME OF br_table IN FRAME F-Main DO: APPLY "HOME":U TO BROWSE {&BROWSE-NAME}. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON END OF br_table IN FRAME F-Main DO: {src/adm2/brsend.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON HOME OF br_table IN FRAME F-Main DO: {src/adm2/brshome.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-END OF br_table IN FRAME F-Main DO: {src/adm2/brsoffnd.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON OFF-HOME OF br_table IN FRAME F-Main DO: {src/adm2/brsoffhm.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON RETURN OF br_table IN FRAME F-Main DO: DO WITH FRAME {&FRAME-NAME}: APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. {&BROWSE-NAME}:READ-ONLY = FALSE. rowObject.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE. DYNAMIC-FUNCTION('SETMUTFLAG':U, INPUT TRUE , INPUT 'f-rowObject.w' ) NO-ERROR. APPLY 'ENTRY' TO rowObject.Menge IN BROWSE {&BROWSE-NAME}. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-ENTRY OF br_table IN FRAME F-Main DO: {src/adm2/brsentry.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON ROW-LEAVE OF br_table IN FRAME F-Main DO: {src/adm2/brsleave.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON SCROLL-NOTIFY OF br_table IN FRAME F-Main DO: {src/adm2/brsscrol.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL br_table bTableWin ON VALUE-CHANGED OF br_table IN FRAME F-Main DO: {src/adm2/brschnge.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Ausgleich &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ausgleich bTableWin ON CHOOSE OF Btn_Ausgleich IN FRAME F-Main /* 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 bTableWin ON CHOOSE OF Btn_Bezahlt IN FRAME F-Main /* 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. IF VKonto = 'XXXXXX' 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 bTableWin ON RETURN OF CB_ZAHLART IN FRAME F-Main /* Zahlungsart */ DO: APPLY 'TAB' TO SELF. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_ZAHLART bTableWin ON VALUE-CHANGED OF CB_ZAHLART IN FRAME F-Main /* 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 bTableWin ON LEAVE OF F_Zahbetr IN FRAME F-Main /* 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 bTableWin ON RETURN OF F_Zahbetr IN FRAME F-Main /* 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 bTableWin ON LEAVE OF F_ZahSko IN FRAME F-Main /* 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 bTableWin ON RETURN OF F_ZahSko IN FRAME F-Main /* 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 bTableWin /* *************************** Main Block *************************** */ ON 'END-ERROR':U OF FRAME {&FRAME-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: /* rowObject.Menge:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = STRING(rowObject.Menge). */ APPLY 'ENTRY' TO FRAME {&FRAME-NAME}. {&BROWSE-NAME}:READ-ONLY = TRUE. rowObject.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 RUN initializeObject. &ENDIF /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord bTableWin PROCEDURE addRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord bTableWin PROCEDURE copyRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord bTableWin PROCEDURE deleteRecord : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DYNAMIC-FUNCTION('setFlagAbbruchAlt':U, INPUT TRUE) NO-ERROR. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI bTableWin _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 F-Main. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields bTableWin PROCEDURE enableFields : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RETURN NO-APPLY. /* RUN SUPER. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject bTableWin PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DISABLE rowObject.Menge. RUN SUPER. DO WITH FRAME {&FRAME-NAME}: rowObject.Menge:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE. {&BROWSE-NAME}:READ-ONLY = TRUE. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}. END. /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode bTableWin PROCEDURE updateMode : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO. DEF VAR Fenster AS HANDLE NO-UNDO. CASE pcMode: WHEN 'UpdateBegin' THEN DO: Fenster = {&BROWSE-NAME}:GET-BROWSE-COLUMN(1) IN FRAME {&FRAME-NAME}. MESSAGE fenster:DATA-TYPE fenster:SCREEN-VALUE. Fenster:READ-ONLY = FALSE. END. END CASE. RUN SUPER( INPUT pcMode). /* Code placed here will execute AFTER standard behavior. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME