cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Drilldown to a TXT/CSV Export

chris_v
Dynatrace Pro
Dynatrace Pro

Try to create a DMI Drilldown that instead of running the report as usual, instead creates a CSV export for the user to save.

If I use /LSServlet I get the DMI Report Definition editor for the report I want (the report however doesn't run),

if I use /LSSaveAs as you'd expect I get a 500 Error, and the CAS log shows a Java Null Pointer Exception.

Parameter text:

lsAction=SaveAs&Format=txt&lsEntryName=Application%20Baseline%20Export&dmiAction=SaveAs

Exception:

E JUL 16-04-06 06:23:32.285 SEVERE:org.apache.catalina.core.StandardWrapperValve:invoke:<Servlet.service() for servlet Adlex threw exception; null>
E HTTP 16-04-06 06:23:32.299 Internal Server Error reported on web UI (code=500 URI=/LSSaveAs Servlet=Adlex) : java.lang.NullPointerException
<< exception >>
E HTTP 16-04-06 06:23:32.299 java.lang.NullPointerException
<< exception >>
at adlex.delta.servlet.common.saveas.LSSaveAsAction.doConvert(LSSaveAsAction.java:102)
at adlex.delta.servlet.common.saveas.LSSaveAsAction.perform(LSSaveAsAction.java:65)
at adlex.delta.servlet.common.saveas.LSSaveAs.service(LSSaveAs.java:32)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at adlex.delta.tomcat.Tomcat2AdlexServlet.serveServlet(Tomcat2AdlexServlet.java:79)
at adlex.delta.tomcat.Tomcat2AdlexServlet.service(Tomcat2AdlexServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at adlex.delta.servlet.CookieFilter.doFilterAction(CookieFilter.groovy:62)
at adlex.delta.servlet.AbstractFilter.doFilter(AbstractFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at adlex.delta.servlet.multipart.MultipartFilter.doFilterAction(MultipartFilter.java:137)
at adlex.delta.servlet.AbstractFilter.doFilter(AbstractFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at adlex.delta.servlet.TraceFilter.doFilterAction(TraceFilter.java:64)
at adlex.delta.servlet.AbstractFilter.doFilter(AbstractFilter.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

4 REPLIES 4

Carl_Morphet
Dynatrace Mentor
Dynatrace Mentor

Hi Chris,

I recently tried to do something similar, have a look at Sebastian's answer here

@Chris Vidler, @Carl Morphet

Is the solution provided by Sebastian working in the DMI Drilldown?

Thanks, Raffaele

chris_v
Dynatrace Pro
Dynatrace Pro

@Raffaele Talarico It's not working in my instance.

I'm wondering if that process is not aaialble directly, but only via a CAS scheduled task?

chris_v
Dynatrace Pro
Dynatrace Pro

So I've found a workable solution.

Seems it doesn't like referencing reports by name, use the ID number instead.

So drill down to a custom report, set:

URL=/LSSaveAs
Parameters=lsAction=Saveas&format=txt&lsEntryId=<report#>

works (in 12.3.5 at least)

To find the report ID number, use the DMI dashboard, find your report, hover over the popup menu next to it, and hover over the Refine link - check the browsers status bar for the URL.