ArtikelnummerKomplettLoeschen.p 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. DEF VAR hQuery AS HANDLE NO-UNDO.
  2. DEF VAR hBuffer AS HANDLE NO-UNDO.
  3. DEF VAR hFeld AS HANDLE NO-UNDO.
  4. DEF VAR cWhere AS CHAR NO-UNDO.
  5. DEF VAR iArtnr AS INT NO-UNDO INIT 20150.
  6. DEF VAR iInhalt AS INT NO-UNDO INIT 45.
  7. DEF VAR iJahr AS INT NO-UNDO INIT 0.
  8. FOR EACH _Field WHERE _Field._Field-Name = 'Artnr':
  9. FIND _File OF _Field.
  10. CREATE BUFFER hBuffer FOR TABLE _File._File-Name.
  11. hFeld = hBuffer:BUFFER-FIELD('Firma').
  12. IF VALID-HANDLE(hFeld) THEN
  13. cWhere = SUBSTITUTE('FOR EACH &1 WHERE &1.Firma = "1000" AND &1.Artnr = &2 AND &1.Inhalt = &3 AND &1.Jahr = &4',
  14. _File._File-Name, iArtnr, iInhalt, iJahr ).
  15. ELSE
  16. cWhere = SUBSTITUTE('FOR EACH &1 WHERE &1.Artnr = &2 AND &1.Inhalt = &3 AND &1.Jahr = &4',
  17. _File._File-Name, iArtnr, iInhalt, iJahr ).
  18. CREATE QUERY hQuery.
  19. hQuery:SET-BUFFERS(hBuffer).
  20. hQuery:QUERY-PREPARE(cWhere).
  21. hQuery:QUERY-OPEN().
  22. REPEAT TRANSACTION:
  23. DO WHILE hQuery:GET-NEXT(EXCLUSIVE-LOCK):
  24. hBuffer:BUFFER-DELETE().
  25. END.
  26. LEAVE.
  27. END.
  28. DELETE OBJECT hBuffer.
  29. DELETE OBJECT hQuery.
  30. END.