ApplicationXtender - Locate Image path for specific documents
Applies to
ApplicationXtender - All current versions
Summary
How to find the file location of a document in the Application Xtender database
When attempting to find the location of a particular file you will need to know the application name the index values for the document
Determine the Application ID.
To do this, run the query below:
Select * from AE_APPS
Example Result = SAMPLAPP
Determine the DOCID.
This will be found in the ae_dtx table (where x = the appid found in step 1)
SELECT * FROM ae_dtx where field1=’11111’, field2=’22222’
Record the docid from the results
Determine the objects associated with the file
Select * from AE_DLx where docid = z
Note: There may be one to many entries returned from this query. You will need to use the below columns to determine which file you are looking for:Pagenum = page within the document
Subpage = this is usually for COLD or a multi-page tiff
Pagever = page version 1= first through 255 (max versions)
Once you have made the determination of which of the entries you are looking for, you can record the objectid and the pathid to determine the file's physical location.
Determine the path of the file
Select * from AE_PATHS where pathid = z
Note: z = pathid found in previous step
Record the path from the result set
Example = \DEXPART\IMAGES
Compute the hashing scheme - remember that the storage path is a combination of the path found in step 4 plus the application name plus the hashing scheme (defined in this step)Example - objectid = 2000000
Compute:
A= objectid = bin file
A / 1024 = X
X / 1024 = Y
X - (1024 * Y ) = Z
pathid from AE_PATHS\APPNAME\Y\Z\objectid.bin
Example: path id = 1 = \DEXPART\IMAGES
app name = SAMPLEAPP
objectid = bin file = 2000000
2000000 / 1024 = 1953.125 rounded down to whole number only
1953 = X
1953 / 1024 = 1.9072265 rounded down to whole number only
1 = Y
1953 - (1024 * 1) = 929
929 = Z
Result: \DEXPART\IMAGES\SAMPLEAPP\1\929\2000000.bin
SQL example:
--Enter Appid DECLARE @APPID varchar(4) = '1' --Enter Docid DECLARE @DL varchar(15) = '4' DECLARE @APP varchar(15) = (SELECT dlname FROM ae_apps WHERE appid = @APPID) DECLARE @PATH nvarchar(max) = ('SELECT DISTINCT pathid from ' + @APP + ' where docid = ' + @DL) DECLARE @PATH2 TABLE (path int) INSERT @PATH2 EXEC (@PATH) DECLARE @ROOT varchar(max) = (SELECT path FROM ae_paths WHERE pathid = (SELECT path from @PATH2)) DECLARE @stmt varchar(max) = ( 'SELECT ' + '''' + @ROOT + '''' + '+' + 'CONVERT(varchar,FLOOR(objectid/1024/1024)) + ''\'' + CONVERT(varchar,FLOOR(objectid/1024-(1024*(objectid/1024/1024)))) + ''\'' + convert(varchar,objectid) + ''.bin'' as ImagePath FROM ' + @APP + ' WHERE docid = ' + @DL ) exec (@stmt)
CASO Knowledge Base