A field may flagged as an input field by listing it in an inputfield statement before it is referenced in any load or select statements.
Input fields behave somewhat differently from regular fields. The most important difference is their ability to accept changes in field values, interactively or programmatically, without running the script. Field values must be loaded into the field via load or select statements. Each field value loaded in the script will create a placeholder for a field value replacement value. Only existing field values can thus be changed interactively or programmatically. In input fields all field values will be treated as distinct, regardless if several have the same value.