---
title: "SQL-046: clsUser"
summary: Update statement for clsUser.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.External.Users
reference_type: package
---

# SQL-046: clsUser

Updates only the `LAST_LOGON_DATE` column on `EXT_USER` for a given Active Directory ID. This is a lightweight update used at sign-in without requiring a full object reload.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-046 |
| **Operation type** | Update |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | `clsUser` |
| **Criteria property** | Local SQL |
| **Lifecycle method** | `UpdateLastLogonDate` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:LastLogonDate` | Input | DateTime | N/A | New last logon date value. |
| `:ActiveDirectoryID` | Input | String | 30 | AD user ID identifying the record to update. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [EXT_USER](../database-tables.md#ext_user) | UPDATE | `LAST_LOGON_DATE`, `ACTIVE_DIRECTORY_ID` |

## Sample SQL

```sql
UPDATE ext_user
SET last_logon_date = :LastLogonDate
WHERE ext_user.active_directory_id = :ActiveDirectoryID
```

## Operations and processes
- [User self-registration / account management](../operations/user-account-management.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `Business\SAIF.Business.External.Users\clsUser.vb`
