Beginner: Validation Check of Products using a .csv

Hi UI.Vision Forum, I’m new to the whole script scene and would like to figure out a problem I’ve been having recently.

All of my script should be fine, but it’s the third command I’m currently having issues with.

{
  "Name": "LightspeedDataChecker",
  "CreationDate": "2024-2-8",
  "Commands": [
    {
      "Command": "csvRead",
      "Target": "test.csv",
      "Value": "",
      "Description": "Read the CSV file"
    },
    {
      "Command": "store",
      "Target": "1",
      "Value": "index",
      "Description": "Initialize index variable"
    },
    {
      "Command": "while",
      "Target": "${!csvReadEOF}",
      "Value": "",
      "Description": "Loop until end of CSV file"
    },
    {
      "Command": "csvRead",
      "Target": "test.csv",
      "Value": "",
      "Description": "Read the next row"
    },
    {
      "Command": "store",
      "Target": "${!COL4}",
      "Value": "styleID",
      "Description": "Store the Style ID from column 4"
    },
    {
      "Command": "prompt",
      "Target": "Please confirm whether Style ID ${styleID} is in the Lightspeed database. Press 'Yes' if it is, or 'Cancel' to stop the script.",
      "Value": "userConfirmation",
      "Description": "Prompt the user for confirmation"
    },
    {
      "Command": "gotoIf",
      "Target": "'${userConfirmation}' != 'Yes'",
      "Value": "nextRow",
      "Description": "Skip if user does not confirm 'Yes'"
    },
    {
      "Command": "echo",
      "Target": "Style ID ${styleID} is confirmed in the Lightspeed database.",
      "Value": "",
      "Description": "Output confirmation message"
    },
    {
      "Command": "label",
      "Target": "nextRow",
      "Value": "",
      "Description": "Label for skipping to next row"
    },
    {
      "Command": "storeEval",
      "Target": "${index}+1",
      "Value": "index",
      "Description": "Increment index for next iteration"
    }
  ]
}

I would like some clarifications as to how the while command gets flagged as incorrect.

Here’s basically a rundown on how I think it’ll work
Checks .csv
Reads col4
opens a prompt saying col4 and then a yes button
User manually checks whether it is in the other database, if confirmed,
Press yes and then asks the next one.

Hi

I see a internal variable with wrong name ${!csvReadEOF}

I think you must replace with ${!csvReadMaxRow}

 {
      "Command": "while",
      "Target": "${!csvReadEOF}",
      "Value": "",
      "Description": "Loop until end of CSV file"
    },

Here info about internal variables

https://ui.vision/rpa/docs#!csvreadstatus