&ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2 &ANALYZE-RESUME /* Connected Databases anadat PROGRESS */ &Scoped-define WINDOW-NAME CURRENT-WINDOW &Scoped-define FRAME-NAME gLoeschArtikel /* Temp-Table and Buffer definitions */ DEFINE TEMP-TABLE TArtst NO-UNDO LIKE Artst. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gLoeschArtikel /*------------------------------------------------------------------------ File: Description: from cntnrdlg.w - ADM2 SmartDialog Template Input Parameters: Output Parameters: Author: Created: ------------------------------------------------------------------------*/ /* 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 MaxPage AS INT NO-UNDO. DEF VAR AktSeite AS INT NO-UNDO. DEF VAR FMutFlag AS LOG NO-UNDO. DEF VAR Firma AS CHAR NO-UNDO. DEF VAR AdFirma AS CHAR NO-UNDO. DEF VAR Artnr AS INT NO-UNDO. DEF VAR Inhalt AS INT NO-UNDO. DEF VAR Jahr AS INT NO-UNDO. DEF VAR fJa AS LOG NO-UNDO. DEF TEMP-TABLE TDateien FIELD Datei AS CHAR FIELD Firma AS LOG. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE SmartDialog &Scoped-define DB-AWARE no &Scoped-define ADM-CONTAINER DIALOG-BOX &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target /* Name of first Frame and/or Browse and/or first Query */ &Scoped-define FRAME-NAME gLoeschArtikel &Scoped-define BROWSE-NAME Br_Artikel /* Internal Tables (found by Frame, Query & Browse Queries) */ &Scoped-define INTERNAL-TABLES TArtst /* Definitions for BROWSE Br_Artikel */ &Scoped-define FIELDS-IN-QUERY-Br_Artikel TArtst.Artnr TArtst.Inhalt ~ TArtst.Jahr TArtst.Bez TArtst.Bestand TArtst.Letzt_Ausg TArtst.Letzt_Eing &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Artikel &Scoped-define OPEN-QUERY-Br_Artikel OPEN QUERY Br_Artikel FOR EACH TArtst NO-LOCK INDEXED-REPOSITION. &Scoped-define TABLES-IN-QUERY-Br_Artikel TArtst &Scoped-define FIRST-TABLE-IN-QUERY-Br_Artikel TArtst /* Definitions for DIALOG-BOX gLoeschArtikel */ /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS F_Datum Br_Artikel Btn_OK Btn_Cancel RECT-41 &Scoped-Define DISPLAYED-OBJECTS F_Datum F_Status /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ &Scoped-define List-6 F_Datum /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define a dialog box */ /* Definitions of the field level widgets */ DEFINE BUTTON Btn_Cancel AUTO-END-KEY LABEL "&Abbrechen" SIZE 15 BY 1. DEFINE BUTTON Btn_OK LABEL "&Start" SIZE 15 BY 1. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U LABEL "keine Bewegungen mehr seit ?" VIEW-AS FILL-IN NATIVE SIZE 16.8 BY 1 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE F_Status AS CHARACTER FORMAT "X(80)":U VIEW-AS FILL-IN NATIVE SIZE 98 BY 1 BGCOLOR 14 FONT 6 NO-UNDO. DEFINE RECTANGLE RECT-41 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 108 BY 15.24. /* Query definitions */ &ANALYZE-SUSPEND DEFINE QUERY Br_Artikel FOR TArtst SCROLLING. &ANALYZE-RESUME /* Browse definitions */ DEFINE BROWSE Br_Artikel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Artikel gLoeschArtikel _STRUCTURED QUERY Br_Artikel NO-LOCK DISPLAY TArtst.Artnr FORMAT "999999":U WIDTH 8 TArtst.Inhalt FORMAT "9999":U WIDTH 6 TArtst.Jahr FORMAT "9999":U WIDTH 6 TArtst.Bez FORMAT "x(30)":U TArtst.Bestand FORMAT "zzzzz,zz9-":U WIDTH 10 TArtst.Letzt_Ausg COLUMN-LABEL "Letzt. Verkauf" FORMAT "99.99.9999":U WIDTH 14 TArtst.Letzt_Eing COLUMN-LABEL "Letzt. Eingang" FORMAT "99.99.9999":U WIDTH 14 /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME WITH NO-ROW-MARKERS SEPARATORS SIZE 98 BY 8.52. /* ************************ Frame Definitions *********************** */ DEFINE FRAME gLoeschArtikel F_Datum AT ROW 2 COL 36.2 COLON-ALIGNED Br_Artikel AT ROW 3.52 COL 8 F_Status AT ROW 12.52 COL 6 COLON-ALIGNED NO-LABEL NO-TAB-STOP Btn_OK AT ROW 14.81 COL 14.2 Btn_Cancel AT ROW 14.81 COL 62.2 RECT-41 AT ROW 1.24 COL 2 SPACE(0.99) SKIP(0.22) WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE TITLE "definitives Löschen inaktiver Artikel" CANCEL-BUTTON Btn_Cancel. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: SmartDialog Allow: Basic,Browse,DB-Fields,Query,Smart Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target Design Page: 1 Other Settings: COMPILE Temp-Tables and Buffers: TABLE: TArtst T "?" NO-UNDO AnaDat Artst END-TABLES. */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gLoeschArtikel /* ************************* Included-Libraries *********************** */ {src/adm2/containr.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR DIALOG-BOX gLoeschArtikel */ /* BROWSE-TAB Br_Artikel F_Datum gLoeschArtikel */ ASSIGN FRAME gLoeschArtikel:SCROLLABLE = FALSE FRAME gLoeschArtikel:HIDDEN = TRUE. /* SETTINGS FOR FILL-IN F_Datum IN FRAME gLoeschArtikel 6 */ /* SETTINGS FOR FILL-IN F_Status IN FRAME gLoeschArtikel NO-ENABLE */ ASSIGN F_Status:HIDDEN IN FRAME gLoeschArtikel = TRUE F_Status:READ-ONLY IN FRAME gLoeschArtikel = TRUE. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Artikel /* Query rebuild information for BROWSE Br_Artikel _TblList = "Temp-Tables.TArtst" _Options = "NO-LOCK INDEXED-REPOSITION" _FldNameList[1] > Temp-Tables.TArtst.Artnr "TArtst.Artnr" ? ? "integer" ? ? ? ? ? ? no ? no no "8" yes no no "U" "" "" _FldNameList[2] > Temp-Tables.TArtst.Inhalt "TArtst.Inhalt" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" _FldNameList[3] > Temp-Tables.TArtst.Jahr "TArtst.Jahr" ? ? "integer" ? ? ? ? ? ? no ? no no "6" yes no no "U" "" "" _FldNameList[4] = Temp-Tables.TArtst.Bez _FldNameList[5] > Temp-Tables.TArtst.Bestand "TArtst.Bestand" ? ? "integer" ? ? ? ? ? ? no ? no no "10" yes no no "U" "" "" _FldNameList[6] > Temp-Tables.TArtst.Letzt_Ausg "TArtst.Letzt_Ausg" "Letzt. Verkauf" ? "date" ? ? ? ? ? ? no ? no no "14" yes no no "U" "" "" _FldNameList[7] > Temp-Tables.TArtst.Letzt_Eing "TArtst.Letzt_Eing" "Letzt. Eingang" ? "date" ? ? ? ? ? ? no ? no no "14" yes no no "U" "" "" _Query is NOT OPENED */ /* BROWSE Br_Artikel */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gLoeschArtikel /* Query rebuild information for DIALOG-BOX gLoeschArtikel _Options = "SHARE-LOCK" _Query is NOT OPENED */ /* DIALOG-BOX gLoeschArtikel */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME gLoeschArtikel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel ON END-ERROR OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel ON GO OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */ DO: /* RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR. */ END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLoeschArtikel gLoeschArtikel ON WINDOW-CLOSE OF FRAME gLoeschArtikel /* definitives Löschen inaktiver Artikel */ DO: RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_Cancel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gLoeschArtikel ON CHOOSE OF Btn_Cancel IN FRAME gLoeschArtikel /* Abbrechen */ DO: DO WITH FRAME {&FRAME-NAME}: IF Btn_OK:LABEL = 'Reorg' THEN DO: Btn_OK:LABEL = 'Start'. FOR EACH tArtst: DELETE tArtst. END. RUN OPEN_ZU_LOESCHENDE_ARTIKEL. APPLY 'ENTRY' TO F_Datum. RETURN NO-APPLY. END. END. RUN ENDE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME Btn_OK &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gLoeschArtikel ON CHOOSE OF Btn_OK IN FRAME gLoeschArtikel /* Start */ DO: IF SELF:LABEL = 'Reorg' THEN DO: fJa = DYNAMIC-FUNCTION('ANTWORT_NEIN':U, INPUT 1084 ) NO-ERROR. IF NOT fJa THEN RETURN NO-APPLY. RUN REORGANISATION. RUN ENDE. END. ELSE DO: RUN SAMMELN. END. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME F_Datum &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum gLoeschArtikel ON VALUE-CHANGED OF F_Datum IN FRAME gLoeschArtikel /* keine Bewegungen mehr seit ? */ DO: IF Btn_OK:LABEL <> 'Start' THEN Btn_OK:LABEL = 'Start'. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define BROWSE-NAME Br_Artikel &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gLoeschArtikel /* *************************** Main Block *************************** */ MaxPage = 1. AktSeite = 1. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR. SESSION:DATA-ENTRY-RETURN = TRUE. SUBSCRIBE TO 'TOOLBAR' ANYWHERE. /* TRIGGERS ------------------------------------------------------ */ ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE DO: RUN ENDE. RETURN NO-APPLY. END. /* ------------------------------------------------------------------ */ {src/adm2/dialogmn.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gLoeschArtikel _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 disable_UI gLoeschArtikel _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 gLoeschArtikel. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gLoeschArtikel PROCEDURE enableObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ /* Code placed here will execute PRIOR to standard behavior. */ RUN SUPER. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gLoeschArtikel _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_Datum F_Status WITH FRAME gLoeschArtikel. ENABLE F_Datum Br_Artikel Btn_OK Btn_Cancel RECT-41 WITH FRAME gLoeschArtikel. VIEW FRAME gLoeschArtikel. {&OPEN-BROWSERS-IN-QUERY-gLoeschArtikel} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gLoeschArtikel PROCEDURE ENDE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ). APPLY 'GO' TO FRAME {&FRAME-NAME}. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gLoeschArtikel PROCEDURE exitObject : /*------------------------------------------------------------------------------ Purpose: Super Override Parameters: Notes: ------------------------------------------------------------------------------*/ RUN ENDE. RETURN NO-APPLY. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LOESCHEN gLoeschArtikel PROCEDURE LOESCHEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR bHandle AS WIDGET-HANDLE NO-UNDO. DEF VAR dHandle AS WIDGET-HANDLE NO-UNDO. DEF VAR qHandle AS WIDGET-HANDLE NO-UNDO. DEF VAR sSelektion AS CHAR NO-UNDO. DEF VAR fErst AS LOG NO-UNDO. DO WITH FRAME {&FRAME-NAME}: Btn_OK :SENSITIVE = FALSE. Btn_Cancel:SENSITIVE = FALSE. F_Status :HIDDEN = FALSE. F_Status :SENSITIVE = TRUE. END. SESSION:IMMEDIATE-DISPLAY = TRUE. CREATE QUERY qHandle. DO WITH FRAME {&FRAME-NAME}: FOR EACH TDateien NO-LOCK BY TDateien.Datei: IF TDateien.Datei = 'Artst' THEN NEXT. CREATE BUFFER bHandle FOR TABLE TDateien.Datei. qHandle:SET-BUFFERS(bHandle). IF TDateien.Firma = TRUE THEN DO: sSelektion = 'FOR EACH ' + TDateien.Datei + ' WHERE ' + TDateien.Datei + '.Firma = "' + Firma + '" AND ' + TDateien.Datei + '.Artnr = ' + STRING(Artnr) + ' AND ' + TDateien.Datei + '.Inhalt = ' + STRING(Inhalt) + ' AND ' + TDateien.Datei + '.Jahr = ' + STRING(Jahr). END. ELSE DO: sSelektion = 'FOR EACH ' + TDateien.Datei + ' WHERE ' + TDateien.Datei + '.Artnr = ' + STRING(Artnr) + ' AND ' + TDateien.Datei + '.Inhalt = ' + STRING(Inhalt) + ' AND ' + TDateien.Datei + '.Jahr = ' + STRING(Jahr). END. qHandle:QUERY-PREPARE(sSelektion). qHandle:QUERY-OPEN(). F_Status = 'Löschen der Tabelle -> "' + bHandle:NAME + '" mit ' + ' Artnr = ' + STRING(Artnr) + ' Inhalt = ' + STRING(Inhalt) + ' Jahrgang = ' + STRING(Jahr). F_Status:SCREEN-VALUE = F_Status. fErst = TRUE. REPEAT TRANSACTION: IF fErst THEN qHandle:GET-FIRST(EXCLUSIVE-LOCK). ELSE qHandle:GET-NEXT (EXCLUSIVE-LOCK). IF qHandle:QUERY-OFF-END THEN LEAVE. dHandle = qHandle:GET-BUFFER-HANDLE(). dHandle:BUFFER-DELETE(). END. qHandle:QUERY-CLOSE(). DELETE OBJECT bHandle. END. REPEAT TRANSACTION: FIND Artst USE-INDEX Artst-k1 WHERE Artst.Firma = Firma AND Artst.Artnr = Artnr AND Artst.Inhalt = Inhalt AND Artst.Jahr = Jahr. DELETE Artst. LEAVE. END. END. DELETE OBJECT qHandle. SESSION:IMMEDIATE-DISPLAY = FALSE. DO WITH FRAME {&FRAME-NAME}: Btn_OK :SENSITIVE = TRUE. Btn_Cancel:SENSITIVE = TRUE. Btn_OK :LABEL = 'Start'. APPLY 'ENTRY' TO Btn_OK. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPEN_ZU_LOESCHENDE_ARTIKEL gLoeschArtikel PROCEDURE OPEN_ZU_LOESCHENDE_ARTIKEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ OPEN QUERY {&BROWSE-NAME} FOR EACH tArtst NO-LOCK. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REORGANISATION gLoeschArtikel PROCEDURE REORGANISATION : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ja AS LOG NO-UNDO. SESSION:SET-WAIT-STATE('GENERAL'). DO WHILE TRUE WITH FRAME {&FRAME-NAME}: IF NUM-RESULTS('{&BROWSE-NAME}') = ? THEN LEAVE. IF NUM-RESULTS('{&BROWSE-NAME}') = 0 THEN LEAVE. ja = {&BROWSE-NAME}:SELECT-ROW(1). ja = {&BROWSE-NAME}:FETCH-SELECTED-ROW(1). F_Status:HIDDEN = FALSE. F_Status:SENSITIVE = TRUE. Btn_OK :SENSITIVE = FALSE. Btn_Cancel:SENSITIVE = FALSE. F_Datum :READ-ONLY = TRUE . EMPTY TEMP-TABLE TDateien. FOR EACH _Field WHERE _Field._Field-Name BEGINS 'Artnr' NO-LOCK: FIND _File OF _Field NO-LOCK. CREATE TDateien. ASSIGN TDateien.Datei = _File._File-Name TDateien.Firma = FALSE. END. FOR EACH _Field WHERE _Field._Field-Name = 'Firma' NO-LOCK: FIND _File OF _Field NO-LOCK. FIND FIRST TDateien WHERE TDateien.Datei = _File._File-Name NO-LOCK NO-ERROR. IF NOT AVAILABLE TDateien THEN NEXT. TDateien.Firma = TRUE. END. DO WHILE ja: Artnr = tArtst.Artnr . Inhalt = tArtst.Inhalt . Jahr = tArtst.Jahr . RUN LOESCHEN. ja = {&BROWSE-NAME}:SELECT-NEXT-ROW(). END. Btn_OK :SENSITIVE = TRUE . Btn_Cancel:SENSITIVE = TRUE . F_Datum :READ-ONLY = FALSE. LEAVE. END. SESSION:SET-WAIT-STATE(''). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELN gLoeschArtikel PROCEDURE SAMMELN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEF VAR ja AS LOG NO-UNDO. DO WITH FRAME {&FRAME-NAME}: ASSIGN {&List-6}. IF F_Datum = ? THEN RETURN NO-APPLY. SESSION:SET-WAIT-STATE('GENERAL'). Btn_OK :SENSITIVE = FALSE. Btn_Cancel:SENSITIVE = FALSE. F_Datum :READ-ONLY = TRUE . EMPTY TEMP-TABLE tArtst. FOR EACH Artst USE-INDEX Artst-k1 WHERE Artst.Firma = Firma AND Artst.Bestand <= 0 AND Artst.Aktiv = FALSE NO-LOCK: CREATE tArtst. BUFFER-COPY Artst TO tArtst. END. FOR EACH tArtst: FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k9 WHERE Artbw.Firma = tArtst.Firma AND Artbw.Artnr = tArtst.Artnr AND Artbw.Inhalt = tArtst.Inhalt AND Artbw.Jahr = tArtst.Jahr AND Artbw.Tr_Art = 01 NO-ERROR. IF AVAILABLE Artbw THEN tArtst.Letzt_Ausg = (IF Artbw.Fak_Dat <> ? THEN Artbw.Fak_Dat ELSE Artbw.Datum). ELSE tArtst.Letzt_Ausg = 01/01/1901. FIND FIRST Artbw NO-LOCK USE-INDEX Artbw-k9 WHERE Artbw.Firma = tArtst.Firma AND Artbw.Artnr = tArtst.Artnr AND Artbw.Inhalt = tArtst.Inhalt AND Artbw.Jahr = tArtst.Jahr AND Artbw.Tr_Art > 10 AND Artbw.Tr_Art < 20 NO-ERROR. IF AVAILABLE Artbw THEN tArtst.Letzt_Eing = Artbw.Datum. ELSE tArtst.Letzt_Eing = 01/01/1901. IF tArtst.Letzt_Ausg >= F_Datum OR tArtst.Letzt_Eing >= F_Datum THEN DO: DELETE tArtst. NEXT. END. END. RUN OPEN_ZU_LOESCHENDE_ARTIKEL. SESSION:SET-WAIT-STATE(''). Btn_OK :SENSITIVE = TRUE. Btn_Cancel:SENSITIVE = TRUE. Btn_OK :LABEL = 'Reorg'. F_Datum :READ-ONLY = FALSE. APPLY 'ENTRY' TO Btn_OK. END. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME