dasurc |
Table of contents
ProcedureDASURC ( DAS, update record, character ) ENTRY DASURC ( HANDLE, RECNO, FIRST, LAST, DATAC ) AbstractUpdate DAS character physical records. Required_ReadingDAS KeywordsASSIGNMENT DAS FILES DeclarationsINTEGER HANDLE INTEGER RECNO INTEGER FIRST INTEGER LAST CHARACTER*(*) DATAC Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- HANDLE I Handle of DAS file. RECNO I Record number. FIRST, LAST I First and last indices of range within record. DATAC I Character data to write to record. BUFSZC P Number of records in the character record buffer. NWC P Number of characters in a single DAS char. record. Detailed_InputHANDLE 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 NWC characters; these have indices ranging from 1 to NWC. DATAC is a character string to be written to elements FIRST through LAST of the specified record. The character DATAC(1:1) is placed in record element FIRST, the character DATAC(2) is placed in record element FIRST+1, and so on; the character DATAC(LAST-FIRST+1) is placed in the record element LAST. Detailed_OutputNone. See $Particulars for a description of the action of this routine. ParametersNWC is the number of characters in a single DAS record containing characters. BUFSZC is the number of records in the character record buffer. Exceptions1) This routine may be used to update only records that have already been written by DASWRC 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, an error is signaled by a routine in the call tree of this routine. The indicated record will not be modified. 2) If a write operation attempted by this routine fails, an error is signaled by a routine in the call tree of 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, an error is signaled by a routine in the call tree of this routine. The indicated record will not be modified. 4) If FIRST or LAST is not in the range [1, NWC], the error SPICE(INDEXOUTOFRANGE) is signaled. The indicated record will not be modified. 5) If FIRST > LAST, this routine will return without modifying the indicated record. FilesSee the description of the argument HANDLE in $Detailed_Input. ParticularsRoutines 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 DASWRC, 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. Any buffered character record can be updated with this routine. In particular, records that have been written to the DAS character record buffer but have not yet been written out to the DAS file they're intended to go to ARE visible to this routine. This routine should be used to update only records that contain character data. Examples1) Update the 10th through 100th characters in record number 9 in a DAS file designated by HANDLE. CHARACTER*(100) DATAC . . . DATAC = 'The first 91 characters of this string, ' // . 'including trailing blanks, will be written ' // . 'to the indicated DAS file.' CALL DASURC ( HANDLE, 9, 10, 100, DATAC ) RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) K.R. Gehringer (JPL) B.V. Semenov (JPL) W.L. Taber (JPL) VersionSPICELIB Version 2.0.1, 22-FEB-2021 (JDR) Edited the header to comply with NAIF standard. SPICELIB Version 2.0.0, 05-FEB-2015 (NJB) Upgraded to support handle manager integration. SPICELIB Version 1.0.3, 10-FEB-2014 (BVS) Added description of NWC 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) |
Fri Dec 31 18:36:12 2021