See Also: Get_Attribute, Set_Attribute, DF_FILE_PHYSICAL_NAME
The logical file name stored in the file list for the table.
Table
All Drivers
String, permanent
Read / Write
The logical name. Valid characters are A-Z, a-z, 0-9, # and _ (underscore).
The logical name can contain alphanumeric characters as well as ASCII characters above 32 and be up to 31 characters long. The logical name is the name used in the source code to identify a table.
Unlike other permanent table level attributes, the filelist attributes (DF_FILE_DISPLAY_NAME, DF_FILE_ROOT_NAME and DF_FILE_LOGICAL_NAME) can be set outside of a Structure_Start ... Structure_End operation. These attributes are actually stored in the filelist and not in the database or table.
to add a table to an existing filelist, the 3 filelist attributes must be set at the same time. to remove a table from the filelist the 3 filelist attributes must be set to an empty string.
Procedure ShowFilelistNames
Handle hTable
String sRoot sDisplay sTable
Move 0 to hTable
Repeat
Get_Attribute DF_FILE_NEXT_USED of hTable to hTable
If (hTable <> 0) Begin
Get_Attribute DF_FILE_ROOT_NAME of hTable to sRoot
Get_Attribute DF_FILE_DISPLAY_NAME of hTable to sDisplay
Get_Attribute DF_FILE_LOGICAL_NAME of hTable to sTable
Showln hTable ", " sRoot ", " sDisplay ", " sTable
End
Until (hTable = 0)
End_Procedure
The sample procedure above show all the filelist attributes.
Procedure NewEntry Handle hTable String sRoot String sDisplay String sTable
Set_Attribute DF_FILE_ROOT_NAME of hTable to sRoot
Set_Attribute DF_FILE_DISPLAY_NAME of hTable to sDisplay
Set_Attribute DF_FILE_LOGICAL_NAME of hTable to sTable
End_Procedure
The sample procedure above creates a new filelist entry at a given slot. It can also be used to remove a filelist entry by passing empty strings for the three filelist attributes.
Procedure CreateNewFilelist String sNewList
Handle hoWorkspace
String sPath
Integer iMaxSlots
//*** Make sure new filelist goes into the first folder of datapath
Get phoWorkspace of ghoApplication to hoWorkspace
Get psDataPath of hoWorkspace to sPath
Get PathAtIndex of hoWorkspace sPath 1 to sPath
If (Right(sPath, 1) <> Sysconf(Sysconf_Dir_Separator)) ;
Move (sPath - Sysconf(Sysconf_Dir_Separator)) to sPath
Move (sPath - sNewList) to sPath
//*** Create the disk file
Direct_Output sPath
Write "filelist.cfg"
Close_output
//*** Use the disk file as fileist
Set_attribute DF_FILELIST_NAME to sPath
//*** Create all the slots
Get_Attribute DF_NUMBER_FILES_SUPPORTED to iMaxSlots
Send NewEntry iMaxSlots "" "" ""
End_Procedure
The sample procedure above uses the filelist attributes to create a new empty filelist. It calls the NewEntry procedure defined above.