alguidelines/content/docs/BestPractices/DeleteAll/index.md
Henrik Helgesen fb17dc9640 Removed Discussion Links. Using new Theme solution.
Some additional MDLint cleanup as well
2022-02-24 15:36:06 -08:00

27 lines
667 B
Markdown

---
title: "DeleteAll"
tags: ["AL","Performance"]
categories: ["Best Practice"]
---
_Created by waldo, Described by waldo_
## Description
When you perform a "DeleteAll" when there is nothing to delete, it will still perform a lock. When you for example perform a DeleteAll on an empty table, it will result in a table lock.
Therefore it's good practice to always check if the table is empty when performing a DeleteAll.
## Bad code
```al
EmptyTableWLD.SetRange(Code, 'AJ');
EmptyTableWLD.DeleteAll(true);
```
## Good code
```al
EmptyTableWLD.SetRange(Code, 'AJ');
if not EmptyTableWLD.IsEmpty() then
EmptyTableWLD.DeleteAll(true);
```