It is preferable to always use the user LIBL.
If the file is in the LIBL when its description is imported, the file name is not prefixed with the library name. File name is not qualified in the file Extended info.
In this case, the file must be also in the user LIBL at application run time.
You can use AsExec function to change the LIBL at run time.
AsExec("ADDLIBLE my_library"),
AsExec("RMVLIBLE a_library")
The LIBL can be different for each user category. So that, a developer can have a test LIBL, and test his application without going to production data.
If you qualify the file names in the Extended info, library name will be hard coded in the analysis.
When a file is not in the user LIBL, you have to qualify file name in SQL queries, and use HQueryWithoutCorrection mode