
[dbo].[ca_am_asset_derived_status]
CREATE view ca_am_asset_derived_status
as
SELECT
ca_agent.object_uuid,
object_status = CASE
WHEN violation_state>0 THEN violation_state
WHEN amlegacy_objects.object_uuid IS NOT NULL THEN -1
WHEN (agent_type=11) THEN -3
WHEN (agent_type=1 AND agent_comp_id IS NULL) THEN -2
WHEN (last_run_date IS NULL OR last_run_date<0) THEN -4
ELSE 0
END
FROM
ca_agent LEFT JOIN
(
SELECT
ca_agent.object_uuid,isnull(MIN(polsev),0) AS violation_state
FROM
ca_agent LEFT OUTER JOIN POLILOG
ON
ca_agent.object_uuid=polilog.object_uuid
WHERE
polsev>0 AND agent_type IN (1,2,11)
GROUP BY
ca_agent.object_uuid
) t_violation_state
ON
ca_agent.object_uuid=t_violation_state.object_uuid
LEFT OUTER JOIN
ca_agent_component
ON
ca_agent.object_uuid=ca_agent_component.object_uuid AND agent_comp_id in (80,86)
LEFT OUTER JOIN
amlegacy_objects
ON
ca_agent.object_uuid=amlegacy_objects.object_uuid
WHERE
agent_type IN (1,2,11)
GO
GRANT SELECT ON [dbo].[ca_am_asset_derived_status] TO [ams_group]
GRANT SELECT ON [dbo].[ca_am_asset_derived_status] TO [ca_itrm_group]
GRANT SELECT ON [dbo].[ca_am_asset_derived_status] TO [ca_itrm_group_ams]
GRANT SELECT ON [dbo].[ca_am_asset_derived_status] TO [upmuser_group]
GO