Skip to Main Content
AVEVA™ PI System™ Feedback Portal

Welcome to our new feedback site!


We created this site to hear your enhancement ideas, suggestions and feedback about AVEVA products and services. All of the feedback you share here is monitored and reviewed by the AVEVA product managers.

To start, take a look at the ideas in the list below and VOTE for your favorite ideas submitted by other users. POST your own idea if it hasn’t been suggested yet. Include COMMENTS and share relevant business case details that will help our product team get more information on the suggestion. Please note that your ideas and comments are visible to all other users.


This page is for feedback specifically for AVEVA PI System. For links to our other feedback portals, please see the tab RESOURCES below.

Status Completed
Product PI Connectors
Created by Guest
Created on Aug 18, 2022

Provide the option to have flow control loops (for/foreach/while/case..)

We have been dealing with large files with many columns (over 100). In this cases, it is a pain to design the ini file - especially when extracting every column's data into variables. It was annoying to the point that we wrote a perl script to help out with that !  Why does not PI UFL support FOR loops ? ( and while loops, case statements, etc) Large matrix data extraction like: [Data] Data.FILTER=C1=="\"?*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*" Tag=["\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Quality=["\"*\",\"*\",\"*\",\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value1=["\"*\",\"*\",\"*\",\"*\",\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value2=["\"*\",\"*\",\"*\",\"*\",*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value3=["\"*\",\"*\",\"*\",\"*\",*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value4=["\"*\",\"*\",\"*\",\"*\",*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value5=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value6=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value7=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value8=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value9=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value10=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value11=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value12=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value13=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value14=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value15=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value16=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value17=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value18=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value19=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value20=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value21=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value22=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value23=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] Value24=["\"*\",\"*\",\"*\",\"*\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,\"(*)\",*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*"] ... ... could easily be replaced by a single while or foreach loop: [DATA] counter=0 linesize = some automatic variable counting the nr of columns While(counter < linesize){     Value = line[counter]  ' where line[0] is 1st column in the line     counter +=1 } In this case we'll also use one variable instead of 100 -> much less code, much cleaner ini files ! Please vote up if you like this idea !
  • ADMIN RESPONSE
    Aug 18, 2022
    Released in version 1.2.0.93 on 2017-12-07. https://techsupport.osisoft.com/Troubleshooting/Releases/RL01267
  • Attach files