bcquality/microsoft/knowledge/performance/use-findset-with-next.md
Jesper Schulz-Wedde 0540c7bf6e Reframe seed-article banners as community contribution invitations
The 35 articles still in their seed form previously carried a banner
reading "Seed article. ... Domain stewards should expand, restructure,
and refine as needed." For a community preview, that phrasing reads as
"TODO left in production" to first-time visitors.

Replace all three banner variants (performance-seeded, security-seeded,
community-ported) with a single positive invitation:

> Contributions welcome — open a PR to refine or extend this article.

Content and structure of the articles are unchanged; only the leading
quote block differs. Articles that had their banner fully stripped in
the earlier triage pass (the showcase-grade ten) are unaffected.
2026-04-23 17:31:36 +02:00

1.1 KiB

bc-version domain keywords technologies countries application-area
all
performance
findset
next
repeat
iteration
aa0181
al
w1
all

Use FindSet with Next for iteration

Contributions welcome — open a PR to refine or extend this article.

Description

When iterating over a filtered set of records with repeat-until, use FindSet together with Next. CodeCop rule AA0181 requires FindSet or Find to be paired with Next; using FindFirst or FindLast as the loop starter misrepresents intent and leads to rule AA0233.

Best Practice

Call FindSet to start the iteration and Next to advance. Guard the loop with the standard if FindSet() then ... until Next() = 0 idiom so callers can still handle the empty-set case.

See sample: use-findset-with-next.good.al.

Anti Pattern

Starting a repeat-until loop with FindFirst or FindLast reads only one row and then calls Next on an iterator that was not intended for full-set traversal. The platform pays extra work to fetch the single row and the loop silhouette is misleading to reviewers.

See sample: use-findset-with-next.bad.al.