From 8149171db3946a77dd40a74d88a8dba72b1b2b72 Mon Sep 17 00:00:00 2001 From: Christopher Pickering Date: Tue, 23 Nov 2021 02:20:19 -0600 Subject: [PATCH] added catch for SAP message. closes #47 --- RptToXml/RptDefinitionWriter.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/RptToXml/RptDefinitionWriter.cs b/RptToXml/RptDefinitionWriter.cs index 3a8c8cf..8c0f0dd 100644 --- a/RptToXml/RptDefinitionWriter.cs +++ b/RptToXml/RptDefinitionWriter.cs @@ -187,13 +187,19 @@ private void GetPrintOptions(ReportDocument report, XmlWriter writer) writer.WriteEndElement(); } + [HandleProcessCorruptedStateExceptionsAttribute] private void GetSubreports(ReportDocument report, XmlWriter writer) { writer.WriteStartElement("SubReports"); + try { foreach (ReportDocument subreport in report.Subreports) ProcessReport(subreport, writer); - + } + catch (Exception e) + { + Console.WriteLine($"Error loading subpreport, {e}"); + } writer.WriteEndElement(); } @@ -418,8 +424,13 @@ private void GetDataDefinition(ReportDocument report, XmlWriter writer) writer.WriteEndElement(); writer.WriteStartElement("ParameterFieldDefinitions"); - foreach (var field in report.DataDefinition.ParameterFields) - GetFieldObject(field, report, writer); + try { + foreach (var field in report.DataDefinition.ParameterFields) + GetFieldObject(field, report, writer); + } catch( Exception e) + { + Console.WriteLine($"Error processing ParameterFieldDefinitions, {e}"); + } writer.WriteEndElement(); writer.WriteStartElement("RunningTotalFieldDefinitions");