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
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Kanban workshop
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • 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
    • 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
      • About the DevOps Program
      • DataMiner DevOps Support
  • Downloads
  • More
    • DataMiner Releases & Updates
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
    • Global Feedback Survey
  • Support
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Protocol Table Growing with each API call

74 views2nd June 2025API development protocol
2
Ryan Hepworth [DevOps Advocate]990 2nd June 2025 0 Comments

Hi All

When I do an API call in a protocol, everything is added to a table, which seems to get added to rather than remove old rows that are no longer needed and no longer in the API response.

How do I do it so that when we process the response to add the required row/columns for the most recent api call, the old ones that no longer exist get removed?

Thanks

Ryan

João Severino [SLC] [DevOps Catalyst] Answered question 2nd June 2025

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
2
João Severino [SLC] [DevOps Catalyst]13.23K Posted 2nd June 2025 7 Comments

Hi Ryan,

If you have the entire content you wish to set in the table, in your QAction, you should be able to use something like FillArray method | DataMiner Docs with the option SaveOption.Full.

This should let you set every row and DataMiner will take care of determining which rows need to be added or updated or deleted.

Ryan Hepworth [DevOps Advocate] Posted new comment 2nd June 2025
Ryan Hepworth [DevOps Advocate] commented 2nd June 2025

Hi Joao, thanks for this, i did look at this do you need to specify the datetime part of the method? As it doesn't seem to let me use SaveOption

Ryan Hepworth [DevOps Advocate] commented 2nd June 2025

As an FYI, I am adding each entry in the api response to a List<QActionTableRow>() in a foreach loop and then doing a FillArray when all are added

João Severino [SLC] [DevOps Catalyst] commented 2nd June 2025

The FillArray method contains multiple overloads that can take different input arguments.
Depending on the type of input arguments you provide, different options will be available. In this case, if for instance, you provide a List of object[] for the second argument, you will be calling the FillArray method with rows and the SaveOption should be available as the third argument.
If you call it with just object[], DataMiner will consider that as columns, and the SaveOption won't appear.

In the case of the DateTime, that one is optional and only really needed if you want to use History Sets (see: https://docs.dataminer.services/develop/devguide/Connector/Howto/How_to_use_history_sets_on_a_protocol_parameter.html)

João Severino [SLC] [DevOps Catalyst] commented 2nd June 2025

To answer your second comment, QActionTableRow object can easily be casted to object array and with that you can convert from a List<QActionTableRow> into a List<object[]> for the FillArray method.
If you are using SLProtocolExt and calling something like protocol.TableName.FillArray() then it should already be doing the equivalent to the SaveOption.Full

Ryan Hepworth [DevOps Advocate] commented 2nd June 2025

I am currently doing it:

protocol.tableid.FillArray(row list)

Show 2 more comments
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
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