Synchronizing people information for BMC Helix ITSM
You synchronize people information to ensure that the BMC Helix ITSM: Asset Management uses the data in the BMC Helix CMDB to connect software contracts and software CIs. It also ensures that the Software License Management (SWLM) component calculates whether a given instance of the software is in compliance with the applicable license agreement.
The People Synchronization utility synchronizes the following BMC Helix ITSM data with the corresponding BMC Helix CMDB table:
BMC Helix ITSM data | BMC Helix CMDB table |
---|---|
CTM:People | BMC.CORE:BMC_Person Class Atrium |
AST:AssetPeople (record associations or any existing CI relationships) | BMC.CORE:BMC_Dependency Class Atrium |
This section describes the end-to-end process of people synchronization and technical information of people synchronization.
To run the Initiate People synchronization
You run the People Synchronization utility from the Application Administration console.
- Log in as an administrator to the server that is running the BMC Helix ITSM applications.
- Select Application Administration Console > Custom Configuration > Foundation > People > People Sync Console and then click Open.
On the console, click Refresh Counts.
The following console fields are updated:Field
Description
# of Unreconciled People
Number of CTM:People records in the system that have not been reconciled. On these records, the Reconciliation Identity field equals 0.
# of Production Persons
Number of BMC_Person Class records that have been reconciled to the BMC.ASSET production data set. If this field contains a value, it indicates either that an earlier upgrade has previously reconciled records, or that new records were created after the upgrade and reconciled automatically by the system.
# of Sandbox Persons
Number of BMC_Person Class records that currently exist within the BMC.ASSET.SANDBOX dataset.
# of Bulk Sandbox Persons
Number of BMC_Person Class records that currently exist within the BMC.ASSET.SANDBOX.BULK dataset.
# of Asset People Records
Number of AST:AssetPeople records that refer to an association between a People record and an associated CI where the Person Role is equal to Used by.
# of Dependency Records
Number of BMC_Dependency Class records that were created by the synchronization of an association made by the AST:AssetPeople form where the Person Role is equal to Used by.
# of Sandbox CI's
Total number of records that currently exist within the BMC.ASSET.SANDBOX dataset. Any CI can use the Sandbox dataset for reconciliation. When you initiate the synchronization and run the Sandbox job, all records in the sandbox are processed by that job. This field indicates approximately how many records will be processed for the given run.
# of Production CI's
Total number of records in the BMC.ASSET dataset.
- Click Initiate People Sync.
The Initiate People Sync process starts. This process identifies which records need to be synchronized by updating the SetForEscReconcilitation flag to Yes on all People records that have the Reconciliation Identity flag set to 0.
Leave the People Sync console open. You will refer to it while performing the next procedure.
To run the CTMPPLSyncInitiated escalation
Enable this escalation from Developer Studio, which causes this escalation to run at the end of the interval time.
- Log in as an administrator to Developer Studio.
- Open the CTM:PPL:SyncInitiated escalation, which will be escalation is disabled when you open it.
- Change the value in the State field to Enabled.
- Ensure the value in the Run By field is Interval.
- Change the Days value and the Hours value to 0, and the Minutes value to 2.
The escalation runs within two minutes of you saving the changes. - Save the changes and wait for the system to start the escalation.
- To verify whether the escalation has started, click Refresh Counts on the People Sync console.
When the escalation is running, the record count in the # of Sandbox Persons field increases. When the value in the # of Sandbox Persons field is no longer increasing, the escalation job is finished. - When the escalation finishes, change the value in the State field to Disabled and save the change.
To run the sandbox reconciliation
You run the sandbox reconciliation after you run the CTM:PPL:SyncInitiated escalation.
- On the People Sync console, click Initiate Sandbox Job Run.
The BMC Helix ITSM - Sand Box Reconciliation job starts. This job processes the sandbox records and promotes them to the production dataset. - Click Refresh Counts to ensure the # of Sandbox Records field is cleared and set to 0.
- Check that the # of Unreconciled People field is reset to 0 and that the value in the # of Production Persons field equals its previous value (that is, its value prior to initiating People Sync) plus the number of unreconciled people.
If the # of Unreconciled People field has a value greater than 0 after the synchronization finishes, a processing error occurred on the individual CTM:People Record. - If the # of Unreconciled People field has a value greater than 0 after the synchronization finishes, click Refresh on the CTM:People Records that have not been reconciled table field.
You must examine these records individually to determine why they were not synchronized. In most cases, the People data on the associated record contains at least one data element that violates an existing rule for People or BMC_Person creation. For more information about troubleshooting, see Troubleshooting-unreconciled-records.
To run the Initiate CI synchronization
This process synchronizes existing CI AST:AssetPeople Used by relationships with the corresponding BMC_Dependency Class table. Perform this procedure after you run the sandbox reconciliation. For this process to be completed successfully, all CTM:People that have a "Used by" association with an existing CI need to be properly reconciled. If a People record containing a Used by association is not reconciled, the associated CI Sync fails for that association record.
- On the People Sync console, click Initiate CI Sync.
The synchronization job starts. - Leave the People Sync console open.
You refer to it while performing the next procedure.
To enable the AssetPeopleSyncInitiated escalation
You enable this escalation from Developer Studio. The escalation runs automatically at the end of the stated interval time, which you can configure. Enable this escalation after the Initiate CI synchronization finishes.
- Log into Developer Studio using an ID with Administrator User privileges.
- Open the ASI:AEO:AssetPeopleSyncInitiated escalation. It is disabled when you open it.
- Change the value in the State field to Enabled.
- Ensure the value in the Run By field is Interval.
- Change the values in the Days field and the Hours field to 0, and the value in the Minutes field to 2.
The escalation runs within two minutes of you saving the changes. - Wait for the system to start the escalation.
To verify whether the escalation has started, click Refresh Counts on the People Sync console. The value in the # of Dependency Records field increases to match the value in the # of Asset People Records field. The numbers, however, can be different if you are running a BMC Atrium CMDB application or integration that creates BMC_Person. - When the escalation finishes, change the value in the State field to Disabled and save the change.
The escalation is finished when the value in the # of Dependency Records field stops changing.
To run the sandbox job run synchronization
You run this job from the People Sync console. Perform this procedure after you run the AssetPeopleSyncInitiated escalation.
On the People Sync console, click Initiate Sandbox Job Run.
The BMC Asset Management - Sand Box Reconciliation job starts. This job processes the sandbox records and promotes them to the production dataset.
To verify the synchronization
Verify the synchronization process finished with no errors by comparing it against the People records.
- After the Sandbox Job Run finishes, click Refresh Counts.
If the value in the Unreconciled People Records field is 0, the reconciliation was completed against all of the records. If the value is greater than 0, continue with this procedure. - Click Refresh (above the CTM:People Records that have not been reconciled table).
The table refreshes with a list of the People records that were not reconciled. - If any records were not reconciled, see Troubleshooting-unreconciled-records.
Technical information for people synchronization
The People Synchronization utility uses the following datasets.
Dataset | Description |
---|---|
BMC.Asset | The production dataset. All BMC_Person records created are eventually reconciled to the production dataset. |
BMC.Asset.Sandbox | The dataset used to reconcile updates to CTM:People that were manually generated by using a mid-tier client. For this dataset, you can call the reconciliation job for the sandbox either from inline or by using reconciliation schedules. |
BMC.Asset.Sandbox.Bulk | The dataset used to reconcile updates to CTM:People that were generated by using any client other than the mid-tier client. BMC_Person records updated this way are considered bulk updates and are processed by using the bulk sandbox. Any Modify All operation against CTM:People is also considered a bulk operation and uses this dataset to create BMC_Person records. In this case, the reconciliation job for the bulk sandbox uses a reconciliation schedule. It does not make inline calls to the bulk sandbox. |
Mapping the CTMPeople form to the BMC.Core.BMC_Person class
BMC_PERSON FIELD | LENGTH | CTM_PEOPLE FIELD | LENGTH |
---|---|---|---|
TokenId | 254 | NULL | N/A |
Name (See Rules for field | 254 | Login ID | 15 |
NameFormat | 80 | UserName | HARDCODE(8) |
FirstName | 254 | First Name | 30 |
LastName | 254 | LastName | 30 |
254 | Internet E-mail | 255 | |
PersonDepartment | 254 | Department | 60 |
ShortDescription | 254 | Login ID | 15 |
CDIntegrationID Person ID |
| Person ID | 15 |
Fax | 64 | Phone Number Fax | 50 |
MiddleName | 254 | Middle Initial | 30 |
MobilePhone | 254 | Phone Number Mobile | 50 |
OfficePhone | 254 | Phone Number Business | 50 |
PagerPhoneNumber | 254 | Phone Number Pager | 50 |
PersonID | 255 | Person ID | 15 |
PersonRegion | 254 | Region | 60 |
ITSM_Organization | 254 | Organization | 60 |
Company | 254 | Company | 254 |
Region | 254 | Region | 60 |
ReconciliationIdentity | 254 | ReconciliationIdentity | 38 |
MarkAsDeleted (No/Yes) | 254 | Profile Status (Delete/Active) | HARDCODE |
DatasetID | 254 | Z1D_BMC_Person_Dataset_ID | 0 |
NameFormat | 254 | HARDCODED UserName | HARDCODE |
Site | 254 | Site | 60 |
AssetID | 254 | Corporate ID | 30 |
SiteGroup | 254 | Site Group | 60 |
CMDBRowLevelSecurity | 254 | Assignee Groups | 255 |
ShortDescription (See Rules for field value creation) | 254 | Login ID | 15 |
Rules for moving CTMPeople records to BMC_Person class
Refer to this information for rules that govern when the system moves a CTM:People record to the BMC_Person class and the rules used in the creation of the BMC_Person record.
Create
When a new CTM:People record is created, an associated BMC_Person record is also created.
Delete
When the system deletes a CTM:People record, an associated record is generated within the BMC_Person class that must be reconciled with the corresponding production dataset record. Upon reconciliation, the Mark As Deleted field on the production dataset entry of the corresponding record shows Yes.
Modify
When you modify an existing CTM:People record, the system performs a validation check to assess whether any of the fields represented within the BMC_Person class from CTM:People are modified. If no fields are modified, the system takes no action. If any of the associated field values is modified, the system generates a new BMC_Person record.
The following core fields are used to determine a legitimate Modify action by the system, which performs an associated update or synchronization to the BMC_Person class:
Company | Middle Initial | Region | Site Group |
Person ID | First Name | Phone Number Mobile | Corporate ID |
Internet E-mail | Last Name | Phone Number Business | Organization |
Department | Site | Profile Status | Login ID |
Configuration settings for People Synchronization and sandbox
The Reconciliation Engine runs according to existing configuration settings within the system. The Asset Management Advanced Setting form displays the production, sandbox, and People Synchronization dataset information and settings. Access the Asset Management Advanced Setting form from Custom Configuration > Asset Management > Advanced Options > Asset Management Settings. Note the following important settings:
- Dataset Name- Production dataset that contains the live, or golden data.
- Sandbox Dataset Name- Name used with the sandbox, or a dataset used within the reconciliation process.
- Sandbox Job Calls for People- Sandbox dataset reconciliation method, as described in the following points:
- Inline- When you perform a manual creation or modification to a CTM:People record and the client tool you use is either the Windows User Tool or a mid-tier client, the system immediately makes a call to perform a reconciliation. Prior to making a new in-line call to the sandbox, the system performs a pre-check to ensure that an existing job run is not already in progress, which avoids running a new job.
- Schedule- The system uses a schedule to process any records within a given dataset at the times defined by the schedule. The default scheduled times for the BMC.ASSET.SANDBOX and the BMC.ASSET.SANDBOX.BULK datasets are daily at 12:00 A.M. The system administrator can alter the schedule for any dataset to accommodate specific needs. For example, an hourly synchronization
is performed from an Active Directory (LDAP or third-party source) to CTM:People. The system administrator may choose to set up an hourly schedule to run a reconciliation job at 20 minutes past the hour daily. - System Default- This method makes use of the client tool, the operations being performed, and the Asset Management Settings to automatically select the dataset to use to create a BMC_Person record. The system default also allows for future growth, in case special keywords are introduced to handle specific types of requests.