Edit

Compiler Error AL0122

Note

The AL diagnostics topics are in preview. If you have input for this topic, we'd love to hear from you. Use our GitHub repo to create a PR and add content to this topic by going to here. To read about contributing, see Contribute to the Help. Thanks!

Cannot implicitly convert type '{0}' to '{1}'. Use an explicit conversion or change the type.

How to fix this diagnostic?

The value's type doesn't match the target type, and AL doesn't convert between them automatically. Convert the value explicitly, or use a variable of the correct type.

Common conversions:

  • Number to text: use Format().
  • Text to a number, date, or other type: use Evaluate().
  • Between record types: copy the fields you need, or use TransferFields.
var
    Qty: Integer;
    QtyText: Text;
begin
    Qty := 10;
    // Implicit conversion not allowed -> AL0122
    QtyText := Qty;
    // Correct
    QtyText := Format(Qty);
end;

Get Started with AL
Developing Extensions