| **Navigation:**  [[introduction.htm|Language Reference]] > App E - Legacy Statements >====== POINTER (return relative record position) {{c6h0007.jpg|C6H0007.jpg}} ====== | [[function define a function .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[share open data file for shared access .htm|{{btn_next_n.gif|Next page}}]] | | || | | **POINTER** | **(** |// file //| **)** | | | | |// key //| | {{blk2blue.jpg|blk2blue.jpg}} | **POINTER** | Returns relative record position. | | //file// | The label of a FILE declaration. This specifies physical record order within the file. | | //key// | The label of a KEY or INDEX declaration. This specifies the entry order within the KEY or INDEX file. | **POINTER** returns the relative record position within the data file (in //file// sequence), or the relative record position within the KEY or INDEX file (in //key// sequence) of the last record accessed. The value returned by the POINTER procedure is dependent on the file driver. It may be a record number, the relative byte position within the file, or some other kind of seek position within the file. The POINTER procedure is not supported by all file drivers. Therefore it should be used only when you know the file system supports it and you will not be changing file systems in the future. The preferred method of record positioning that is designed to work across all file systems is the POSITION procedure with RESET and REGET. **Return Data Type:     **LONG **Example:** **SavePtr# = ****POINTER****(Customer)   !Save file pointer** **See Also:** [[position return record sequence position .htm|POSITION]]