Share This:

ContractLine configuration items hold key information and bridge Tenant’s contract with ServiceOffering, ServiceOfferingInstance, Option/OptionChoices and Price.

 

As a mandatory configuration item, missing Contractline records in the golden dataset (BMC.ASSET) can impact chargeback reports and Transactional Requestable Offering/Post Deploy Action.


Reconciliation, DSO and environment specific issues can be the major reasons of these missing relationships.


In this post, I will share steps to fix missing ContractLine relationships for ServiceOfferingInstance, ServiceOffering and Option/OptionChoices.


In my previous post on Insights of Contract and ContractLine, I covered various configuration items. Missing one of them will not display ServiceOffering name and Service Requests in details pane on Service Instances-Services tab.

 

16.png

 

Creating a missing relationship between ServiceOfferingInstance and BusinessService:


Open BMC_ServiceOfferingInstance form at Cloud AR/DB and check if BMC_BusinessServices and BMC_ContractLine relationships are missing. Copy the Instance Id of the ServiceOfferingInstance to create this missing relationships


17.png


Click “View Relationships” and from "Manage Relationships" window, click on "Namespace" drop down menu and select "BMC.CORE" and "BMC_Dependency" from "Relationship Class” and click on “create” button.


A new window will pop up. Update the Name field value to "SERVICEDELIVEREDBY" and select "BMC.ASSET" as a DatasetId.


In the "Select Destination" section, input the respective "Service Catalog" InstanceId for "Destination.InstanceId" field.


To know the Service Catalog Instance Id, open the "BMC_BusinessService" form and copy the "InstanceId" of a respective ServiceCatalog which was used to provision a VM (virtual machine)

 

18.png

 

Once configured, click on Save button. This will create a relationship between ServiceOfferingInstance and BusinessService.


Here is the list of possible relationships with BMC_Contractline configuration item:

 

19.png

 

Open "BMC_ContractLine" form and switch to "Custom 2" tab. Search the Contract Line by respective "Service RequestId". In case you do not know ServiceRequestId then switch to "Specifications" tab and search the contract line by "StartDate" of a SOI (service offering instance).

 

StartDate is the "ProvisionedDate" of a SOI which can be collected from details pane in Service Instances-Services tab on Cloud Portal.

 

Following steps will help you identify the ServiceRequest number if you do not know “ProvisionedDate” either.

Open ServiceRequests (SRM:Request) form at Enterprise AR in case there are two AR Server and switch to “Details1” tab.

 

Search a record with “hostname” prefix of a provisioned virtual machine using “SR Type Field 11” field

 

20.png

 

21.png

 

Use “ServiceRequest” ID to search the BMC_ContractLine record or manually create an entry for ContractLine in BMC_ContractLine form with below values


  • ContractLineType = ServiceOfferingLine
  • ContractLifeCycle = Active
  • StartDate = <currentDate or provisioned date if it’s known>
  • EndDate  = Proposed Decommission Date
  • ReconciliationIdentity = <Unique ID>
  • OwnerName/Submitter = User name
  • DatasetID = BMC.ASSET

 

Once you identify the BMC_ContractLine record, click "View Relationships" and in the same "Manage Relationships" window access the “Namespace" drop down menu and select "BMC.CORE" and "BMC_Component" from "Relationship Class".


Click on "Create" button. A new window will pop up. Replace Name field value to "CONTRACTLINECOVERSOFFERINGINSTANCE" and select "BMC.ASSET" as a DatasetId. In the "Select Destination" section, input respective "SERVICEOFFERINGINSTANCE" InstanceId.


To know the "ServiceOfferingInstance" id. Refer to point#3 to copy the ServiceOfferingInstance id.

Click on Save after the above configuration. This will create a relationship between ServiceOfferingInstance and ContractLine which covers ServiceOffering.


Follow the below steps to create or fix the OptionChoice and their prices records if they are missing from details pane on Service Instances-Services tab

 

22.png

 

Get the list of all prices (BMC_Price) associated with the optionChoice (option ID) and create new record for each if it’s not already created.


Create an entry for ContractLine in BMC_ContractLine form with below values or search the records using ‘SelectedOptionLine” as ContractLineType


  • ContractLineType = SelectedOptionLine
  • ContractLifeCycle = Active
  • StartDate = currentDate
  • EndDate  = Proposed Decommission Date
  • ReconciliationIdentity = <Unique ID>
  • OwnerName/Submitter = User name
  • DatasetID = BMC.ASSET
  • ServcieRequestId = <identified earlier from Service Requests form>

 

Create relation of option ContractLine to optionChoice, ServiceOffering ContractLine and all the Price objects created or identified earlier if records are missing.


Here are the details on the relationship to be created for various configuration items:


Relation between ServiceOffering ContractLine and Contract


  • Form : BMC_ContractComponent
  • Relationship Instance Name : CONTRACTLINEINCONTRACT
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC.CORE:BMC_CONTRACT
  • Destination.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Source Cloud Class: contract
  • Destination Cloud class : serviceofferingcontractline
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

Relation between ServiceOffering ContractLine and ServiceOffering


  • Form : BMC_Component
  • Relationship Instance Name : SOCONTRACTSASSOLINE
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC_SERVICEOFFERING
  • Destination.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Source Cloud Class: serviceoffering
  • Destination Cloud class : serviceofferingcontractline
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

Relation between ServiceOffering ContractLine and Price


  • Form : BMC_Component
  • Relationship Instance Name : CONTRACTLINEPRICE
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Destination.ClassID= BMC_PRICE
  • Source Cloud Class: serviceofferingcontractline
  • Destination Cloud class : price
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

Relation between SelectedOption ContractLine and OptionChoice


  • Form : BMC_Component
  • Relationship Instance Name : OPTIONLINERECORDSOPTIONCHOICE
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC_OPTIONCHOICE
  • Destination.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Source Cloud Class: optionchoice
  • Destination Cloud class : selectedoptioncontractline
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

Relation between SelectedOption ContractLine and ServiceOffering ContractLine


  • Form : BMC_Component
  • Relationship Instance Name : OPTIONLINEPARTOFSOLINE
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Destination.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Source Cloud Class: serviceofferingcontractline
  • Destination Cloud class : selectedoptioncontractline
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

Relation between SelectedOption ContractLine and Price

 

  • Form : BMC_Component
  • Relationship Instance Name : CONTRACTLINEPRICE
  • DatasetID = BMC.ASSET
  • Source.ClassID= BMC.CORE:BMC_CONTRACTLINE
  • Destination.ClassID= BMC_PRICE
  • Source Cloud Class: selectedoptioncontractline
  • Destination Cloud class : price
  • CMDBRowLevelSecurity =  <equal to the CMDBRowLevelSecurity value of endpoints>

 

I hope information is useful to understand and fix the missing relationships of Contract and ContractLine for ServiceOffering, ServiceOfferingInstnace and Option/OptionChoices in BMC Cloud Lifecycle Management.

 

The information will not only help you to understand the concept but will also help you to troubleshoot and resolve missing ContractLine relationship issues on your own.


The shared information is also useful to understand the processing that occurs with Contracts and Contractline to make the functionality work seamlessly for the user. Please rate this blog below to let me know if this was useful.

 

Other Reference


The Pulse: Insights of Contract and ContractLine


The Pulse: Contracts and Pricing Model in BMC Cloud Lifecycle Management


You can also join the Customer Support Community to learn about and provide feedback on ways Customer Support can enable your success.

Visit CLM Blogs. You can share the links with others if you find these useful.


Please rate this blog, regarding the usefulness of the shared information, by clicking below option.