Recent Forms - What table are they stored?

Anyone know where the “Recent Forms” are stored?

Ice.SysRptLst

I think the OP is looking for these

image

Yup @ckrusen, I’m curious where that history is stored in the db.

It must be in the DB somewhere (as opposed to in the client), because when I try a different client, the list is the same as what was on the previous client.

I queried the DB for tables with a column name like dcdr% and ones like userID%. Here’s the results. Nothing jumped out at me

column name like 'dcd%'
ColumnName	TableName
DcdUserID	AlcHist
DcdUserID	AlcHistBatch
DCDUserID	BookDtl
DCDUserID	BookRel
DcdUserID	BrwsDefs
DcdUserID	CheckListDtl
DcdUserID	DCRMUser
DcdUserID	EmpBasic
DcdUserID	EquipMeter
DCDescription	ES_DYNAMICCOMBOS
DcdUserID	GlbPerCon
DcdUserID	IMAlcHist
DcdUserID	IMAlcHistBatch
DCDUserID	IMBookDtl
DCDUserID	IMBookRel
DcdUserID	IMBrwsDefs
DcdUserID	IMCheckListDtl
DcdUserID	IMDCRMUser
DcdUserID	IMEmpBasic
DcdUserID	IMEquipMeter
DCDescription	IMES_DYNAMICCOMBOS
DcdUserID	IMGlbPerCon
DCDUserID	IMJobSched
DcdUserID	IMLegalNumPrefix
DcdUserID	IMNACreditDoc
DcdUserID	IMPartAllocTran
DcdUserID	IMPCashDeskAuth
DcdUserID	IMPerCon
DcdUserID	IMPerfLog
DcdUserID	IMPOApvMsg
DcdUserID	IMPREmpMas
DcdUserID	IMPurAuth
DcdUserID	IMSaleAuth
DcdUserID	IMTranDocTypeAuth
DcdUserID	IMUserComp
DcdUserID	IMUserCompExt
DcdUserID	IMUserFile
DcdUserID	IMUserSetting
DcdUserID	IMVntgStat
DCDUserID	IMVSBLock
DcdUserID	IMWebSession
DcdUserID	IMWidgetSetting
DCDUserID	JobSched
DcdUserID	LegalNumPrefix
DcdUserID	NACreditDoc
DcdUserID	PartAllocTran
DcdUserID	PCashDeskAuth
DcdUserID	PerCon
DcdUserID	PerfLog
DcdUserID	POApvMsg
DcdUserID	PREmpMas
DcdUserID	PurAuth
DcdUserID	SaleAuth
DcdUserID	TranDocTypeAuth
DcdUserID	UserComp
DcdUserID	UserCompExt
DcdUserID	UserFile
DcdUserID	UserSetting
DcdUserID	VntgStat
DCDUserID	VSBLock
DcdUserID	WebSession
DcdUserID	WidgetSetting

column name like 'userID%'

ColumnName	TableName
UserID	AGUserComp
UserID	AuthTokenUser
UserID	ChgLog
UserID	ClassExtendedCrossRef
UserID	ContextType
UserID	ControlSetting
UserID	DataExportHistory
UserID	EPHistory
UserID	ESSearch
UserID	FavFolder
UserID	FavItems
UserID	IMAGUserComp
UserID	IMChgLog
UserID	IMClassExtendedCrossRef
UserID	IMContextType
UserID	IMControlSetting
UserID	IMDataExportHistory
UserID	IMEPHistory
UserID	IMESSearch
UserID	IMFavFolder
UserID	IMFavItems
UserID	IMMenuTab
UserID	IMNamedSearch
UserID	IMPECompWhldHist
UserID	IMPECustWhldHist
UserID	IMPEVendWhldHist
UserID	IMPublishedView
UserID	IMQuickSearch
UserID	IMRptDefault
UserID	IMRptParms
UserID	IMSysActivityLog
UserID	IMSysLock
UserID	IMSysRptLst
UserID	IMSysUserComp
UserID	IMSysUserCompExt
UserID	IMSysUserFile
UserID	IMUserLogOnStatus
UserID	IMUserTracing
UserID	IMWhereClause
UserID	MailQueue
UserID	MenuTab
UserID	NamedSearch
UserID	PECompWhldHist
UserID	PECustWhldHist
UserID	PEVendWhldHist
UserID	PublishedView
UserID	QuickSearch
UserID	RptDefault
UserID	RptParms
UserID	SessionState
UserID	SUInstall
UserID	SysActivityLog
UserID	SysLock
UserID	SysRptLst
UserID	SysUserComp
UserID	SysUserCompExt
UserID	SysUserFile
UserID	ttQuickSearch
UserID	UserLogOnStatus
UserID	UserTracing
UserID	WhereClause

Yeah, I’ve scanned the list and opened up so many tables… so far, nothing. I’m wondering if the recents are nested in some sort of array within some random field.

Or saved as GUID type value that points to the Menu Items GUID.

I was about to say Ice.ShellLayoutPersonal in the ShellUserOptions column but nope! ugh

Yeah, straight up mystery…

Try xxxDef table. Type Column will give you a hint as to what the record is used for.

I was intriguied by this so I took what Rich said and looked for it. It’s here:

select TypeCode, Key1, Content
from Ice.XXXDef
where TypeCode = ‘MainMenuHistory’
order by Key1

Seems to store a SPACE separated list of MENU IDs.

4 Likes

My xxxDef table does not have a column named ‘Content’

Or is that some sort of SQL directive?

I’m on 10.2.300

I note that on the Conversations that run when applying updates, there is one that says move data from XXXChunk to XXXDef.

Perhaps you’re on an older version, where it’s stored in that alternative table. Trouble is, it’s not in human readable form in that table - Jose has posted on here somewhere about how to convert it back to readable data.

2 Likes

Thank you! That’s it. (I’m on 10.2.400)

I’m on 10.1.400, and was just looking inside the XXXChunk table.

We’re going to 10.2.300 in a few weeks, so no need form me to reverse engineer the xxxDef to xxxChunk relation ship, nad to decode the ChunData.

Okay, so it seems that when I run personalizations purge, these recent forms are cleared for all users, EXCEPT the manager user… I don’t know why manager doesn’t have their recent forms cleared…

@markdamen Thank you. I ended up spending quite a bit of time looking for this in UserFile, UserComp, ShellLayoutPersonal, SysUserFile, FavFolder, SysActivityLog, and HomeUserOption. Those were the obvious ones after looking at all the system tables. This is good to know.

Big thanks for this query! In 10.2.700 it is separated by a Line Feed. Using the following I got just what I needed.

SELECT	Key1, value AS Program
FROM	Ice.XXXDef
			CROSS APPLY STRING_SPLIT(Content,CHAR(10)) 
WHERE	TypeCode = 'MainMenuHistory'
ORDER	BY Key1
2 Likes

Thanks, Mark! 3.5 years later and your query is still helping. :metal::+1:

1 Like