Move Object (MOV)

The Move Object (MOV) command moves an object from the directory it is in to a different directory.

If the To directory (TODIR) parameter is used, the object is moved to another directory and the object keeps the same name. If the To object (TOOBJ) parameter is used the object is also renamed.

If the original object is a read-only file (a file that has the PC read-only attribute flag turned on), the move command operates as follows:

  1. If the original file can be deleted (that is, the read-only bit can be turned off for the file), the move will succeed, retaining the read-only attribute of the file.
  2. If the original file cannot be deleted, (for example, a CD-ROM file), the move operation will fail and a message will be issued indicating that the source is read-only.

When moving a file within a file system, the Last access date/time, the Data change date/time and the Attribute change date/time are preserved in the new file. If the file is moved outside of the original file system to the "root" (/), QOpenSys, QDLS, or UDFS file systems, the Attribute change date/time is changed to the current time. In the case of moving to a database file member (*MBR) in the QSYS.LIB or independent ASP QSYS.LIB file system, the Data change date/time is updated as well.

This command can also be issued using the following alternative command name:

For more information about integrated file system commands, see the Integrated file system topic collection in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Restrictions:

Start of changeNote: The authority requirements for this command are complex with respect to file systems, object types, requested operations etc.. Therefore, see the IBM i Security Reference, SC41-5302 book for information about the required authorities for this command.End of change

Parameters

Keyword Description Choices Notes
OBJ Object Path name Required, Positional 1
TODIR To directory Path name, '.' Optional, Positional 2
TOOBJ To object Path name Optional
FROMCCSID From CCSID 1-65533, *OBJ, *PCASCII, *JOBCCSID Optional
TOCCSID To CCSID 1-65533, *OBJ, *CALC, *STDASCII, *PCASCII, *JOBCCSID Optional
DTAFMT Data Format *BINARY, *TEXT Optional
FROMCODPAG From code page 1-32767, *OBJ, *PCASCII Optional
TOCODEPAGE To code page 1-32767, *OBJ, *CALC, *STDASCII, *PCASCII Optional

Object (OBJ)

Specifies the path name of the object or objects to be moved.

The object path name can be either a simple name or a name that is qualified with the name of the directory in which the object is located. A pattern can be specified in the last part of the path name. An asterisk (*) matches any number of characters and a question mark (?) matches a single character. If the path name is qualified or contains a pattern, it must be enclosed in apostrophes.

Note: An object name pattern can only be used when the To directory (TODIR) parameter is used.

For more information on specifying path names, refer to "Object naming rules" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: This parameter is Unicode-enabled. See "Unicode support in CL" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for additional information.

To directory (TODIR)

Specifies the path name of the directory to which the object is to be moved. The moved object uses the name supplied on the Object (OBJ) parameter.

.
The path object moves to the current directory.
directory-name
Specify the name of the directory to which the object is to be moved.

Note: The TODIR and To object (TOOBJ) parameters are mutually exclusive.

For more information on specifying path names, refer to "Object naming rules" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: This parameter is Unicode-enabled. See "Unicode support in CL" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for additional information.

To object (TOOBJ)

Specifies the path name of the directory the object is to be moved to and the new name of the object.

Note: The To directory (TODIR) and TOOBJ parameters are mutually exclusive.

For more information on specifying path names, refer to "Object naming rules" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.

Note: This parameter is Unicode-enabled. See "Unicode support in CL" in the CL topic collection in the Programming category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/ for additional information.

From CCSID (FROMCCSID)

Specifies the method for obtaining the coded character set identifier (CCSID) for the source of the move operation. This CCSID will be used for data conversion, if requested. This parameter is ignored if the object specified on the Object (OBJ) parameter is not a regular file. A regular file is a file that supports the integrated file system input/output (I/O) operations open, read, and write.

*OBJ
Use the data CCSID of the object to be moved.
*PCASCII
Use the data CCSID of the object to be moved to compute a CCSID in the Microsoft Windows encoding scheme (x4105) (Microsoft, Windows, Windows NT, and the Windows 95 logo are registered trademarks of Microsoft Corporation). Use this as the CCSID from which the data will be converted when DTAFMT(*TEXT) is specified. This option allows data from PCs to be converted properly if the data was created using Microsoft Windows.
*JOBCCSID
The coded character set identifier (CCSID) from the default job CCSID is used.
1-65533
Specify a CCSID value.

To CCSID (TOCCSID)

Specifies the data coded character set identifier (CCSID) for the target of the move operation. This parameter is ignored if the object specified on the Object (OBJ) parameter is not a regular file. A regular file is a file that supports the integrated file system input/output (I/O) operations open, read, and write.

*OBJ
Use the data CCSID of the object to be moved. If this CCSID cannot be used by the file system that the object is to be moved into, the move operation will fail.
*CALC
Use the data CCSID of the object to be moved. If this CCSID cannot be used by the file system that the object is to be moved into, allow the file system to determine a different CCSID and continue with the move.
*STDASCII
Compute a CCSID in the IBM PC Data encoding scheme (x2100), based on the source file's CCSID. Associate this CCSID for the target of the move operation and, if DTAFMT(*TEXT) is specified, also use this CCSID for the data conversion. If this CCSID cannot be used by the file system that the object is to be copied into, the move operation will fail.
*PCASCII
Compute a CCSID in the Microsoft Windows encoding scheme (x4105), based on the source file's CCSID. Associate this CCSID with the target of the move operation and, if DTAFMT(*TEXT) is specified, also use this CCSID for the data conversion. This option allows the resulting data to be used by Microsoft Windows applications. If this CCSID cannot be used by the file system that the object is to be moved into, the move operation will fail.
*JOBCCSID
The coded character set identifier (CCSID) from the default job CCSID is used.
1-65533
Specify a CCSID value. If this CCSID cannot be used by the file system that the object is being moved into, the move operation will fail.

Data Format (DTAFMT)

Specifies the format of the data in the file to be moved.

*BINARY
The file contains data in binary form (such as an executable file). Do not convert data on the move. However, if the object to be moved to has a different CCSID than the source object, all extended attributes will be converted into the CCSID of the new object before being set.
*TEXT
The file contains data in textual form. Convert data to the CCSID of the new object during the move. The data is processed as text during the move.

If a database member is to be moved to a stream file, any line-formatting characters (such as carriage return, tab, and end-of-file) are just converted from one CCSID to another.

If a stream file is to be moved to a database member, the stream file must contain end-of-line characters or the move will fail. If the stream file does contain end-of-line characters, the following actions are performed during the move to a database file.

  • End-of-line characters are removed.
  • Records are padded with blanks (for a source physical file member) or nulls (for a data physical file member).
  • Tab characters are replaced by the appropriate number of blanks to the next tab position.

From code page (FROMCODPAG)

Specifies the method for obtaining the code page for source of the move operation. This code page will be used for data conversion, if requested. This parameter is ignored if the object specified on the Object (OBJ) parameter is not a regular file. A regular file is a file that supports the integrated file system input/output (I/O) operations open, read, and write.

Note: This parameter is replaced by the From CCSID (FROMCCSID) parameter, but the FROMCODPAG parameter can still be used. However, because this parameter may be removed in a later release, whenever possible use the FROMCCSID parameter.

*OBJ
Use the data code page of the object to be moved.
*PCASCII
Use the data code page of the object to be moved to compute a code page in the Microsoft Windows encoding scheme (x4105) (Microsoft, Windows, Windows NT, and the Windows 95 logo are registered trademarks of Microsoft Corporation). Use this as the code page from which the data will be converted when DTAFMT(*TEXT) is specified. This option allows data from PCs to be converted properly if the data was created using Microsoft Windows.
1-32767
Specify a code page value.

To code page (TOCODEPAGE)

Specifies the data code page for the target of the move operation. This parameter is ignored if the object specified on the Object (OBJ) parameter is not a regular file. A regular file is a file that supports the integrated file system input/output (I/O) operations open, read, and write.

Note: This parameter is replaced by To CCSID (TOCCSID), but the TOCODEPAGE parameter can still be used. However, because this parameter may be removed in a later release, whenever possible use the TOCCSID parameter.

*OBJ
Use the data code page of the object to be moved. If this code page cannot be used by the file system that the object is to be moved into, the move operation will fail.
*CALC
Use the data code page of the object to be moved. If this code page cannot be used by the file system that the object is to be moved into, allow the file system to determine a different code page and continue with the move.
*STDASCII
Compute a code page in the IBM PC Data encoding scheme (x2100), based on the source file's code page. Associate this code page with the target of the move operation and, if DTAFMT(*TEXT) is specified, also use this code page for the data conversion. If this code page cannot be used by the file system that the object is to be moved into, the move operation will fail.
*PCASCII
Compute a code page in the Microsoft Windows encoding scheme (x4105), based on the source file's code page. Associate this code page with the target of the move operation and, if DTAFMT(*TEXT) is specified, also use this code page for the data conversion. This option allows the resulting data to be used by Microsoft Windows applications. If this code page cannot be used by the file system that the object is to be moved into, the move operation will fail.
1-32767
Specify a code page value. If this code page cannot be used by the file system that the object is to be moved into, the move operation will fail.

Examples

Example 1: Moving an Object

MOV   OBJ('/CURRENT/DECEMBER-1994-MONTHLY-PAYROLL-FILE')
      TODIR('/ARCHIVE')

This command moves a file named DECEMBER-1994-MONTHLY-PAYROLL-FILE from a directory named CURRENT to a directory named ARCHIVE.

Example 2: Moving with Conversion

MOV   OBJ('/DATAFB')
      TOOBJ('/QSYS.LIB/APP1.LIB/DATA.FILE/DATAFB.MBR')
      TOCODEPAGE(*CALC)  DTAFMT(*TEXT)  TOCCSID(*CALC)

The stream file 'DATAFB' is to be moved to the database file 'DATAFB.MBR'. By specifying TOCCSID(*CALC), the file system being moved to (the QSYS.LIB file system in this case) will try to create the new member in the same CCSID as '/DATAFB'. If this fails (in this case, if 'DATA.FILE is not in the same CCSID as 'DATAFB'), the file system will be allowed to choose an appropriate CCSID and complete the move. By specifying DTAFMT(*TEXT), the data in 'DATAFB' is handled as text and is converted into the CCSID chosen for the new file 'DATAFB.MBR'.

Error messages

*ESCAPE Messages

CPFA085
Home directory not found for user &1.
CPFA08E
More than one name matches pattern.
CPFA093
Name matching pattern not found.
CPFA09C
Not authorized to object. Object is &1.
CPFA09E
Object in use. Object is &1.
CPFA0A1
An input or output error occurred.
CPFA0A7
Path name too long.
CPFA0A9
Object not found. Object is &1.
CPFA0B0
Request not allowed to operate from one file system to another.
CPFA0B1
Requested operation not allowed. Access problem.
CPFA0B2
No objects satisfy request.
CPFA0B8
&3 objects moved. &4 objects failed.
CPFA0C4
Object not a file. Object is &1.