Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

HP OpenVMS Systems

Ask the Wizard
» 

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
Content starts here

Ask the Wizard Questions

DCL: /SINCE and /BEFORE problems with opened files

The Question is:

A problem using /BEFORE/SINCE filters:

I have a program which continuously writes data to a text file.
Each 8 hours, the file is closed, and a new one is opened.  The
files have the same base name, but the date is coded in the
file name extension.  I want to copy the files to another VAX node
as they are closed, using a batch job.  Using the following
command:

$PRINT/SINCE=-8/BEFORE=-1 FILE_NAME NODE_2::*

The closed file is properly copied, but the command also tries
to copy the file just opened.  The command bombs out, because
my program has the open file locked.  I though that the
/BEFORE=-1 should filer out files created within the last hour.
The following command:

$DIR/SINCE=-9/BEFORE=-1 FILE_NAME

gives the expected result, reporting only the file created 8 hours
ago, an not the file created a few minutes ago.

What am I doing wrong?


The Answer is:


    Nothing. Just an unfortunate implementation detail.
    Most VMS utilities use a common set of routine to deal
    with file selection qualifiers such as /before and /exclu
    That package use RMS to get dates filled in through an OPEN.
    As you, and others, found out, that open can fail if the
    file is currently opened dis-allowing others.
    Directory, being more intimate with file headers and such,
    will uses a direct ACP QIO to get file attibutes with an
    option to ignore the file access lock.

    Suggestions:
    	- Teach the procedure to ignore the error:
    		$ON ERROR
    		:
    		$IF $STATUS .EQ...
    	- Use directory to build a list of file to copy:
    		$DIR/SINCE=-8/BEFORE=-1/NOHEAD/NOTRAIL ....
    	- Have the application change filenames after the close.



 

** About PDF files: The PDF files on this Web site can be read online or printed using Adobe® Acrobat® Reader. If you do not have this software installed on your system, you may download it from the Adobe Web site.
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2008 Hewlett-Packard Development Company, L.P.