bcquality/community/knowledge/error-handling/table-event-subscriber-rolls-back-whole-batch.bad.al
Jeremy Vyska f5156c61de Add 15 community knowledge articles from BC Code Intel ingest
Ingests net-new /community knowledge from BC Code Intelligence, surviving
the admission test, gray-zone salvage, and dedup against the full corpus.

Domains: ui (6), error-handling (3), performance (2), upgrade (1),
appsource (1), security (1), telemetry (1). The two BC24 No. Series
migration drafts are merged into one article.

Adds good/bad AL samples for the clean-fit articles (error-handling,
performance, security, telemetry). UI and appsource remain knowledge-only.

Validator and knowledge-index checks pass (207 articles).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 11:02:48 +02:00

13 lines
649 B
AL

codeunit 50124 "Sales Line Guard Bad Sample"
{
// A throw here executes synchronously inside the transaction of the write
// that fired the event. With no per-record savepoint, it rolls back ALL
// uncommitted work since the last COMMIT — the entire batch, not just this
// line. One bad row discards every row imported before it.
[EventSubscriber(ObjectType::Table, Database::"Sales Line", 'OnAfterInsertEvent', '', false, false)]
local procedure OnAfterInsertSalesLine(var Rec: Record "Sales Line")
begin
if Rec.Quantity <= 0 then
Rec.FieldError(Quantity, 'must be greater than zero');
end;
}