DEF VAR hQuery AS HANDLE NO-UNDO. DEF VAR hBuffer AS HANDLE NO-UNDO. DEF VAR hFeld AS HANDLE NO-UNDO. DEF VAR cWhere AS CHAR NO-UNDO. DEF VAR iKnr AS INT NO-UNDO INIT 5555. FOR EACH _Field WHERE _Field._Field-Name = 'Knr': FIND _File OF _Field. CREATE BUFFER hBuffer FOR TABLE _File._File-Name. hFeld = hBuffer:BUFFER-FIELD('Firma'). IF VALID-HANDLE(hFeld) THEN cWhere = SUBSTITUTE('FOR EACH &1 WHERE &1.Firma = "1000" AND &1.Knr = &2', _File._File-Name, iKnr ). ELSE cWhere = SUBSTITUTE('FOR EACH &1 WHERE &1.Knr = &2', _File._File-Name, iKnr ). CREATE QUERY hQuery. hQuery:SET-BUFFERS(hBuffer). hQuery:QUERY-PREPARE(cWhere). hQuery:QUERY-OPEN(). REPEAT TRANSACTION: DO WHILE hQuery:GET-NEXT(EXCLUSIVE-LOCK): hBuffer:BUFFER-DELETE(). END. LEAVE. END. DELETE OBJECT hBuffer. DELETE OBJECT hQuery. END.