Function SRP_RTP65(Service, Param1, Param2, Param3) /******************************************************************************************************** This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written permission. Name : SRP RTP65 Description : Service shell for RTP65(Method, Handle, Key, Record, Reserved, Status) Notes : Parameters : History (Date, Initials, Notes) 05/06/10 fjt Initial development ********************************************************************************************************/ Declare subroutine RTP65 $insert SERVICE_INSERT Equ Create$ to 0 Equ Open$ to 1 Equ Close$ to 2 Equ Clear$ to 3 Equ Read$ to 4 Equ Write$ to 5 Equ Delete$ to 6 Ans = 0 Begin Case Case Service EQ "R" ; Gosub ReadRecord Case Service EQ "W" ; Gosub WriteRecord Case Service EQ "D" ; Gosub DeleteRecord *** Case Service EQ "C" ; Gosub CreateTable Case Service EQ "O" ; Gosub OpenTable Case Service _eqc "Clear" ; Gosub ClearTable Case Service _eqc "Close" ; Gosub CloseTable End Case GoSub Errors Return Ans !----- RECORD METHODS ----------------------------------------------------------------------------------- ReadRecord: // Reads a record from an open RTP65 table Key = Param2 RTP65(Read$, Param1, Key, Rec, "", Ans) If Assigned(Rec) else Rec = "" Transfer Rec to Param3 return WriteRecord: // Writes a record to an open RTP65 table Key = Param2 Rec = Param3 RTP65(Write$, Param1, Key, Rec, "", Ans) return DeleteRecord: // Deletes a record from an open RTP65 table Handle = Param1 Key = Param2 RTP65(Write$, Handle, Key, "", "", Ans) return !----- TABLE METHODS ------------------------------------------------------------------------------------ CreateTable: // Use this method to create an in-memory hash table Table = Param1 RTP65(Create$, "", Table, "", "", Ans) return OpenTable: // Opens a previously created RTP65 table // Use this method to obtain a handle to the table before using any other RTP65 record methods Table = Param1 RTP65(Open$, Handle, Table, "", "", Ans) Transfer Handle to Param2 return ClearTable: // Deletes all data from a previously opened RTP65 table Handle = Param1 RTP65(Clear$, Handle, "", "", "", Ans) return CloseTable: // Closes a previously created RTP65 table Handle = Param1 RTP65(Close$, Handle, "", "", "", Ans) return !----- ERRORS / STATUS ---------------------------------------------------------------------------------- Errors: Begin Case Case Ans EQ 0 ; Ans = "(0) Success" Case Ans EQ 1 ; Ans = "(1) Table already exists" Case Ans EQ 2 ; Ans = "(2) Table does not exist" Case Ans EQ 3 ; Ans = "(3) Bad Table Handle" Case Ans EQ 4 ; Ans = "(4) Table has not been opened or Record does not exist" Case Ans EQ 5 ; Ans = "(5) Maximum number of tables exceeded" Case Ans EQ 6 ; Ans = "(6) Memory Error" End Case return