FILE COPY <original data>,<target file> or FILE COPY <original data> TO <target file> copies all the active fields in a Survo data set <original data> to another Survo data file, <target file>. If the latter file does not exist, a new data file will be created. The records to be copied may be limited by the CASES, IND, and SELECT specifications. If the target file exists, the active fields must be defined in it, but the types and the lengths of the fields need not be the same as in the original file. Observations of <original data> will be new ones in <target file>. If <target file> exists, it is deleted before copying by FILE COPY <original data> TO NEW <target file>. If the target file is a new one, extra space is allocated for future needs when new fields are created. If the minimum space for one record is len (in bytes) and the number of active variables m, 1.25*len+20 bytes and 1.25*m+4 fields is reserved for one record in the target file. This convention may be overridden by a specification NEWSPACE=<extra_amount_of_bytes>,<extra_#_of_fields>. For example, NEWSPACE=0,0 creates a file with no extra space for new fields. NEWSPACE=SAME implies that # of bytes/observation and max # of fields will be the same as the corresponding values in <original data>. When a Survo data file becomes full and cannot accept new fields, a simple way to extend its capacity is to create a new file by FILE COPY thus letting it to increase space within a record. To copy new fields to existing observations in <target file>, an extra specification MATCH=<match field> may be given in the current edit field. The observations have to be in the same order in both data files. (See an exception below.) MATCH=# implies copying of the first observation of <original data> to the first observation of <target file> etc. without using any match field. As a new extension (from ver. 1.15) a set of match fields can be given in the form MATCH=<match field 1>,<match field 2>,... Then the condition for copying is that values of all match fields in <original data> coincide with those of <target file>. When MATCH is used, FILE COPY assumes that each case to be copied from the source file is also present in the target file. If not, an error message will be given. Such odd cases (without counterparts in the target file) are ignored by entering a specification ODD=<variable> . Then, for odd cases, FILE COPY will write value 1 in the ODD variable of the source file and common cases will be copied according to MATCH. It is the user's responsibility to initialize the ODD variable to 0 by VAR operation before FILE COPY. After FILE COPY, the ODD cases can then be easily recognized and, for example, copied after the common cases in the target file (by FILE COPY without MATCH). The ODD variable can be omitted by entering ODD=NUL or by omitting ODD and giving a MODE=1 specification. If common cases are not in the same order in both files, the specification must be given as ODD=<variable>,2 or as MODE=2 when no variable for indicating odd cases is needed. In this case the process will be much slower. In previous forms of FILE COPY, it has been assumed that each record in source data is copied only once to the first matching record of the target file. In some cases, it is required that for each record in the target file we have to copy the first matching record from the source data. Then it is typical that one source record is needed for many records in the target file. For example, we want to enter aggregated data for each record separately. This kind of performance is achieved by the specification MODE=3. In this case, possible IND, CASES, and SELECT specifications refer to the target file and not to the source file as in previous modes of FILE COPY. D = More information on data management