At 11:27 AM 1/28/2013, Stephen Markson wrote:

How does one check if a file is open (in use)?

If you do R> OUTPUT somefile, or R> PRINT reportname OPTION PDF|FILENAME
somefile, and someone has the file open, then nothing is produced.


Stephen,

In a multi-user environment, you should adapt the technique to dynamically
create a unique file name to avoid such instances.

You may use the new (CVAL('GUID')) function to create a unique file name.

Here are two simple examples that you may modify and adopt, if you wish.

-- Example 01
-- Using R:BASE eXtreme 9.5 (64)
   IF (CVAL('DATABASE')) <> 'RRBYW18' OR (CVAL('DATABASE')) IS NULL THEN
      CONNECT RRBYW18 IDENTIFIED BY NONE
   ENDIF
   CLEAR VARIABLE vPDFFileName
   SET VAR vPDFFileName TEXT = ((CVAL('NetUser'))+'_'+(CVAL('GUID'))+'.PDF')
   PRINT InvoiceSummary +
   OPTION PDF +
   |FILENAME .vPDFFileName +
   |SHOW_CANCEL_DIALOG ON +
   |TITLE Running R:BASE Your Way! +
   |SUBJECT Invoice Summary +
   |AUTHOR R:BASE eXtreme 9.5 +
   |KEYWORDS Invoice Summary +
   |OPEN ON
   CLEAR VARIABLES vPDFFileName
   RETURN

-- Example 02
-- Using R:BASE eXtreme 9.5 (32)
   IF (CVAL('DATABASE')) <> 'RRBYW18' OR (CVAL('DATABASE')) IS NULL THEN
      CONNECT RRBYW18 IDENTIFIED BY NONE
   ENDIF
   CLEAR VARIABLE vPDFFileName
   SET VAR vPDFFileName TEXT = +
   ((CVAL('NetUser'))+'_'+(FORMAT(.#NOW,'MMDDYYYY_HHNN'))+'.PDF')
   PRINT InvoiceSummary +
   OPTION PDF +
   |FILENAME .vPDFFileName +
   |SHOW_CANCEL_DIALOG ON +
   |TITLE Running R:BASE Your Way! +
   |SUBJECT Invoice Summary +
   |AUTHOR R:BASE eXtreme 9.5 +
   |KEYWORDS Invoice Summary +
   |OPEN ON
   CLEAR VARIABLES vPDFFileName
   RETURN

Hope that helps!

Very Best R:egards,

Razzak.

www.rbase.com
www.facebook.com/rbase

Reply via email to