Change XML Value in an existing XML BLOB (Report Parameter)

Martin_Förster
Member Posts: 55
Good Evening guys,
I want to Change a Report Parameter befor Executing The Report. The Report will execute automaticlly start by the Job Queue, but some Report Parameter have to be calculate every Time, for example the Reference Month.
The Report Parameter are saved in a blob Field, which will be read before Executing. Some of These Parameter should be Change before executign the Report.
I know the XML Node (ReferenceMonth), i can get the Saved Value, but i dont know how to Change this value.
Below the Function for get the XML Value:
GetNodeValueOfXMLParameters(XMLText : Text;NodeName : Text) : Text
IF XMLText = '' THEN
EXIT('');
XMLDoc := XMLDoc.XmlDocument;
XMLDoc.LoadXml(XMLText);
XMLNode := XMLDoc.SelectSingleNode(STRSUBSTNO('ReportParameters/Options/Field[@name=''%1'']',NodeName));
IF ISNULL(XMLNode) THEN
ERROR(NodeNotFound);
IF STRLEN(XMLNode.InnerText) > 0 THEN
EXIT(XMLNode.InnerText);
I want to Change a Report Parameter befor Executing The Report. The Report will execute automaticlly start by the Job Queue, but some Report Parameter have to be calculate every Time, for example the Reference Month.
The Report Parameter are saved in a blob Field, which will be read before Executing. Some of These Parameter should be Change before executign the Report.
I know the XML Node (ReferenceMonth), i can get the Saved Value, but i dont know how to Change this value.
Below the Function for get the XML Value:
GetNodeValueOfXMLParameters(XMLText : Text;NodeName : Text) : Text
IF XMLText = '' THEN
EXIT('');
XMLDoc := XMLDoc.XmlDocument;
XMLDoc.LoadXml(XMLText);
XMLNode := XMLDoc.SelectSingleNode(STRSUBSTNO('ReportParameters/Options/Field[@name=''%1'']',NodeName));
IF ISNULL(XMLNode) THEN
ERROR(NodeNotFound);
IF STRLEN(XMLNode.InnerText) > 0 THEN
EXIT(XMLNode.InnerText);
0
Answers
-
Have you tried
XMLNode.InnerText := 'new value';
Then you can store updated XML in a BLOB field.TempBLOB.BLOB.CREATEOUTSTREAM(OStream); XMLDoc.Save(OStream);
Slawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-030 -
Do you want clear the value OR just clear it off??
Above suggestion will work I belief.Thanks
Blog - rockwithnav.wordpress.com/
Twitter - https://twitter.com/RockwithNav
Facebook - https://facebook.com/rockwithnav/0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions