codeunitInventoryofficial - Microsoftderived - from the source, no model text

Codeunit 20416 "Qlty. Expression Mgmt."

Quality Management · Microsoft.QualityManagement.Utilities

Across versions

  1. BC23-28not present
  2. BC29-30present

Neighbourhood 8 connected objects and pages

Codeunit 3960 "Regex" (calls, 4 links)RegexCodeunit 20403 "Qlty. Filter Helpers" (calls, 3 links)Qlty. Filter HelpersCodeunit 20599 "Qlty. Misc Helpers" (calls, 3 links)Qlty. Misc HelpersCodeunit 20424 "Qlty. Workflow Response" (calls, 2 links)Qlty. Workflow ResponsePage 20440 "Qlty. Inspection Template Edit" (calls, 2 links)Qlty. Inspection Template EditCodeunit 20410 "Qlty. Result Evaluation" (calls)Qlty. Result EvaluationPage 20406 "Qlty. Inspection" (calls)Qlty. InspectionTable 20406 "Qlty. Inspection Line" (calls)Qlty. Inspection Line

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Quality Management · Microsoft.QualityManagement.Utilities · BC29-30 · source at ea08af5e · facts from BC29

Events published

  • OnEvaluateTextExpressionOnInspectionLine(var QltyInspectionLine: Record "Qlty. Inspection Line"; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; var QltyInspectionTemplateLine: Record "Qlty. Inspection Template Line"; ExpressionInput: Text; var ExpressionResultOutput: Text) (integration): Occurs before a text expression is evaluated on an inspection line.
  • OnBeforeEvaluateBuiltInTableLookups(var Input: Text; var CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; var CurrentQltyInspectionLine: Record "Qlty. Inspection Line"; var Result: Text; var IsHandled: Boolean) (integration): Allows system replacement before evaluation of built-in table lookups.
  • OnEvaluateCustomTableFieldInExpression(var Input: Text; var CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; var CurrentQltyInspectionLine: Record "Qlty. Inspection Line"; var EntireTextBeingEvaluated: Text; var TableName: Text; var NumberOrNameOfFieldName: Text; var EntireFindText: Text; var EntireReplaceText: Text) (integration): Integration event for evaluating custom table field references in expressions.
  • OnBeforeEvaluateTableFieldInExpression(var EntireTextBeingEvaluated: Text; var TableName: Text; var NumberOrNameOfFieldName: Text; var EntireFindText: Text; var EntireReplaceText: Text; var IsHandled: Boolean) (integration): Use this to supplement or replace the [specialtable:fieldname] nomenclature when using text expressions. Set Handled to true to completely replace the default behavior in the loop. Set Handled to false to just extend it.
  • OnBeforeEvaluateStringOnlyFunctionThreeParamExpression(var EntireTextBeingEvaluated: Text; var StringFunction: Text; var Param1: Text; var Param2: Text; var Param3: Text; var EntireFindText: Text; var EntireReplaceText: Text; var IsHandled: Boolean) (integration): Use this to supplement or replace the [stringfunction(param1;param2;param3)] nomenclature when using text expressions. Set Handled to true to completely replace the default behavior in the loop. Set Handled to false to just extend it.
  • OnEvaluateCustomStringOnlyFunctionThreeParamExpression(var EntireTextBeingEvaluated: Text; var StringFunction: Text; var Param1: Text; var Param2: Text; var Param3: Text; var EntireFindText: Text; var EntireReplaceText: Text) (integration): Use this to add your own string only functions [stringfunction(param1;param2;param3)] nomenclature when using text expressions.

Procedures

  • EvaluateTextExpression(var QltyInspectionLine: Record "Qlty. Inspection Line"; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"): Text (internal): Evaluates a text expression on an inspection line for a specific inspection. Validates that the line is a text expression field type and matches its template configuration. Behavior: - Validates value type is “Value Type Text Expression” - Retrieves expression formula from template line - Evaluates …
  • EvaluateTextExpression(Input: Text; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"): Text (internal): Evaluates a text expression, using fields on the quality inspection as text replacement options. Does not evaluate embedded expressions. Provides simplified overload with only inspection header context. Token replacement: Replaces [FieldName] tokens with actual field values from inspection header….
  • EvaluateTextExpression(Input: Text; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; CurrentQltyInspectionLine: Record "Qlty. Inspection Line"): Text (internal): Evaluates a text expression, using fields on the quality inspection as text replacement options. Does not evaluate embedded expressions. Supports both inspection header and inspection line field references. Token replacement: Replaces [FieldName] tokens with actual field values from inspection hea…
  • EvaluateTextExpression(Input: Text; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; EvaluateEmbeddedNumericExpressions: Boolean): Text (internal): Evaluates a text expression, using fields on the quality inspection as text replacement options. Set EvaluateEmbeddedNumericExpressions to true to evaluate embedded expressions. Internal overload for controlling embedded expression evaluation without line context.
  • EvaluateTextExpression(Input: Text; CurrentQltyInspectionHeader: Record "Qlty. Inspection Header"; SpecificQltyInspectionLine: Record "Qlty. Inspection Line"; EvaluateEmbeddedNumericExpressions: Boolean): Text (internal): Evaluates a text expression, using fields on the quality inspection as text replacement options. Set EvaluateEmbeddedNumericExpressions to true to evaluate embedded expressions. Core evaluation method supporting full context and embedded expression evaluation. Features: - Token replacement: [FieldNa…
  • EvaluateExpressionForRecord(Input: Text; RecordVariant: Variant; FormatText: Boolean): Text (internal): This will replace [fieldname] tokens with the field value for the supplied data.
  • TextReplace(Input: Text; SearchFor: Text; ReplaceWith: Text): Text (internal): Replaces all occurrences of a search string with a replacement string (case-sensitive by default). Simplified overload using case-sensitive comparison.
  • TextReplace(Input: Text; SearchFor: Text; ReplaceWith: Text; QltyCaseSensitivity: Enum "Qlty. Case Sensitivity"): Text (internal): Replaces all occurrences of a search string with a replacement string. Supports case-sensitive or case-insensitive matching. Algorithm: Iterative search-and-replace maintaining original casing in output for matched portions. Use cases: - Case-sensitive: Exact token replacement in expressions - Case-…
  • ConvertCarriageReturnsToHTMLBRs(Input: Text): Text (internal): Converts carriage return and line feed characters to HTML line breaks.
  • ConvertHTMLBRsToCarriageReturns(Input: Text): Text (internal): Converts supported HTML line break elements to carriage return and line feed pairs.
  • TestEvaluateSpecialStringFunctions(Input: Text): Text (internal): **** Only used for validation**** Do not use for completely evaluating a string expression. Tests whether special string functions can be parsed without executing full evaluation. Used for validation during template design to catch syntax errors early. Validated functions: CLASSIFY(), REPLACE(), COP…
  • GetTextFormulaOptions(): Text (internal): Gets available text formula options as a CSV string for reference/documentation. Returns supported token patterns and function syntaxes for text expressions. Returned patterns include: - Field tokens: [Item:No.], [ATTRIBUTE:AttributeName], [Measure:Min.Value] - Functions: CLASSIFY(), REPLACE(), COPY…

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 3960 “Regex” (4 calls: EvaluateBuiltInTableLookups → Groups, EvaluateBuiltInTableLookups → Match, EvaluateFirstStringOnlyFunctions → Groups, …)
  • Codeunit 20403 “Qlty. Filter Helpers” (3 calls: LookupFieldValueBasedOn → IdentifyFieldIDFromText, LookupFieldValueBasedOn → IdentifyTableIDFromText, LookupFieldValueBasedOn → SetFiltersByExpressionSyntax)
  • Codeunit 20599 “Qlty. Misc Helpers” (3 calls: EvaluateBuiltInTableLookups → ReadFieldAsText, EvaluateExpressionForRecord → GetRecordRefFromVariant, LookupFieldValueBasedOn → ReadFieldAsText)

Called by

Recent changes

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: "Qlty. Expression Mgmt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources