The DMEE Trace Tool
DMEE receives one of the biggest single updates in its lifetime. We implemented a tool that opens and clarifies DMEE Engine processing. In this tool, you can see and analyze how the DMEE tree was processed in detail without the need to debug its code. We call this tool DMEE Trace Tool.
DMEE Trace Tool
DMEE Trace Tool is here to help you to analyze problems that often happen during DMEE Tree creation or modification. Don’t you understand why the node or the level is missing in the output file? Why the mapped value is in a different format than expected? Or would you like to understand how the conditions are processed internally? DMEE Trace Tool can help you to get the answers.
How it works in a nutshell
As you know, the user can’t see into the processing of the output file in DMEE but only inputs (structures) and outputs (files). We opened the process of generation with the DMEE Trace Tool.
The user can mark certain nodes or the whole tree as “to be traced”. The selected nodes or the whole tree extensive log in XML format (Trace Log) is generated simultaneously with the output file. When the process of file creation ends, Trace Log will be stored in the database, but we didn’t stop here.
We created the separate transaction with code “dmee_trace_aba”, which implements a graphical user interface that interprets the XML Trace Log. Because this approach Trace Log can be presented to the user in an interactive and intuitive form-factor.
Enabling the DMEE Trace Tool
You enable the new tracing functionality like the breakpoint. Enter the DMEE tree in display or change mode and right-click the node that you want to analyze. Trace functionality will be enabled for the node you selected as well as for all predecessors above it in the node hierarchy. This ensures that the user receives all contexts in case, for example, condition fails in one of the predecessors.
Alternatively, user can select the whole tree for tracing. In this case, especially for larger tree and/or input data, processing can last a little longer than without tracing and consumes more system memory.
In both cases described, “tracepoint” is valid for 5 days for the user who set it.
You can set the Trace Point for single node (left) or for the whole tree (right).
As soon as the user enables the node or the tree with a tracepoint, Trace Log is being created together with file generation regardless of integration or tree type. In the other words, it does not matter if the tree is executed as a part of Payment Medium Workbench, DMEE Test Tool or other process.
The Initial Screen
The Initial Screen contains all the Trace Logs stored in the database. User can display certain Trace Log by selecting it and clicking on glasses icon in the toolbar of the application. User can also perform deletion of Trace Logs as well as importing Trace Log from the other system.
Table records themselves containing general data about stored Trace Logs like Tree ID, Tree Name, when the log was generated, who triggered the engine run, and identification about the origin of the Trace Log. Trace Log can either be generated right on the current system – “S” or it can be uploaded externally – “E”.
The initial screen of the DMEE Trace Tool
The Detail View
The Detail View is presented to the user after the selection of certain Trace Log from the Initial Screen. The layout of the detail view is very similar to DMEE transaction. It does not display the tree definition like DMEE, but the recording of „what was done“ inside the DMEE Engine.
On the left side of the screen there is a tree, which displays all the nodes that were marked with Tracepoint in the order they were processed by the engine. Also, if there are repetitions in the tree processing, the DMEE Trace Tool will display them accordingly.
On the right side of the screen the captured data are visible during the engine run. The right side is differs based on the node type.
DMEE Trace Tool: Detail view
The Main Node
The visual of the main node.
Besides the general information like the Tree Type, Tree ID, and so on, user can see how long it takes to generate the file using DMEE in the “Statistics” section.
Below the statistics section you can find a table that contains skipped keys of input data. As you know DMEE enables users to define key fields for a certain level, DMEE uses this information to build iterations over the levels – number of unique keys equal to number of repetitions of the level in the output file.
What we often see, based on customers’ feedback, some iterations missing from the output file. In almost all cases the problem is caused by incorrectly defined key field, often by the usage of the length and offset.
For analysis of conditions the DMEE Trace Tool can show you the condition evaluation tree. Each line starts with either green or red icon indicating the result of partial expression. Logical operators like AND or OR are always evaluating two expressions below them in the hierarchy. (not correct, revision is needed before the publishment.)
Each line continues with the types that are being compared, for example, “Constant = Structure Field, as the last thing actual values of the fields “1 = 2”.
Condition evaluation in the DMEE Trace Tool
The mapping section can be found on all mapping nodes – element, technical node, XML attribute and atom. It can provide you an insight on how the value was processed internally. It all starts with the value of the source field. Then, as you can see from the screenshot, DMEE Trace Tool provides you all important values from the conversion perspective – length, target offset and conversion function. Also, it can show you the internal type in which the value was processed. For more information about this, please read the appendix of this blog post.
The last field in this section is “Output value”, which is the input value after applying all conversions (length, t. offset, conversion function).
In DMEE Trace Tool, you can see how the value was transformed from the input value into the output value of the node
From the standpoint of the engine, aggregations are calculated on the node where the value in mapped form the input data (source node for aggregation) and then the value is referred to the node where user selected the aggregation to be outputted (target node for aggregation). In DMEE Trace Tool you can find how the aggregation was calculated on every so-called source node for aggregation.
DMEE Trace Tool also highlights every source node for aggregation with yellow color.
Example of aggregations in DMEE Trace Tool
I want this!
Update 27.7.2022: SAP Note 3138271 – DMEE – Trace Tool is currently causing implementation errors, because of the delivery infrastructure problem. Please DO NOT IMPLEMENT this SAP Note.
If you would wish to be notified, when SAP Note is ready, please write a comment in the comment section below.
DMEE Trace Tool is available for all supported releases of software component SAP_ABA from following support packs:
- SAP_ABA 75G SP 02
- SAP_ABA 75F SP 04
- SAP_ABA 75E SP 06
- SAP_ABA 75D SP 09
- SAP_ABA 75C SP 11
- SAP_ABA 752 SP 11
- SAP_ABA 751 SP 15
- SAP_ABA 750 SP 25
- SAP_ABA 740 SP 28
- SAP_ABA 731 SP 31
- SAP_ABA 702 SP 25
- SAP_ABA 701 SP 25
- SAP_ABA 700 SP 40
Configuration of the DMEE can be tricky and DMEE Trace Tool is here to help you with the analysis of the tree behavior. As we learned above it can be used for the analysis of conditions, aggregations, mapping procedure and overall process of file generation (loops, missing data etc.).
If you have any questions regarding the new tool for DMEE, you can use Q&A area . You are welcome to provide feedback in the comment section bellow.