- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-25-2016 09:28 AM
We have the hierarchy of Business services --> Service Components --> Sub-service components. - All managed manually.
We do not have a functional CMDB yet - and the work is in progress.
We use these services to link and categorise our Incidents / Problems / Changes.
We have some similar entries for Blackberry & Good technology (sub-service components) and Messaging (service component) - but need to get these unlisted.
I can't see any flag (Active/Inactive) to achieve this.
Nor can I see any retirement date that may be used to mark a service retired / obsolete.
Also - I don't want to delete them as that would disturb my historic data.
Any suggestions on how these can be made inactive or unavailable.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-25-2016 09:34 AM
Hi Sonal
Business Service table which is a child table to cmdb_ci doesnt have any active/inactive flags. In fact CMDB tables will not have active inactive flags. To retire a CI you must have operational plan on using operational_status and install_status from cmdb_ci table.
cmdb_ci is a parent to cmdb_ci_service table you can make use of operational_status filed and write rules not not show non-operative CIs. I haven't seen Service Components and Sub-Service component tables from out of the box. Are they custom? Are they extend from cmdb_ci_service?
Try using operational_status field from cmdb_ci (parent table) and add rules on activity of a component.
hope above helps
Thanks
Sashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-26-2016 09:35 AM
Hi Sonal
Thanks for information. Yes, you are right, it could have sub to extend main component and have a multi level inheritance rather multiple inheritance. In this case main component do not have a control or direct relationship from subcomponent.
Anyway, thats a design issue for a right relationship model.
In this you would still use operational_status flag to retire your sub component. I'm presuming Service is referring Sub component from its Service Form or relationship model. If a sub component is referenced from for reference field then add a filter to exclude inactive components. if from a related list, make sure you have filter conditions added to exclude inactive components.
These are the points you would check with your business:
1. Can the subcomponent which is inactive to be disabled at form fields not allowing anyone to change it? Only Admin to have access
2. Can an Inactive component could be auto filtered when accessed from left nav? from a list view? Display only active components
3. We never delete inactive component for its historical reasons, so what is expected in the relationship model? Should it be displayed on BSM map?
If a subcomponent to be displayed but disabled for Edit then we can manage them by ACL and a UI policy. User could still see it but cant modify anything
Admin can override behavior for maintenance reasons
Add a Query Business Rule to exclude inactive Sub Components from active list, that way except Admin no-one could see it from reference fields, or related lists or list views.
hope above helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-26-2016 10:02 AM
Thanks.. so basically I think I need to add a reference qualifier on the field where staff are supposed to select the sub-service component.
Once a sub-service component is selected it auto fills the parent (Service Component) & the parent.parent (Business Service).
I am trying to Personalise dictionary on Sub-service component (see above) - so that I can add a reference qualifier to filter out the retired sub-service components.
This is what I wanted to do -
but I cannot because the field already has an Advance qualifier used on this field to may be enable the cascade update functionality as described above.
So - what's the best way of adding the filter? Please can you help me with this bit
if you are wondering what that script is doing it is a business rule on Global table:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-26-2016 11:03 AM
just add another if condition on the top of if (strComp != '')
encapsulate all if conditions underneath like...
if (current.operational_status != 'Retired') { //filter all CIs whose operational status is not retired. That way it only gets CIs whose OS is not Retired
// your code goes here.
}
check if above works