Codeunit 3322 "PA Email Cleanup"
PayablesAgent · Microsoft.Agent.PayablesAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 4 connected objects and pages
PayablesAgent · Microsoft.Agent.PayablesAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Email Inbox” = rd |
Procedures
BuildDuplicateGroups(var TempDuplicateBuffer: Record "PA Email Duplicate Buffer" temporary): Integer: Scans the Email Inbox and fills the buffer with one row per duplicate group.GetDuplicateStatistics(var GroupCount: Integer; var RedundantRowCount: Integer; var SkippedRowCount: Integer)CleanUpDuplicates(): Integer: Deletes every safe-to-delete redundant Email Inbox row, keeping the oldest copy of each email and leaving skipped copies untouched.DeleteRedundantRowsOfGroup(var TempDuplicateBuffer: Record "PA Email Duplicate Buffer" temporary; CommitBatchSize: Integer; DeleteLimit: Integer; var DeletedCount: Integer; var SkippedCount: Integer; var UncommittedCount: Integer)(internal)IsSafeToDelete(MessageId: Guid): Boolean(internal)
Plus 6 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 3328 “PA Email Inbox Row Delete” (1 call:
DeleteRedundantRowsOfGroup → (object))
Called by
- Codeunit 3323 “PA Email Cleanup Runner” (1 call:
OnRun → CleanUpDuplicates) - Page 3325 “PA Email Storage Cleanup” (1 call:
RefreshStatistics → GetDuplicateStatistics) - Page 3326 “PA Email Duplicates” (1 call:
Reload → BuildDuplicateGroups)
Recent changes
- 2026-09-28 #11950 Adding an in-product email storage cleanup (backport to releases/29.x) (releases/29.x, BC29, feature, added)
- 2026-09-28 #11890 Adding an in-product email storage cleanup (main, BC30, feature, added)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "PA Email Cleanup"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.