DTM stands for Digital Trace Matrix. The DTM Excel template has been created to export the DTM report based on the model and the already-defined reference structure.
The configuration diagram associated with the DTM export template is as shown below: -
Login to Arthrex using the URL ...
Go to the Projects tab and select the project.
Go to the Trackers tab. Select User Needs. Right-click on it and click Open.
This will open a new window.
If you want to export every item in the User Needs, click on the three dots (more) option and choose Export to Office.
If you want to export a few selected items in the User Needs, select all the items you wish to export and then click on the three dots (more) option and choose Export selection (and their children) to Office.
Click on the MS Excel tab. Select Simple Excel Export and check box the option Multiple-values go to multiple rows. Choose the template DTM Export.xlsx from the dropdown and then click Export.
The report will be exported and downloaded to your Downloads folder.
The report contains 8 columns - User Needs, User Needs Source, Design Inputs, Requirement Category, Design Input Source, Design Output, Risk Trace, KPC (Y or N), Design Verification, and Design Validation.
Go to the Projects tab and select the project.
Go to the Documents tab and select the Trackers folder.
Click on the three dots beside the template DTM EXport.xlsx.
Click on Download.
The template will be downloaded to your local device.
Go to the Projects tab and select the project where you want to upload the template.
Go to the Documents tab and select the Trackers folder.
Click on Browser and upload the template from your device.
DTM Export Template is a single Excel file that includes a special "code" embedded directly in the cells that loop over data and print that in the cells. This code is a combination of JETT tags and Groovy scripts as detailed in the Codebeamer Help Center.
Modifying the DTM export template assumes that you have an understanding of the underlying technology and the Configuration diagram that traces different columns in the DTM export template viz. User Needs, Validation, Design Input, Design Output, and Verification items. This explains the data structure used to store that hierarchy of related items in memory while iterating over them and producing the final report output.
Opening the template shows the various template tags and scripts:
Excel can be difficult to edit cells with a large amount of text, especially cell L2 which contains the main groovy code that accumulates and assembles the data for use by the other JETT and Groovy tags in cells B3:L3.
Because the desired output rearranges the data from what is defined by the trace sequence in Codebeamer, the template uses several Map objects to and other variables to capture this information, including things like number of children so rows can be merged appropriately.
When the export first begins, the Groovy code in cell L2 iterates over the items that are included in the User Needs tracker from where the export is initiated and assembles the data structure for the User Needs and downstream items that need to be included in the export. This does not print anything to any cells as that is left to the code in cells B3:L3.
The concept is that for each item, regardless of type/level, may have zero or more downstream items referred to as "children" in the code. The code will iterate over the child levels and continue to assemble relevant downstream items into the appropriate Map. While doing this, the code will also determine if any rows need to be merged and will capture the number of spanning rows for the merge. This provides the visual representation of one type of item having multiple downstream related items.
The main data structures that are defined by this Groovy code are:
Variable Name | Description |
| The |
| The number of rows to span for a given User Need |
| The |
| The number of rows to span for a given Design Input |
| The |
| The |
| The |
The B3:L3 cells iterate over those various data structures in those variables to print into each cell some value that is relevant for that column of data. This mixes a combination of JETT <jt:forEach/> tags with optional <jt:span/> tags to achieve the desired visual parent-child hierarchy.
An example of the Groovy code from cell L2 is shown below for reference. The B3:L3 cells are omitted for brevity.