Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Memory file iteration

Solved1.36K views29th January 2023iteration MemoryFile ScriptMemory
3
Pawel Bochenek [DevOps Enabler]700 29th January 2023 0 Comments

Hello Dojo,

I'm updating some automation scripts that I wrote four years ago. The scripts need to iterate through all positions of persistent memory files. As far I can see, there is no method in the ScriptMemory object instance that returns all positions (rows) as i.e. object [] nor the size of the memory file.

In our case, we cannot simply retrieve specific position index or description using the .Get(x) method. The current solution is to use a pre-compiled code which converts the memory file and returns List<string>.

Is there a better way of implementing this using the DataMiner Class library?

Regards,

Pawel.

Pawel Bochenek [DevOps Enabler] Selected answer as best 29th January 2023

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
6
Miguel Obregon [SLC] [DevOps Catalyst]18.56K Posted 29th January 2023 1 Comment

Hi Pawel,

I had a quick look at the methods available for the ScriptMemory class, the class library and indeed, it seems that there is no method that can return all positions from a script memory. A possible option is to use the SLNet message GetScriptMemoryValuesMessage. Below a snippet:

using Skyline.DataMiner.Automation;
using Skyline.DataMiner.Net.Messages;

public class Script
{
public void Run(Engine engine)
{
Skyline.DataMiner.Net.Messages.GetScriptMemoryValuesMessage scriptMemoryValues = new GetScriptMemoryValuesMessage()
{
Name = "testMemory1"
};

Skyline.DataMiner.Net.Messages.DMSMessage[] response = Engine.SLNet.SendMessage(scriptMemoryValues);

foreach (Skyline.DataMiner.Net.Messages.ScriptMemoryValuesResponseMessage responseMessage in response)
{
ScriptMemoryValue[] memoryValues = responseMessage.Values;
foreach (ScriptMemoryValue memoryValue in memoryValues)
{
engine.GenerateInformation("[INFO]|Run|memoryValue.Description:" + memoryValue.Description);
engine.GenerateInformation("[INFO]|Run|memoryValue.Value:" + memoryValue.Value);
}
}
}
}

The memoryValues array contain all the values available in the script memory with name TestMemory1.

Disclaimer:

Note that this is an internal call and we do not recommend using this, as it is not officially supported and we cannot guarantee that it will still work in the future. As a rule, you should avoid using SLNet calls, as these are subject to change without notice. We recommend to instead always use the correct UI or automation options provided in DataMiner Automation or through our web API.

Hope it helps.

Pawel Bochenek [DevOps Enabler] Posted new comment 29th January 2023
Pawel Bochenek [DevOps Enabler] commented 29th January 2023

Thanks Miguel. Disclaimer noted.

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

How to implement bearer token refresh? 0 Answers | 0 Votes
Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin