datinaktivieren.i 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. DEF VAR hBuffer AS HANDLE NO-UNDO.
  2. DEF VAR hFeld AS HANDLE NO-UNDO.
  3. fData = TRUE.
  4. RUN dataAvailable ( INPUT 'SAME' ).
  5. FIND FIRST tRowObject NO-LOCK.
  6. REPEAT TRANSACTION:
  7. FIND {&Tabelle}
  8. &IF '{&TabWhere}' NE ''
  9. &THEN {&TabWhere}
  10. &ELSE OF tRowObject
  11. &ENDIF
  12. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  13. IF LOCKED {&Tabelle} THEN DO:
  14. MESSAGE 'Datensatz ist schon im Zugriff '
  15. VIEW-AS ALERT-BOX INFORMATION.
  16. RELEASE {&Tabelle}.
  17. RETURN 'ERROR'.
  18. END.
  19. IF NOT AVAILABLE {&Tabelle} THEN DO:
  20. RELEASE {&Tabelle}.
  21. RETURN 'ERROR'.
  22. END.
  23. hBuffer = BUFFER {&Tabelle}:HANDLE.
  24. hFeld = hBuffer:BUFFER-FIELD('Aktiv') NO-ERROR.
  25. IF NOT VALID-HANDLE( hFeld ) THEN DO:
  26. RELEASE {&Tabelle}.
  27. RETURN 'ERROR'.
  28. END.
  29. hFeld:BUFFER-VALUE(0) = STRING(FALSE).
  30. RELEASE {&Tabelle}.
  31. LEAVE.
  32. END.
  33. RUN refreshRow.