&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS F-Frame-Win /*------------------------------------------------------------------------ File: Description: from cntnrfrm.w - ADM SmartFrame Template Input Parameters: Output Parameters: ------------------------------------------------------------------------*/ /* This .W file was created with the Progress UIB. */ /*----------------------------------------------------------------------*/ /* 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 VText AS CHAR FORMAT "x(30)" NO-UNDO. DEF BUFFER BMahnung FOR Mahnung. /* ---------- Globale Variablen ---------------------------------- */ { v8/globvar.i " " " " "SHARED" } { v8/debivar.i " " " " "SHARED" } { v8/artivar.i " " " " "SHARED" } { v8/contvar.i " " " " "SHARED" } DEF VAR lAlle AS LOG INIT TRUE NO-UNDO. DEF TEMP-TABLE tSelektion FIELD Firma AS CHAR FIELD Knr AS INT FIELD Faknr AS INT FIELD Stufe AS INT FIELD lJa AS LOG . /* _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 /* Name of first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME F-Main &Scoped-define BROWSE-NAME BROWSE-1 /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES Mahnung /* Definitions for BROWSE BROWSE-1 */ &Scoped-define FIELDS-IN-QUERY-BROWSE-1 Mahnung.Knr VText @ VText ~ Mahnung.MahStu Mahnung.Faknr Mahnung.Fakdat Mahnung.Faellig Mahnung.Fakbetr ~ Mahnung.Saldo Mahnung.Zahdat Mahnung.Zahbetr Mahnung.Skonto &Scoped-define ENABLED-FIELDS-IN-QUERY-BROWSE-1 &Scoped-define QUERY-STRING-BROWSE-1 FOR EACH Mahnung ~ WHERE Mahnung.Firma = GVFirma NO-LOCK &Scoped-define OPEN-QUERY-BROWSE-1 OPEN QUERY BROWSE-1 FOR EACH Mahnung ~ WHERE Mahnung.Firma = GVFirma NO-LOCK. &Scoped-define TABLES-IN-QUERY-BROWSE-1 Mahnung &Scoped-define FIRST-TABLE-IN-QUERY-BROWSE-1 Mahnung /* Definitions for FRAME F-Main */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS BROWSE-1 F_Knr Btn_Mahntexte Btn_Drucken ~ Btn_Erstellen RECT-37 &Scoped-Define DISPLAYED-OBJECTS F_Knr /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Drucken LABEL "Drucken" SIZE 16 BY 1. DEFINE BUTTON Btn_Erstellen LABEL "Work erstellen" SIZE 16 BY 1. DEFINE BUTTON Btn_Mahntexte LABEL "Mahntexte" SIZE 16 BY 1. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0 LABEL "Knr" VIEW-AS FILL-IN NATIVE SIZE 11 BY 1 BGCOLOR 15 NO-UNDO. DEFINE RECTANGLE RECT-37 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 127.8 BY 10.91. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY BROWSE-1 FOR Mahnung SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE BROWSE-1 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS BROWSE-1 F-Frame-Win _STRUCTURED QUERY BROWSE-1 DISPLAY Mahnung.Knr FORMAT "999999":U WIDTH 7 VText @ VText COLUMN-LABEL "Kunde" FORMAT "x(30)":U WIDTH 25 Mahnung.MahStu COLUMN-LABEL "Stu" FORMAT "99":U Mahnung.Faknr FORMAT "999999":U WIDTH 7 Mahnung.Fakdat FORMAT "99.99.9999":U WIDTH 11 Mahnung.Faellig COLUMN-LABEL "Fällig" FORMAT "99.99.9999":U WIDTH 11 Mahnung.Fakbetr FORMAT "zz,zz9.99-":U WIDTH 10 Mahnung.Saldo FORMAT "zz,zz9.99-":U WIDTH 10 Mahnung.Zahdat FORMAT "99.99.9999":U WIDTH 11 Mahnung.Zahbetr FORMAT "zz,zz9.99-":U WIDTH 10 Mahnung.Skonto FORMAT "zzz9.99-":U WIDTH 8 /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS MULTIPLE SIZE 126 BY 7.62 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME F-Main BROWSE-1 AT ROW 1.48 COL 3 F_Knr AT ROW 9.52 COL 6 COLON-ALIGNED Btn_Mahntexte AT ROW 9.52 COL 112.8 Btn_Drucken AT ROW 10.71 COL 112.8 Btn_Erstellen AT ROW 9.52 COL 94 RECT-37 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: SmartFrame Allow: Basic,Browse,DB-Fields,Query,Smart 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 F-Frame-Win ASSIGN HEIGHT = 11.62 WIDTH = 132. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB F-Frame-Win /* ************************* Included-Libraries *********************** */ {src/adm/method/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW F-Frame-Win VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME F-Main NOT-VISIBLE Size-to-Fit Custom */ /* BROWSE-TAB BROWSE-1 1 F-Main */ ASSIGN FRAME F-Main:SCROLLABLE = FALSE. ASSIGN BROWSE-1:MAX-DATA-GUESS IN FRAME F-Main = 1000. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE BROWSE-1 /* Query rebuild information for BROWSE BROWSE-1 _TblList = "AnaDat.Mahnung" _Where[1] = "Mahnung.Firma = GVFirma" _FldNameList[1] > AnaDat.Mahnung.Knr "Mahnung.Knr" ? ? "integer" ? ? ? ? ? ? no ? no no "7" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[2] > "_" "VText @ VText" "Kunde" "x(30)" ? ? ? ? ? ? ? no ? no no "25" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[3] > AnaDat.Mahnung.MahStu "Mahnung.MahStu" "Stu" ? "integer" ? ? ? ? ? ? no ? no no ? yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[4] > AnaDat.Mahnung.Faknr "Mahnung.Faknr" ? ? "integer" ? ? ? ? ? ? no ? no no "7" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[5] > AnaDat.Mahnung.Fakdat "Mahnung.Fakdat" ? ? "date" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[6] > AnaDat.Mahnung.Faellig "Mahnung.Faellig" "Fällig" ? "date" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[7] > AnaDat.Mahnung.Fakbetr "Mahnung.Fakbetr" ? "zz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[8] > AnaDat.Mahnung.Saldo "Mahnung.Saldo" ? "zz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[9] > AnaDat.Mahnung.Zahdat "Mahnung.Zahdat" ? ? "date" ? ? ? ? ? ? no ? no no "11" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[10] > AnaDat.Mahnung.Zahbetr "Mahnung.Zahbetr" ? "zz,zz9.99-" "decimal" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _FldNameList[11] > AnaDat.Mahnung.Skonto "Mahnung.Skonto" ? "zzz9.99-" "decimal" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" "" "" "" "" 0 no 0 no no _Query is NOT OPENED */ /* BROWSE BROWSE-1 */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main /* Query rebuild information for FRAME F-Main _Options = "" _Query is NOT OPENED */ /* FRAME F-Main */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define BROWSE-NAME BROWSE-1 &Scoped-define SELF-NAME BROWSE-1 &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BROWSE-1 F-Frame-Win ON DELETE-CHARACTER OF BROWSE-1 IN FRAME F-Main DO: DO WITH FRAME {&FRAME-NAME}: Ja = FALSE. { v8/loeschen.i } IF NOT Ja THEN RETURN NO-APPLY. i1 = {&BROWSE-NAME}:NUM-SELECTED-ROWS. REPEAT TRANSACTION: DO ix = 1 TO i1: {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). FIND BMahnung WHERE RECID(BMahnung) = RECID(Mahnung). DELETE BMahnung. {&BROWSE-NAME}:DELETE-SELECTED-ROW(1). END. LEAVE. END. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BROWSE-1 F-Frame-Win ON RIGHT-MOUSE-CLICK OF BROWSE-1 IN FRAME F-Main DO: i1 = {&BROWSE-NAME}:NUM-SELECTED-ROWS. IF i1 = 0 THEN RETURN NO-APPLY. {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). Linkcd = 1. Linknr = Mahnung.MahStu. Ja = TRUE. RUN "v8/d-auswahl-allg.w" ( INPUT-OUTPUT lAlle ). IF Linkcd = 99 THEN RETURN NO-APPLY. EMPTY TEMP-TABLE tSelektion. REPEAT TRANSACTION: DO ix = i1 TO 1 BY -1: {&BROWSE-NAME}:FETCH-SELECTED-ROW(ix). CREATE tSelektion. ASSIGN tSelektion.Firma = Mahnung.Firma tSelektion.Knr = Mahnung.Knr tSelektion.Faknr = Mahnung.Faknr tSelektion.Stufe = Linknr tSelektion.lJa = lAlle. END. FOR EACH tSelektion: IF NOT tSelektion.lJa THEN DO: FIND FIRST bMahnung WHERE bMahnung.Firma = tSelektion.Firma AND bMahnung.Knr = tSelektion.Knr AND bMahnung.Faknr = tSelektion.Faknr. bMahnung.MahStu = tSelektion.Stufe. NEXT. END. FOR EACH bMahnung WHERE bMahnung.Firma = tSelektion.Firma AND bMahnung.Knr = tSelektion.Knr: bMahnung.MahStu = tSelektion.Stufe. END. RELEASE bMahnung. END. LEAVE. END. {&BROWSE-NAME}:REFRESH(). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL BROWSE-1 F-Frame-Win ON ROW-DISPLAY OF BROWSE-1 IN FRAME F-Main DO: VText = ''. IF NOT AVAILABLE Mahnung THEN RETURN. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = AdFirma AND Adresse.Knr = Mahnung.Knr NO-LOCK NO-ERROR. IF AVAILABLE Adresse THEN VText = Adresse.Anzeig_Br. ELSE VText = FILL('?', 20). END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Drucken &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken F-Frame-Win ON CHOOSE OF Btn_Drucken IN FRAME F-Main /* Drucken */ DO: RUN "v8/d-p_mahnung.w". END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Erstellen &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Erstellen F-Frame-Win ON CHOOSE OF Btn_Erstellen IN FRAME F-Main /* Work erstellen */ DO: DO WITH FRAME {&FRAME-NAME}: DISABLE Btn_Erstellen. DISABLE Btn_Mahntexte. DISABLE Btn_Drucken. RUN 'g-mahnwork.w':U . RUN OPEN_MAHNUNG. ENABLE Btn_Erstellen. ENABLE Btn_Mahntexte. ENABLE Btn_Drucken. RUN OPEN_MAHNUNG. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Mahntexte &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Mahntexte F-Frame-Win ON CHOOSE OF Btn_Mahntexte IN FRAME F-Main /* Mahntexte */ DO: RUN "g-mahntexte.w". END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Knr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr F-Frame-Win ON LEAVE OF F_Knr IN FRAME F-Main /* Knr */ DO: DO WITH FRAME {&FRAME-NAME}: ASSIGN F_Knr. RUN OPEN_MAHNUNG. F_Knr = 0. DISPLAY F_Knr. END. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr F-Frame-Win ON RETURN OF F_Knr IN FRAME F-Main /* Knr */ 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 F-Frame-Win /* *************************** Main Block *************************** */ F_Knr = 0. &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 dispatch IN THIS-PROCEDURE ('initialize':U). &ENDIF ON END-ERROR OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN new-state ( 'ENDE, MAIN':U ). RETURN NO-APPLY. END. ON U1 OF THIS-PROCEDURE DO: MESSAGE 'u1 ' VIEW-AS ALERT-BOX. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects F-Frame-Win _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 adm-row-available F-Frame-Win _ADM-ROW-AVAILABLE PROCEDURE adm-row-available : /*------------------------------------------------------------------------------ Purpose: Dispatched to this procedure when the Record- Source has a new row available. This procedure tries to get the new row (or foriegn keys) from the Record-Source and process it. Parameters: ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/row-head.i} /* Process the newly available records (i.e. display fields, open queries, and/or pass records on to any RECORD-TARGETS). */ {src/adm/template/row-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI F-Frame-Win _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 enable_UI F-Frame-Win _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_Knr WITH FRAME F-Main. ENABLE BROWSE-1 F_Knr Btn_Mahntexte Btn_Drucken Btn_Erstellen RECT-37 WITH FRAME F-Main. {&OPEN-BROWSERS-IN-QUERY-F-Main} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view F-Frame-Win PROCEDURE local-view : /*------------------------------------------------------------------------------ Purpose: Override standard ADM method Notes: ------------------------------------------------------------------------------*/ RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) . RUN OPEN_MAHNUNG. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_MAHNUNG F-Frame-Win PROCEDURE OPEN_MAHNUNG : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS("{&BROWSE-NAME}":U) = ? THEN LEAVE. CLOSE QUERY {&BROWSE-NAME}. LEAVE. END. OPEN QUERY {&BROWSE-NAME} FOR EACH Mahnung USE-INDEX Mahnung-k1 WHERE Mahnung.Firma = GVFirma AND Mahnung.Knr >= F_Knr NO-LOCK. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records F-Frame-Win _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/snd-head.i} /* For each requested table, put it's ROWID in the output list. */ {src/adm/template/snd-list.i "Mahnung"} /* Deal with any unexpected table requests before closing. */ {src/adm/template/snd-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed F-Frame-Win PROCEDURE state-changed : /* ----------------------------------------------------------- Purpose: Parameters: Notes: -------------------------------------------------------------*/ DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME