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.
VALUE ( expression )
An expression that returns the name of the original file. Expression can contain constants, field names, and variable names.
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.
VALUE ( expression )
An expression that returns the name of the new file or directory. expression can contain constants, field names, and variable names.
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.
*
*
*
Although an error can occur during execution of this statement, the statement does not generate an error message, raise an error condition, or affect the program’s flow in any way. Check for an execution error by using the OS-ERROR function and evaluating the return.
See also 
OS-ERROR function

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