Index Page
dasuri
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

 DASURI ( DAS, update record, integer )
 
      ENTRY DASURI ( HANDLE, RECNO, FIRST, LAST, DATAI )
 

Abstract

     Update DAS integer physical records.

Required_Reading

     DAS

Keywords

     ASSIGNMENT
     DAS
     FILES

Declarations

     INTEGER               HANDLE
     INTEGER               RECNO
     INTEGER               FIRST
     INTEGER               LAST
     INTEGER               DATAI  ( * )

Brief_I/O

     Variable  I/O  Description
     --------  ---  --------------------------------------------------
     HANDLE     I   Handle of DAS file.
     RECNO      I   Record number.
     FIRST,
     LAST       I   First and last indices of range within record.
     DATAI      I   Integer data to write to record.
     BUFSZI     P   Number of records in the integer record buffer.
     NWI        P   Number of integers in a single DAS integer record.

Detailed_Input

     HANDLE         is the handle of a DAS file opened for writing.

     RECNO          is the number of a record in a DAS file.

     FIRST,
     LAST           are the first and last indices of a range of
                    elements to be updated in the indicated record.
                    The record contains NWI integers; these have
                    indices ranging from 1 to NWI.

     DATAI          is an integer array to be written to elements FIRST
                    through LAST of the specified record.  The array
                    element DATAI(1) is placed in record element FIRST,
                    the array element DATAI(2) is placed in record
                    element FIRST+1, and so on; the array element
                    DATAI(LAST-FIRST+1) is placed in the record element
                    LAST.

Detailed_Output

     None.   See $Particulars for a description of the action of this
     routine.

Parameters

     NWI           is the number of integers in a single DAS record
                   containing integers.

     BUFSZI        is the number of records in the integer record
                   buffer.

Exceptions

     1)  This routine may be used to update only records that have
         already been written by DASWRI or that already exist in the
         file designated by HANDLE.  Attempting to update a record
         that hasn't yet been written will cause the read operation
         performed by this routine to fail.

         If a read operation attempted by this routine fails for this
         or any other reason, the error will be diagnosed by routines
         called by this routine.  The indicated record will not be
         modified.

     2)  If a write operation attempted by this routine fails, the
         error will be diagnosed by routines called by this routine.
         The status of the DAS file written to is uncertain in this
         case.  Note that the file written to may be different than
         the file designated by HANDLE if multiple DAS files are open
         for writing.

     3)  If the input file handle is invalid, the error will be
         diagnosed by routines called by this routine.  The indicated
         record will not be modified.

     4)  If FIRST or LAST is not in the range [1, NWI], the error
         SPICE(INDEXOUTOFRANGE) will be signaled.  The indicated
         record will not be modified.

     5)  If FIRST > LAST, this routine will return without modifying
         the indicated record.

Files

     See the description of the argument HANDLE in $Detailed_Input.

Particulars

     Routines outside of SPICELIB will normally have no need to call
     this routine.

     This routine can be used to update any existing record in a DAS
     file that is open for writing, or any record that has been
     `written' by DASWRI, whether or not that record has yet been
     physically written to the file it belongs to.  Records that have
     never been written cannot be updated.

     Because the DAS system buffers records that are written, multiple
     updates of parts of a record can be made without incurring a
     large number of file reads and writes.

     This routine should be used to update only records that contain
     integer data.

Examples

     1)  Update the 10th through 100th integers in record number 9
         in a DAS file designated by HANDLE.

             INTEGER               DATAI ( 100 )

                         .
                         .
                         .

             DO I = 1, 91
                DATAI  =  I
             END DO

             CALL DASURI ( HANDLE, 9, 10, 100, DATAI )

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     K.R. Gehringer (JPL)
     N.J. Bachman   (JPL)
     W.L. Taber     (JPL)
     B.V. Semenov   (JPL)

Version

    SPICELIB Version 1.0.3, 10-FEB-2014 (BVS)

        Added description of NWI to the Parameters and Brief_I/O
        sections of the header.

    SPICELIB Version 1.0.2, 03-NOV-1995 (NJB)

        Removed weird spaces from ENTRY statement.

    SPICELIB Version 1.0.1, 28-OCT-1993 (KRG)

        Removed references to specific DAS file open routines in the
        $ Detailed_Input section of the header. This was done in order
        to minimize documentation changes if the DAS open routines ever
        change.

    SPICELIB Version 1.0.0, 30-JUN-1992 (NJB) (WLT)
Tue Jul 15 14:24:10 2014