When trying to bring your functions to 'life', I changed the proc_FilltblIndexUsageInfo
ALTER Proc [dbo].[proc_FilltblIndexUsageInfo]
AS
Begin
Truncate table tblIndexUsageInfo
insert into tblIndexUsageInfo
select db_name(db_id()) DbName,
so.name as 'TableName',
ISNULL(si.name,'No Index') as IndexName,
si.index_id,
Case When is_primary_key=1 then 'Primary Key Constraint'
Else 'Index' End ConstraintType,
si.type_desc,
dbo.Uf_GetIndexCol(si.index_id,so.object_id,0) As IndexKeyColumn,
dbo.Uf_GetIndexCol(si.index_id,so.object_id,1) As IncludedCols,
spi.user_seeks,spi.user_scans,spi.user_lookups,spi.user_updates,
(user_seeks+user_scans+user_lookups+user_updates) as 'IndexUsage ',
dbo.Uf_GetIndexSize(si.index_id,so.object_id) 'IndexSizeKB',
Cast(
(user_seeks+user_scans+user_lookups+user_updates)/
dbo.Uf_GetIndexSize(si.index_id,so.object_id) As decimal(10,2))
As IndexUsagetoSizeRatio
from sys.objects so inner join sys.indexes si
on so.object_id=si.Object_id
inner join sys.dm_db_index_usage_stats spi
on spi.Object_id=so.Object_id
and si.index_id=spi.index_id
and spi.database_id=db_id()
where so.type='u'
END