HP OpenVMS Systemsask the wizard |
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 appreciated. Regs, Clive 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> main() { 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 Directory DISK:[EXAMPLES] X.X;1 [SYSTEM] (RWED,RWED,RWED,RWED) Total of 1 file. $ r xabpro FILENAME: x.x $OPEN = 0x000010001 stv = 0x0000000d0 $CLOSE = 0x000010001 stv = 0x000000000 $ dir/sec x.x Directory DISK:[EXAMPLES] X.X;1 [SYSTEM] (RWED,RWED,RWED,RE) Total of 1 file.
|