Previous Next

OS-COPY statement
Executes an operating system file copy command from within ABL.
Syntax 
 
OS-COPY
  { source-filename | VALUE ( expression ) }
  { target-filename | VALUE ( expression ) }
source-filename
The name of the original file. If you specify a directory, OS-COPY generates an error. The filename can contain Unicode characters. See OpenEdge Development: Internationalizing Applications for more information about Unicode.
VALUE ( expression )
An expression that returns the name of the original file. Expression can contain constants, field names, and variable names. The filename can contain Unicode characters.
target-filename
The name of the new file or directory. If you specify a directory, OS-COPY gives the target file the same name as the source file. The filename can contain Unicode characters.
VALUE ( expression )
An expression that returns the name of the new file or directory. expression can contain constants, field names, and variable names. The filename can contain Unicode characters.
Example 
This procedure opens a dialog box that prompts the user to choose a file to copy. It then prompts for a name for the copy. Finally, the procedure uses the OS-COPY statement to copy the file.
 
DEFINE VARIABLE sourcefilename AS CHARACTER NO-UNDO.
DEFINE VARIABLE copyfilename   AS CHARACTER NO-UNDO FORMAT "x(20)" 
  VIEW-AS FILL-IN.
DEFINE VARIABLE OKpressed      AS LOGICAL   NO-UNDO INITIAL TRUE.
 
Main:
REPEAT:
  SYSTEM-DIALOG GET-FILE sourcefilename
    TITLE  "Choose File to Copy"
    MUST-EXIST
    USE-FILENAME
    UPDATE OKpressed.
 
  IF OKpressed = FALSE THEN
    LEAVE Main.
  UPDATE copyfilename WITH FRAME copyframe.
  OS-COPY VALUE(sourcefilename) VALUE(copyfilename).
END.
Notes 
*
*
If target-file specifies an existing file, OS-COPY overwrites the existing file.
*
If target-file has the same name as source-file, the copy fails, but OS-ERROR is not set.
*
*
*
See also 
OS-ERROR function

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.