KB Article #66604
Attributes - missing attributes
--Some attributes are missing in documents and services are missing due to a GUI bug fixed in PassPort 4.3.0_SP11(issue when clicking two times on the save button due to slowness)
--The bug is fixed but issue remains for some objects created before applying this Service Pack. How to solve?
Resolution
After applying the correct Service Pack, solution is to edit documents and services and to save them in the GUI. But how to detect them?
The two SQL requests below provide the list of services and documents with missing attributes:
-- this script must be runned on the PassPort database and returns the Name of the SelectedService
-- that has missing attributes and the AttributeName of the missing ones.
-- To make sure the fields are updated, it is necessary to change their value at least once
-- (i.e. for a combo box attribute change it from the default one and then select the default one again)
-- and before pressing "Finish" make sure they remain with the desired value.
select ss.Name as Name, AttributeName
from ppm_service s join ppm_selectedservice ss on ss.ServiceOID = s.OID
join (
select ad.Name as AttributeName, ag.Name as GroupName, sag.ServiceOID as DFOID
from ppm_attributegroup ag
join ppm_serviceattrgroups sag on ag.OID=sag.AttributeGroupOID
join ppm_attributedef ad on ad.GroupOID = ag.OID
) as zzzz on s.OID=DFOID
where (ss.Name, AttributeName) not in
(
select serv.Name as Name, sa.Name as AttributeName
from ppm_selectedservice serv
join ppm_serviceattributes sa on serv.OID=sa.ParentOID
);
-- this script must be runned on the PassPort database and returns the Name of the Document
-- that has missing attributes and the AttributeName of the missing ones.
-- To make sure the fields are updated, it is necessary to change their value at least once
-- (i.e. for a combo box attribute change it from the default one and then select the default one again)
-- and before pressing "Finish" make sure they remain with the desired value.
select d.Name as Name, AttributeName
from ppm_documentform df join ppm_document d on d.FormOID = df.OID
join (
select ad.Name as AttributeName, ag.Name as GroupName, dfg.DocumentFormOID as DFOID
from ppm_attributegroup ag
join ppm_documentformattrgroups dfg on ag.OID=dfg.AttributeGroupOID
join ppm_attributedef ad on ad.GroupOID = ag.OID
) as zzzz on df.OID=DFOID
where (d.Name, AttributeName) not in
(
select doc.Name as Name, da.Name as AttributeName
from ppm_document doc
join ppm_documentattributes da on doc.OID=da.ParentOID
);