Reference manual

Reports page

The Reports page of the Workspace window runs reports on the whole workspace and saves each to a file you can open in a spreadsheet.

Opening the Reports page

  • Select Reports in the workspace window's navigation rail.
  • Choose Reports › Save Object Dependencies…, Reports › Save Unreferenced Objects… or Reports › Save Duplicate Id Violations… in the workspace window's menu to save a report directly.

The Reports page

Prism for C/AL Reports page with three reports
1 2 3
The Reports page.
#NameDescription
1Object dependenciesSave… saves every static dependency between objects, with its type. See Object dependencies.
2Unreferenced objectsSave… saves the objects nothing refers to. See Unreferenced objects.
3Duplicate ID violationsSave… saves the duplicate IDs that can occur when you merge code. See Duplicate ID violations.

Object dependencies

Tab-separated, one row per dependency from a source object to a target object. Only objects that parsed are considered.

ColumnShows
SourceObjectType, SourceObjectId, SourceObjectNameThe object that depends.
DependencyTypeProperty, DataItem, TableRelation, Variable, Parameter, Code or Subscription.
DependencySubTypeObjectReference, SourceTable, PagePart, Report, Query, XmlPort, CalcFormula, Permission, ObjectName, ObjectId, DatabaseTriggerEventSubscription, or empty.
TargetObjectType, TargetObjectId, TargetObjectNameThe object depended on.

Unreferenced objects

Tab-separated, one row per object that no other object refers to statically, in the columns ObjectType, ObjectId and ObjectName. Only objects that parsed are considered.

Duplicate ID violations

Semicolon-separated, one row per declaration involved in a duplicate ID.

ColumnShows
ObjectType, ObjectIdThe object.
DeclarationBucketThe kind of declaration whose IDs must be unique within the object: Control, RequestPageControl, RequestFormControl, Variable, Field, Procedure or Event.
IndexNoThe ID.
DeclarationType, DeclarationNameThe declaration with that ID.
ViolationDeclaration for a declaration, followed by a Duplicate row for each other declaration of the same kind with the same ID.
OffsetInObjectThe character offset of the declaration in the object's source.

Open a report in a spreadsheet

The files are named .csv, but their separator is a tab or a semicolon, so import them rather than opening them by double-click.

  1. On the Reports page, select Save… on the report and choose a file name.
  2. Wait for the notification that names the saved file.
  3. In the spreadsheet, import the file as delimited text and choose the separator: tab for object dependencies and unreferenced objects, semicolon for duplicate ID violations.

Find objects nothing uses

Use this to find candidates for removal when you clean up a solution.

  1. Save the Unreferenced objects report and open it in a spreadsheet.
  2. Filter it to your own ID range.
  3. For each candidate, check that nothing outside the objects runs it, such as a menu, a job queue entry or a user's shortcut, before you remove it.

Objects that did not parse are not in the report; fix them first so they count.

Check for duplicate IDs after a merge

  1. Open the merged objects as an object store.
  2. Save the Duplicate ID violations report.
  3. For each Declaration row, read the Duplicate rows under it and renumber all but one of the declarations.

Behavior

  • Background task: a report saves as a background task named Saving ….
  • Notifications: … saved to file … when it is done, or Save … failed.
  • Save dialog: titled Save and the report's subject, offering CSV file (*.csv).