# archive-accounts command

The archive-accounts command moves entries from the accounts data
 level to an archive data level, or optionally deletes them.

## Syntax

```
archive-accounts {<purge_date>} {(d}
```

## Parameter(s)

| | Specifies the date for which all entries created on or before the date will be archived.The date can be expressed in external form (for example, 2/2/22) or in internal form (for example, 19757). If no is provided, then it defaults to the current date and all entries in the accounts data level will be archived. |
| --- | --- |
| (d | The (d option specifies that all entries resulting from the specified will not be archived and instead will be deleted. |

 This command helps manage the accounts file. Given the potential importance of tracking which
 users were on a system and when, the default behavior is to archive, not delete, entries. CAUTION: This utility briefly locks the each item in the
 dm,accounts, file as it’s processed. Each item corresponds to a user-id
 from the dm,users, file. During this time, any users logged on with that
 user-id will not be able to logoff from the system or or logto another account.

## Developer’s Programming API

The archive-accounts command uses a program-friendly API in the form of a
 BASIC subroutine. This allows calling the subroutine instead of using an
 execute statement. The subroutine is dm,bp,
 archiveAccountsSub and has the following API.

```
sub archiveAccountsSub(purgeDate, archiving, failed)
```

 **Input**

| purgeDate | Specifies the date for which all entries created on or before the date will be archived.The date can be expressed in external form (for example, 2/2/22) or in internal form (for example, 19757). The archive is a data level in the accounts file with its name equal to the internal date. If that data level exists then any new entries are appended to the existing entries. |
| --- | --- |
| archiving | 0: Entries satisfying the specified purgeDate will not be archived and instead will be deleted. Not 0: Entries will be archived. |

 **Output**

| failed | 0: The purge has completed. Not 0: Anything other than 0 can be appended to dm,messages, archive-accounts.failed. to get the best available error text. |
| --- | --- |

## Example(s)

The following example archives all entries in dm,accounts, to
 dm,accounts,<internal date>

 `archive-accounts`

 Both of the following examples archive all entries on or before 2/2/22 to
 dm,accounts,19757.

 `archive-accounts 2/2/22`

 `archive-accounts 19757`

 The dm,bp, archive-accounts program itself is an example of using the
 `archiveAccountsSub()` subroutine.

## See also

- [accounts file](https://d3codex.com/systemfiles/accounts-file/)
- [listacc](https://d3codex.com/tcl/listacc-command/)
- [pibs file](https://d3codex.com/systemfiles/pibs-file/)
- [users file](https://d3codex.com/systemfiles/users-file/)

---
Source: https://d3codex.com/tcl/archive-accounts-command/ - part of the D3Codex reference.
