### CONV versus XCNV and ICNVs

Sometimes it is difficult to figure out which command is the right one. Especially for the conversion commands (CONV/XCNV/ICNV) understanding the differences is important:

#### CONV:

- simple to use, more automatisms, fewer parameters
- the user must not know how the data is formatted or where it came from
- the conversion is done on a best-fit basis for platform specific formats
- there are no possibilities to do dirty things
- converted data can be written to only a single target
- the automated detection and conversion can result in more CPU usage
- only global pre- and post-processing at read and write is supported

#### XCNV:

- gives access to all capabilities of FLUC (more complex to use)
- the user must know how the inout data is formatted and where it came from
- the conversion is done as good as possible to the original data
- dirty things (e.g. manipulation of file modification time) are possible
- conversions are limited to a minimum of CPU usage
- output can be written to multiple targets via an array of file I/O specifications
- supports global pre- and post-processing and pre- and post-processing per file

#### ICNV:

- provides only character set conversion for block or record-oriented files
- is much simpler than CONV and XCNV