I'm unclear from you message exactly what you are doing with the shift register, but if you create an array outside the loop, of the maximum size expected (with a little more in case your guestimate is wrong) then use the loop index to index a "replace array subset" to replace the 0 value with your new value. Alternatively, create a null array of the right data type (an array constant) and do an append. Or just lead the value to the loop edge and enable indexing. The first two allow you to "see" the array during the running, the later one only allows you to see the results when the loop is stopped.
P.M.
PutnamCertified LabVIEW Developer
Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5

LabVIEW Champion