What is the difference between IfFileExists and IfDataExists in the Output section of the IVU file.


IfDataExists is related to the cells in the table. We do not recommend setting this to Replace unless you are sure that your file contains only 1 record per datapoint. If your file contains more than 1 record per datapoint then the data that will appear in the cell will be the data in the last record of the file from which you are building. It is useful to set it to Replace if your file contains only 1 record per datapoint and you made a mistake when you first built your table and you want to build the table again and you don't want the numbers in the cells to be doubled.


IfFileExists is related to the whole IVT file. If it is set to Replace then it deletes the IVT file before building it. If you are opening the IVU in the Visual Builder and IfFileExists is set to Replace then it will delete the IVT file when you open the IVU file. If you are using the IVU file with the Integrator's Builder then Replace will delete the IVT file before it starts building it.

Here is the description of these 2 options from the Builder Help (Builder Reference->File Formats->Update Definition File.

IfDataExists

No
Specifies what happens to existing data in a cell when new data becomes available. Possible values for tables are: 
  • Add, Replace.
  • Default for tables = Replace. (For extracts, the value must be Replace.)
  • If Add, the new value is added to the existing value.
  • If Replace, the new value replaces the existing value.
IfFileExists
No
Specifies what happens to an existing file when a new version becomes available. Possible values for tables are: 
  • Update, Replace, Fail, Zero.
  • Default for tables = Update. For extracts, the value must be Replace.
  • If Update, the table is created if it doesn't already exist and updated if it does.
  • If Replace, the table is deleted. A new empty table is created using the definition in this section.
  • If Fail, the Builder stops processing.
  • If Zero, the file's format will be left as it is but all the data will be set to zero.