HP OpenVMS Systems

ask the wizard
Content starts here

RMS ACP file access failed? (ACC)

» close window

The Question is:

We are experiencing intermittent problems opening VMS files, the error code is
 114690 which translates to "%RMS-E-ACC, ACP file access failed"
Any pointers as to the possible causes of this error message would be much

The Answer is :

  Please check the STV field within the associated FAB for additional
  details on the error.
 ACC,  ACP file access failed
  Facility:     RMS, OpenVMS Record Management Services
  Explanation:  An error occurred during an attempt to open a file. This
                message is associated with a status code returned from a file
                system ACP QIO request made by the RMS file system.
  User Action:  The status value (STV) field of the FAB contains a system
                status code that provides more information about the
                condition. Take action based on this status code.
  An example of calling RMS services follows, and the example includes
  a check of the FAB$L_STV field.
#pragma module XABPRO "V1.1-000"
//  Copyright 2001 by Compaq Computer Corporation
//  Facility:
//	Examples
//  Version: V1.1
//  Abstract:
//	Example of the RMS protection XAB
//  Author:
//	Stephen Hoffman
//  Creation Date:  1-Jan-1990
//  Modification History:
//      5-Sep-2001  Stephen Hoffman
//      V1.1        Updated for Compaq C, switched to CLASS_D
#include <descrip.h>
#include <lib$routines.h>
#include <rms.h>
#include <ssdef.h>
#include <starlet.h>
#include <stdio.h>
#include <stsdef.h>
    struct dsc$descriptor_s fname_d =
        { 0, DSC$K_DTYPE_T, DSC$K_CLASS_D, NULL };
    $DESCRIPTOR( prompt_d, "FILENAME: ");
    struct FAB fab;
    struct XABPRO xabpro;
    int RetStat;
    RetStat = lib$get_input( &fname_d, &prompt_d, &fname_d.dsc$w_length );
    //	Initialize the FAB and XABPRO structures.
    fab = cc$rms_fab;
    xabpro = cc$rms_xabpro;
    fab.fab$l_fna = fname_d.dsc$a_pointer;
    fab.fab$b_fns = fname_d.dsc$w_length;
    fab.fab$b_fac = FAB$M_PUT;
    //	Open the file, then hook in the XABPRO.
    RetStat = sys$open( &fab );
    printf("$OPEN = 0x0%08.8x\n", RetStat );
    printf("  stv = 0x0%08.8x\n", fab.fab$l_stv );
    if (!$VMS_STATUS_SUCCESS( RetStat ))
      lib$signal( RetStat );
    fab.fab$l_xab = &xabpro;
    xabpro.xab$w_pro = (XAB$M_NOWRITE|XAB$M_NODEL)<<XAB$V_WLD;
    xabpro.xab$l_nxt = 0;
    //	Close the file.
    RetStat = sys$close( &fab );
    printf("$CLOSE = 0x0%08.8x\n", RetStat );
    printf("   stv = 0x0%08.8x\n", fab.fab$l_stv );
    //	Clean up and leave...
    RetStat = lib$sfree1_dd( &fname_d );
    if (!$VMS_STATUS_SUCCESS( RetStat ))
      lib$signal( RetStat );
    return SS$_NORMAL;
$ dir/sec x.x
X.X;1                [SYSTEM]                         (RWED,RWED,RWED,RWED)
Total of 1 file.
$ r xabpro
$OPEN = 0x000010001
  stv = 0x0000000d0
$CLOSE = 0x000010001
   stv = 0x000000000
$ dir/sec x.x
X.X;1                [SYSTEM]                         (RWED,RWED,RWED,RE)
Total of 1 file.

answer written or last revised on ( 5-SEP-2001 )

» close window