Identify the root cause of a missing reference

If a missing reference report has detected any invalid records, you need to identify their root causes. Remember that the data in the source file should also exist in the target file, otherwise the data is an “orphan” or there is a non-relational link or erddef definition behind that “orphan” data.

Example 1 : The missing reference is caused by a pure orphan value.

This example demonstrates the steps to handle a missing reference, using the operator file and out-of-box data in the system.

Task 1: Generate a missing reference report.

  1. Make sure the background scheduler for data reference check is started. For details, see Start the refcheck.startup scheduler.
  2. Generate a missing reference report for the operator file. For details, see Run a data reference check against selected files.
  3. View the report results. For details, see View missing reference report results.

    In this example, only one invalid record is reported, as shown in the following figure.

    The Related Records section lists the invalid record (which is the Service Desk assignment group), as shown in the following figure.

    By following the steps above, you can generate a missing reference report for any files. This is only the first step of handling a missing reference report, and your final goal is to resolve each “orphan” value or non-relational link or erddef definition.

Task 2: Understand the report results.

  1. Verify that Jos.Hair does not exist in the operator file. To do this, follow these steps:

    1. Type operator in the command line, and press Enter.
    2. Type Jos.Hair in the Login Name field, and click Search.

    The search returns no results, which means that Jos.Hair does not exist in the operator file.

  2. Open several existing operator records to understand what their Login Name values look like.

    Note This step can help you find out if all values in a field should follow certain rules.

  3. In the command line, type link and press Enter. The Search Link Records form opens.
  4. Type assignment in the Name field, and click Search.

  5. Locate the row in which the Source Field Name is wdManagerName.

    This is the relevant relationship definition. You should check to see if this link relationship complies with the business logic or is designed as desired. If not, the inappropriate link definition is probably the root cause of the “orphan” data; in this situation, you need to take actions on the link definition. If yes (which is true in most scenarios), the “orphan” data is then a pure “orphan” (that is, a real missing reference).

  6. Find the record in the assignment table whose Manager Name is Jos.Hair.

    The Manager Name field is the wdManagerName field in the assignment table, which is mapped to the name field in the operator file.

  7. According to the business logic, manager “Jos.Hair” should not have appeared in the assignment group record, because an assignment group manager should also be an operator in Service Manager. Furthermore, if you remove “Jos.Hair” from the Manager Name field and then click the Fill button, a list of operators is displayed. However, your previous search has already shown that “Jos.Hair” does not exist in the operator file. Therefore, it is true that “Jos.Hair” is an orphan value.

    In summary, the root cause of this orphan value is that the assignment group record defines a manager name that cannot be found in the system.

Example 2. The missing reference is caused by an inappropriate link definition

The following describes an example of an inappropriate link definition.

  1. Navigate to System Administration > Tailoring > Tailoring Tools > Relationship Manager, locate the following relationship record by performing a search.

    SOURCE_FILE SOURCE_FIELD TARGET_FILE TARGET_FIELD RELATION_TYPE DEFINITION_TYPE
    contacts location.full.name company company Many to Many link
  2. In the relationship record, click Goto Definition to open the link definition, and locate the row that has a Source Field Name of location.full.name and a Target Field Name of company.

  3. Type contacts in the Service Manager command line, press Enter, and then open a contact record by performing a search.

    The location.full.name field in the contacts table has a label of Location Structure in contact records (the Address tab). As shown in the following figure, this field should be a combination of company and location according to the out-of-box business logic (for example, advantage/North America).

  4. Open the company table in Database Manager, and locate a company record by performing a search.

    The company field in the company table has a label of Company Code in company records. The following figure shows an example value.

    It is obvious that the link file defines a pair of source and target fields that have different value structures and therefore should not be mapped to each other. So this is an inappropriate link definition.

    Note Because of a limitation (see the Limitations section in Missing Reference Report utility), the Missing Reference Report utility does not report invalid records caused by this link definition when running a date reference check against the contacts table.

Steps to analyze a missing reference record

Normally, you can use the following process (which is similar to the example process described above) to analyze a missing reference record:

  1. Search in the target file to make sure the orphan value cannot be found in the target file, and examine the data in the target file to see what a correct value should look like.
  2. Go to the link or erddef record to locate the relevant relationship definition.
  3. Identify the problem:

    • Find the invalid "orphan" value in the source file.
    • Find the non-relational definition in the link or erddef file.
  4. Analyze the problem based on the business logic.
  5. Find out the root cause of the problem.
  6. Perform the following tasks based on the root cause identified:

    • If the invalid record does contain a missing reference, correct the wrong information and then click Save. Alternatively, you can leave it as is if it is only historic data or you can click Delete to delete the record if you no longer need to keep it.
    • If the invalid record was caused by an inappropriate link or erddef definition, update the link or erddef definition.
    • Mark the corresponding relationship record so that it is skipped for future data reference checking. To do so, on the report details page of this relationship, click More or the More Actions menu and then select Skip Data Reference Check (see the following figure). If you open this relationship record from Relationship Manager, you will see the Enable Data Reference Check flag in the relationship is now turned off.

Related topics

Start the refcheck.startup scheduler

Run a data reference check against selected files

View missing reference report results