Working with the Virtual File System in Recent Versions of Infor CRM SLX

When Infor segregated core files and custom files in the web portal to allow the core files to be upgraded without overwriting any customizations; they removed ability to edit, delete, or even view to core files through Application Architect. For the most part, that is fine, as there is usually no reason to touch to core files. There are however, occasions where incompatibility or some other issue will make it necessary to interact with the core files directly. When that happens, it can done directly in the virtual file system tables in the database.

In recent versions of Infor CRM SLX, the virtual file system is stored in two tables, VIRTUALFILESYSTEM and VFSDATA. VFSDATA contains the customized files, which can still be accessed through Application Architect, so there is no reason to access them through SQL. VIRTUALFILESYSTEM contains the core files, which can no longer be accessed elsewhere, so this is the table we will be addressing here.

Because you are interacting directly with the database , you will need to use SQL queries to view or alter files in the VFS. There is a SQL tool within the Infor CRM SLX Administrator program which can be used to run SQL queries against the CRM database. Personally, I am very used to using SQL Management Studio when working with databases, so I will be using that for my examples. The queries will yield the same results regardless.

Looking at the VIRTUALFILESYSTEM table, the two columns most likely to be of use to us are ITEMNAME and ITEMPATH. ITEMNAME is the name of the file, including suffix. ITEMPATH is the full pathway of the file, including the name. Most of the other columns are of limited use, or are in a format that is not useful in a SQL query.

Select all from VFS

To provide an example, let us say you need to know if the file Microsoft.Exchange.WebServices.dll isused in the VFS. You could use the query:

select * from sysdba.VIRTUALFILESYSTEM where itemname=’Microsoft.Exchange.WebServices.dll ‘

This would pull all the occurrences of that file in the VFS. In the evaluation database, there are two occurrences. Looking at the ITEMPATH column, I can see that Microsoft.Exchange.WebServices.dll exists in SlxJobService\SupportFiles\Bin and SlxClient\SupportFiles\Bin.

Select from VFS

Let us further assume that, for some reason, you need to delete that DLL from SlxClient\SupportFiles\Bin. You can run the query:

delete from sysdba.VIRTUALFILESYSTEM where itempath=’SlxClient\SupportFiles\Bin\Microsoft.Exchange.WebServices.dll’

This will permanently delete that file from the VFS, and it will no longer be deployed. If it ever come to pass that you need to do something like this, it might be a good idea to back up the the VIRTUALFILESYSTEM table as described in my previous post, in case something unexpectedly breaks. Generally speaking, it is bad idea to delete core files from the VFS, but I have seen compatibility issues that had no other solution.

Want content like this delivered to your inbox? Sign up for our newsletter!

Submit a Comment

Your email address will not be published. Required fields are marked *