mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 22:56:55 +01:00
* knowledge(appsource): add AL validation guidance * Address Marketplace review feedback * Address remaining Marketplace review feedback * Align AppSource review applicability outcome
26 lines
No EOL
1 KiB
Markdown
26 lines
No EOL
1 KiB
Markdown
---
|
|
bc-version: [all]
|
|
domain: appsource
|
|
keywords: [date-literal, invariant-date, dateformula, localization, appsourcecop]
|
|
technologies: [al]
|
|
countries: [w1]
|
|
application-area: [all]
|
|
---
|
|
|
|
# Use invariant date literals
|
|
|
|
## Description
|
|
|
|
Write fixed dates in AL with the invariant `yyyymmddD` syntax. A locale-dependent text value parsed with `Evaluate` can change meaning or fail under another user's regional settings, which makes the Marketplace extension unreliable across markets.
|
|
|
|
## Best Practice
|
|
|
|
Represent a fixed date directly as an AL date literal, such as `20250131D`. Use `CalcDate` with a date formula when the value is relative rather than fixed.
|
|
|
|
See sample: [`use-invariant-date-literals.good.al`](use-invariant-date-literals.good.al).
|
|
|
|
## Anti Pattern
|
|
|
|
Building a fixed date by passing localized text such as `01/02/2025` to `Evaluate`. Detection signal: `Evaluate` converting a hard-coded or label-backed formatted string into a `Date`.
|
|
|
|
See sample: [`use-invariant-date-literals.bad.al`](use-invariant-date-literals.bad.al). |