Skip Headers

Agile Product Lifecycle Management Product Governance and Compliance User Guide Release 9.3.3 E39296-01 |
| Contents

Previous | Next |

# 11 Overview to Compliance Validation

When compliance data has been gathered for items, manufacturer parts, and part groups, the compliance manager reviews the completed declarations; he needs a way to determine if they are ready for publication into the product record. And, after declarations are published, with their data written through to parts and part groups on BOMs, compliance managers need to examine and test BOMs to ensure that the assemblies and products are compliant.

This general process is called compliance validation, and the mechanics of compliance validation are fulfilled through compliance rollups. Rollups are built into the system, and they are a powerful feature of the PG&C solution. We refer to these built in rollups as "Internal Rollups," and this chapter details their use.

Rollups are easy to execute and rollup results are seen in the user interface; understanding rollups and interpreting rollup results is the subject of this chapter. The business logic of rollups that is programmed "under the hood" is extensive; details of the logic and some use cases are found in Appendix C, "System Logic of Internal Compliance Rollups."

Current rollup information is always available from the BOM Compliance report. For more information about setting up this report, see BOM Compliance Report.

Note: As part of REACH compliance, external rollups now occur via the external rollup engine. The external rollup engine is a PL/SQL script shipped with Agile schema; customer can follow the data schema and modify this with their own rollup logic. The next chapter provides details on external rollups. Specific logic involved with external rollups can be found in Appendix D "External Compliance Rollups Reference". External compositions will not be involved in internal rollup. Additional differences between the rolllups are noted in this and other chapters in this guide.

Note: External rollup information is available on the External Rollups Report.

## 11.1 Defining Approach to Compliance Management

Compliance rollups can be managed by logic built into the Agile PG&C application; we use the shorthand "internal engine" for this approach to compliance management. The internal engine determines compliance at the lowest level within the top level object (part or top level assembly) such that it compares the amount of a substance within each sub-object (part or subpart) against the weight/mass of that sub-object. The rollup is then the worst case scenario of the compliance statuses of the individual sub-objects.

Examples:

- Compliance status of subparts rolls up to set compliance of a part.

- Compliance status of parts rolls up to set compliance of top level assembly.

Alternatively, compliance rollups can be managed by customer-originating systems; we use the shorthand "external engine" for this approach to compliance management. The external engine determines compliance for the top level object (part or top level assembly) such that it rolls up the amount of a substance from all of the sub-objects in the top level object and compares it to the weight/mass of that entire top level object.

Examples:

- Compliance status of a part is the total weight/mass of a substance in all the subparts compared to the weight/mass of the part.

- Compliance status of a top level assembly is the total weight/mass of a substance in all the BOM parts compared to the weight/mass of the top level assembly.

## 11.2 Use Cases

The term "compliance rollup" can be used in a general sense to refer to compliance validation, but Agile PG&C offers several specific rollups named by their use cases: the BOS or Composition rollup, the BOM or Compliance rollup, and the Substances and Weights rollup:

- BOS or Composition rollup - Produces the compliance of a composition against a given specification on a declaration. BOS rollups occur automatically when the declaration workflow's status changes, except when moving from Pending to a non-Released status. Also, when a composition is imported into an item or manufacturer part, a rollup is triggered. BOS rollups are discussed in Bill Of Substances (Composition) Rollup on and further detailed in Internal Logic of BOS/Composition Rollups.

- BOM or Compliance rollup - Produces the compliance of a part or part group or assembly against a given specification. BOM rollups can be enacted at any time via manual rollups; the information is also refreshed throughout the system via scheduled rollups set by the administrator. (Settings in Administrator also govern the overall strictness of BOM rollups.)

BOM rollups are discussed in Bill Of Materials (Compliance) Rollup and further detailed in Internal Logic of BOM/Compliance Rollups.

- Substances and Weights rollup - Offers a special focus of "worst-case" compilation of weights of all substances in a top-level assembly for a given specification.

While the BOS and BOM rollups take place "within" the Agile system, the Substances and Weights rollup is activated by the Rollup in Excel process extension. This Action takes the user to a template in the Microsoft Excel-based Client, which must be set up by the administrator in order to access. (If you do not see Rollup in Excel in the Action menu, see your administrator.)

Substances and Weights rollups are discussed in Substances and Weights Rollups using Excel Integration and further detailed in Internal Logic of Substances and Weights Rollups.

## 11.3 Declaration Classes in Rollups

Let us review the Declarations classes from the point of view of compliance rollups. Remember that a rollup is possible only when a specification is associated in a declaration; compliance states are always calculated in the context of a specification; so we say "rollups are by spec."

Declaration class | Kind of specification | Kind of substance held | Kind of composition produced by declaration
--- | --- | --- | ---
Part Declarations | Any | N/A | Part composition
Substance Declarations JGPSSI Declarations IPC 1752-1 Declarations* | Part-level specifications | Substance groups and substances | Substance composition
Homogeneous Material Declarations IPC 1752-2 Declarations | Homogeneous-material-level specifications | Subparts, materials, substance groups, and substances | Homogeneous material composition
Supplier Declarations of Conformance | Because SDOCs do not hold parts or substances, no rollups are necessary.

* You can now select 1752A as a type of IPC-1752-1 class when you create a new declaration. 1752A represents IPC version 2.0, delivering REACH compliance.

## 11.4 When and Why Rollups are Run

Rollups may be able to be started automatically or manually. Automatic rollups (internal and external) are scheduled by settings by the administrator, apply to all parts and part groups that qualify (see next section), and they are triggered to start per the information in the scheduler. Manual rollups are started by a user within a single declaration or part.

Use case | How rollup is started | Comments
--- | --- | ---
BOM/Compliance rollups | Automatically | Per the schedule set by the administrator.
Manually | In parts and part groups on the Compliance tab, Calculate Compliance button is enabled when compliance data is present (assuming the corresponding Specifications table is not empty).
BOS/Composition rollups | Automatically | Within declarations whenever the declaration changes status (except from Pending to non-Released status). Also, at the end of importing compositions into items or manufacturer parts, system starts the rollup.
Manually | Declaration's Actions menu includes Calculate Compliance.
Substances and Weights rollups | Manually | Part's Actions menu includes Rollup in Excel. The rollup is fulfilled by the Agile > Run Scenario command in the integrated Excel spreadsheet. Note that Rollup in Excel may appear in the menu but the system goes to Excel only when compliance data is present in the part.

Scheduled rollups (internal and external) are important because of the possibility of changes to compliance objects by other actions and events across the product record.

For example, the system does not flag an assembly with the Need Rollup flag every time there is a Product Collaboration-related changes (such as adding a new item or manufacturer part to the BOM, removing an item or manufacturer part from the BOM, and so forth): this is really not feasible as that would force the system - every time the slightest change took place in the product record - to find all TLAs and set Need Rollup to Yes, even if the change was not compliance-related.

It is far more efficient to have the Scheduled Rollups regularly refreshing compliance states on assemblies that are marked (as Shippable Items) to account for pertinent, compliance-specific changes to the products. In summary, regardless of any changes to parts and assemblies, the system goes ahead and calculates compliance based on administrator-set Compliance Rollup Scheduling rules.

## 11.5 Parts Qualifying for Scheduled Compliance Rollups

For scheduled rollups, there are several factors that "qualify" parts and part groups to be rolled up, that is, examined by the system for compliance. This can be thought of as occurring in two stages:

### 11.5.1 Stage 1 - Perform Compliance Rollup on Shippable Items:

1. All parts with Shippable Item flag set to Yes - this includes top-level assemblies (TLA), subassemblies, and leaf items (the last part of a branch in the BOM). Although we recommend setting the TLA for the assemblies, it is possible to set it at the level of subassemblies or leaf items. The rollup is performed on the Latest Released revision and all Pending revs of the shippable items. If it is a TLA, the system performs the rollup for the entire BOM for the specifications in the TLA; if it is a subassembly, the system performs the rollup for the entire BOM for the specifications in the subassembly.

   Note: The specification(s) on any Shippable Item is propagated (added) to all parts that belong to the Shippable Item, if the specs are not already associated with those parts. (This applies to manual rollups: when Calculate Compliance button is clicked on a part or assembly, the system propagates the specs on that part or assembly to all parts/mfr.parts that belong to that assembly, if they are not there already.)

2. All Pending revisions of all Shippable Items. Note that the system does not perform rollups on previously released revisions of Shippable Items.

### 11.5.2 Stage 2 - Perform Compliance Rollup on Parts/PGs that are Flagged

1. Regardless of the setting of Shippable Item or the status of a revision, the system looks for all "flagged" parts/part groups, that is, those parts/part groups (with associated specifications) whose Need Compliance Check attribute has changed from No to Yes (on <part/PG> Compliance tab Specifications table). When Need Compliance Check field changes to Yes, the system is indicating that it is advisable to perform a rollup on that part.

   Note: On items (Specifications table), the Need Compliance Check attribute is not visible.

Several events cause Need Compliance Check to switch from No (meaning nothing has changed since the part was rolled up, it is still "up to date") to Yes (meaning something changed and the part is no longer "up to date"):

- A new specification is added to an item, manufacturer part, or part group

- A specification's declared compliance is changed on an item, manufacturer part, or part group

- A declaration/composition is released for an item or manufacturer part

- A declaration/composition is released for a part group that is associated with items or manufacturer parts

- A composition is manually imported to a manufacturer part

- A composition is archived (from an item, manufacturer part, or part group)

- An item or manufacturer part is associated to a part group that has a new specification (that is, not already on the item or manufacturer part).

## 11.6 Expected Time Required to Complete Systemwide Rollup

How long the systemwide (automatic) rollup task takes depends on the number PLM objects described by "Stage 1" and "Stage 2" above. If the number of shippable items is relatively stable from day to day (or other chosen period), the time required by the system to perform Stage 1 will be the same. A large volume of parts, say, numbering in the tens-of-thousands, leads to a greater volume of shippable items, causing Stage 1 to consistently run "long."

For a company's first run of the rollup task, Stage 2 might be expected to encounter many flagged parts in the system; for a large number of parts, Stage 2 might take a significant amount of time. On the other hand, from the second run going forward, many of those parts are now "cleaned up" - the factors listed above will not change from day to day for the bulk of parts - and do not require processing time in the system. With fewer changed parts in the system, Stage 2 will likely run faster each time. This may or may not make a noticeable difference in time, again depending on the overall volume of compliance-specific objects in the system.

Note: There are many events that change the database information about parts and manufacturer parts (that is, through the work in other Agile solutions such as Product Collaboration) that may impact the compliance result of the part, even though these events are not PG&C-specific (and do not change the Need Compliance Check flag). A partial list of such events include:

- Adding a part or manufacturer part to OR removing it from an item (manually or through an ECO/MCO)

- Adding an item to OR removing it from an assembly (manually or through an ECO)

- Creating a new revision of an item

- BOM resolution change-based on pending revisions.

## 11.7 When Rollup was Last Run

After any kind of rollup (that includes a part) is run, near the top of the part you will see a "stamp" that says, for instance, Compliance Last Calculated Today or Compliance Last Calculated Yesterday.

If you want to know the time of the part's most recent rollup, go to its Cover Page, see the Compliance Calculated Date attribute.

## 11.8 Tracking Compliance Changes through History

Previously there has not been an easy way to gather precisely when the compliance of a part was modified or changed (that is, the Date and Time). Now when Result Compliance of a part is changed by a scheduled rollup, or is changed by Calculate Compliance, a new entry is added to the History of that part.

For a part or part group, the system tracks the compliance change per each specification that is assigned to the part (not just for the Overall Compliance, which is for all specifications on that part).

The tracked data is found in the Details column on a part's History tab.

## 11.9 Compliance States

There are six default compliance states on parts and part groups. Compliance rollups use compliance states of compositions stored on parts/part groups to calculate the compliance state of larger assemblies.

Note: The administrator can change the names of compliance states to fit the requirements of your company. However, because compliance states do not change their essential meaning, the new names should be readily associated with the default names listed below. Compliance states cannot be added or removed.

Agile PG&C defaults to the reporting of "worst-case" scenarios.

### 11.9.1 Worst-Case Priority of Compliance States

The priority of the compliance states when the system is set to a "worst-case" bias is:

1. Non-Compliant - this state takes highest priority in the worst-case bias

2. Missing Info - the state of "missing information" takes the second highest priority

3. Waived - the third highest priority state informs that a "waiver is in place"

4. Exempt - this is the lowest of the four non-compliant states; however, Exempt may be set so it is considered compliant: see Treat Exempt as Compliant in BOM Rollup Rule

5. Compliant - this compliance state indicates that the part/PG is in compliance with the specification.

6. Not Applicable - this indicates that the part/PG does not need to be evaluated by the system for compliance, and will not adversely affect the compliance of the assembly. In worst-case scenarios, Not Applicable is the lowest-priority "compliance state".

Note: There is another "set" of compliance states in declarations, which your information supplier uses through change orders: they can declare Compliant or Non-compliant, or they can declare Exempt if exemptions are available, that is, if the specification has any listed exemptions.

### 11.9.2 How Compliance States are Ranked

The rule that governs the priorities of compliance states is this:

From any level in a BOS or BOM, the calculated compliance state of any higher level cannot be lower than the calculated compliance state of the current level.

So, if "level 7" of the BOM has a result compliance of Missing Info, none of the higher levels (top level of BOM, or level 1 through level 6) can be any worse than Missing Info; this makes sense, because level 7 has already taken all of the lower levels (level 8 through end of BOM) into account.

This means that if a part or assembly shows a Compliant state (5 in the list), you can conclude none of the part's subassemblies have any of the non-compliant states (1-4) blocking the part from being in compliance.

That is the strength of the worst-case bias, that although you are always seeing the "bad news" about the compliance state of a BOM or BOS, the more you drill down and resolve problems, and the lower levels achieve the Compliant state, the "good news" begins to move up the BOM/BOS until an entire assembly can demonstrate integrated compliance up and down the bill of materials or bill of substances.

#### 11.9.2.1 Treat Exempt as Compliant in BOM Rollup Rule

The administrator has an optional setting that permits BOM rollups to "overlook" the presence of Exempt states in arriving at the final compliance state of the top-level assembly in the Bill of Materials. Because Exempt is one of the 'non-compliant' compliance states, a part that is declared Exempt can render the entire assembly Exempt. By setting this rule to Yes, once a part is Exempt, the rule prevents "Exempt" from rolling all the way to the top of the assembly.

Of course, other parts in the assembly may have more serious non-compliance problems, so this setting does not bypass those states being rolled up.

Also note that the ability of the administrator to change the names of default compliance states makes it possible to change Compliant to, for example, "Compliant with possible Exemption."

With this background information, the rest of this chapter examines the three kinds of rollup in PG&C.

## 11.10 Composition Rollup on Bill Of Substances

The top level of a Bill of Substances is the composition, or aggregate of part+rev for a given supplier for a named specification. The terms "BOS rollup" and "composition rollup" refer to the same process. Compositions are gathered or collected by declarations, or by direct import into manufacturer parts.

### 11.10.1 Kinds of Composition

- Pending Composition - a composition on an unreleased declaration

- Active Composition - a composition on a released declaration, or that has been manually import to the part

- Inactive or Historical Composition - the old composition when it has been updated by a new declaration, or by a newly imported composition directly to the part.

### 11.10.2 BOS Hierarchy

Remember that the hierarchy of the Bill of Substances is:

- First or top level: Composition of a part or assembly

- Second level: Subpart (note that a subpart may have child subparts)

- Third level: Material (homogeneous material)

- Fourth level: Substance Group

- Fifth level: Substance

Most Bills Of Substances will be a subset of these levels, for example, you may simply have a part with a few regulated substances. The hierarchy is important for understanding how the system structures its BOS analyses.

### 11.10.3 Compliance Validation for BOS Tree

We speak of part-level validation and homogeneous material-level validation, based on the setting of Validation Type field on the General Info tab of the associated specification (see General Info Tab). These are the varieties of BOS rollups, from "lowest" to "highest":

- Substance to substance group

- Substance or substance group to material, subpart, or part

- Material to subpart or part

- Subpart to part

- At Part level

### 11.10.4 When Composition Rollups Occur

Validations within a declaration is the process of calculating compliance of the Bill of Substances within a composition and assigning a compliance state to the composition based on this analysis. This ensures that all contained data is kept up to date during the course of the RFI process.

Composition rollups can occur in these ways:

1. Within a declaration, a BOS rollup takes place automatically every time the declaration workflow advances one status, except from Pending to a non-Released status; so, change from Pending to Released, and all other advances from non-Pending status to another triggers the composition rollup.

2. In a declaration, when you manually click Actions > Calculate Compliance.

3. When you complete importing a composition to an item or manufacturer part, a BOS rollup is automatically triggered.

#### 11.10.4.1 Two-Step Sequence in Rollups

Rollups have a two-step sequence, depending on the presence of specifications in the declaration.

The first step is: when a declaration changes status, or at the end of direct import of compositions into an item or mfr. part, the system calculates the PPM for all substances regardless of whether any specification is present. Also, the Mass Disclosure type is identified. If the composition is identified as Partially Disclosed, the system adds the "Unreported (System)" substance wherever necessary in the BOS tree.

The second step is: if there is a specification in the composition, the system proceeds to the second part of the rollup, where it evaluates and updates the calculated compliance at each level. For more details about the logic that the system follows for different types of substances, see Internal Logic of BOS/Composition Rollups.

#### 11.10.4.2 How Disclosure Logic affects Rollups

In earlier releases of PG&C, even if the sum of the substances' masses added up to the part's mass, if any of substances-of-concern list in the specification were missing in the composition, the rollup would result in "Missing Info." Now, "disclosure logic" lets the system make these distinctions:

- On Substance Compositions, if the sum of the substances' masses add up to the part's mass (that is, it is Fully Disclosed), even if the substances in the specification are missing in the composition, those system considers those substances Compliant for that composition.

If the composition is Partially Disclosed, the system tries to assess compliance of all the missing substances against the Unreported substance, and the worst case is used for the rollup.

If there is an Unreported substance, the result can be either Compliant or Missing Info.

- On Homogeneous Material Compositions, the same logic is used to calculate the compliance of a parent of the substance (material or subpart) for Fully Disclosed compositions only.

As soon as the system identifies the composition as Partially Disclosed, it follows the established rules for rollup.

If there is an Unreported substance in the composition, the system tries to assess compliance of all the missing substances against the Unreported substance, and the worst case is used for the rollup.

Note that when an Unreported substance is present, the Declared Compliance, Calculated Compliance, or Result Compliance fields are not used. You can manually calculate the values and make sure that the system is doing the rollup against Unreported substance appropriately.

#### 11.10.4.3 Disclosure Logic Use Case

When you add an Unreported substance to the specification, if the Unreported substance exists in the spec, the system also calculates its compliance (similarly to regular substances in the spec). The Calculated Compliance of the Unreported substance is the worst case. This spec lists three substances:

Spec1:

-Sub01 500 PPM

-Sub02 2000 PPM

-Unreported (System) 1000 PPM

If the system adds an Unreported substance to the composition, with Sub01 and Sub02 already present, the system calculates the Unreported substance's compliance as if it were a regular substance.

However, if the system adds an Unreported substance to the composition, and one of the substances - Sub01 - in the specification is not present in the composition, the system compares the Calculated PPM of the Unreported substance with the Threshold PPM of Sub01, the missing substance, and its own Threshold PPM, and picks the worse case as the result.

In this example, if the Calculated PPM of the Unreported substance is less than or equal to 500 PPM, the Unreported substance is Compliant. If it is 900 PPM, comparing with the Threshold PPM of Sub01, it is Non-compliant; while comparing with its own Threshold PPM, the Unreported substance is Compliant; so, the Calculated Compliance of the Unreported substance is the worst case, Non-compliant.

#### 11.10.4.4 Substance Declarations and Need Rollup Flag

A known issue has been fixed: a BOS rollup on a Substance Declaration would not occur if changing status directly from Pending to Released. However, there is still an issue where the declaration changes status (which causes a rollup to be run automatically) but the Need Rollup flag seems to remain "Yes." What is really taking place is that, after the workflow changes status, the system is pre-populating the substances from the specs.

So, you will see this issue if all of the following are true:

- The declaration is a Substance Declaration;

- The declaration has one or more specifications;

- The status is changed from Pending to Released (or Implemented) directly.

The workaround is simply to roll up the declaration once more, manually.

## 11.11 Compliance Rollup on BOM/Items, Mfr.Parts, and Part Groups

Once the compliance at the composition level is known, the compliance within a part or manufacturer part on a BOM can be calculated. We know that a composition has a declared and a calculated compliance. With these settings, the compliance rollup can calculate the compliance within a part or part group. The terms "BOM rollup" and "compliance rollup" refer to the same process.

The cases to consider are subunits of the BOM rollup:

- Part-level Compliance validation: Composition level to its parent (part or part group).

This is governed by the setting in Administrator for "Composition Rollup" set to Strict (default) or Relaxed.

- AML Compliance validation: AML to IPN (manufacturer parts to parts).

This is governed by the setting in Administrator for "AML Rollup" set to Strict (default) or Relaxed.

- Item to Assembly-level validation

This is governed by the Administrator setting for Treat Exempt as Compliant.

### 11.11.1 Some Rollup Fields

Many fields used to interpret compliance rollups were defined in Tabs and Attributes in Parts and Part Groups In fact, the fields below were defined earlier, but are presented here as a reminder.

- Overall Compliance/Summary Compliance - indicates the compliance state of the part using the worst-case scenario and matched across all specifications associated with the part. This attribute is found on these objects:

Items > Title Block tab > Overall Compliance

Manufacturer Parts and Part Groups > General Info tab > Overall Compliance

On items, Overall Compliance is revision-controlled, that is, specific to the item's rev.

Note: The Overall Compliance attribute also reads through to the objects below, although in these cases it is named "Summary Compliance":

Items base class (Parts and Documents) > BOM tab and Manufacturers tab > Summary Compliance

Changes base class (ECOs, MCOs, etc.) > Affected Items tab > Summary Compliance

On items, Summary Compliance is always derived from the Latest Released Rev of the item; if there is no released rev, it is from the Introductory rev.

On parts and part groups, the Overall Compliance field is the worst-case compliance of all associated specifications. For example, if there are five specifications and four of them are compliant but one of them is not compliant on the part's Specifications table, then the overall compliance is Not Compliant.

- Shippable Item - On items only, when the Shippable Item field is Yes, a flag is set that the system recognizes that a top-level assembly is ready for market and will be included in any scheduled rollup. During scheduled rollups, the system first looks for Shippable Items, on the second round it looks for all parts/part groups with one or more specifications that the Need Compliance Check field is Yes.

- Exclude From Rollup - On the other hand, when the Exclude From Rollup field is Yes, it sets a flag that prevents the system from considering the compliance of the item (which it determines anyway) when determining the compliance of its parent. The default for the Documents class objects is Yes. The default for the Parts class objects is No, but of course it can be set to Yes for any part of an assembly whose compliance state does not concern you. Again, this attribute applies only to items, that is, parts and documents.

Note: Exclude From Rollup flag on item is supported by Compliance Rollup as well as Substances and Weights Rollup features.

### 11.11.2 BOM Rollup Evaluating Compliance States

For parts, part groups, or assemblies, the Composition Rollup rule and AML Rollup rule (set in Administrator) are generally set to Strict, which gives your BOM rollup results the 'worst-case' orientation. The setting of the rollup rule "Treat Exempt as Compliant" adds its influence to BOM rollup results. The effects of these rules are noted below.

If you detect your compliance rollups yielding unexpected (or undesired) results, see your administrator about the systemwide settings of the compliance rules.

Here is a general case with emphasis on the two 'strict/relaxed' rules: let there be an assembly that has multiple subassemblies. One subassembly has a compliance state of Exempt; another subassembly has a compliance state of Missing Info;, all the other subassemblies are in the Compliant state. Can you predict the resulting compliance state of the entire assembly?

If you refer to the list of compliance states, you see that the subassemblies that are Compliant will at some point contribute to the overall compliance of the assembly, but right now they are not going to "win" or influence anything. The Exempt subassembly is weighted, but the Missing Info subassembly is more weighted. So, the compliance state of the assembly is Missing Info. Remember that as soon as non-compliance is found in a lower level of a BOM, all levels above it carry the non-compliant state until the problem is removed.

Things could be altered if Treat Exempt as Compliant rule is set to Yes (its default is No); however, note that in this particular use case, the compliance state of the top-level assembly would still be Missing Info.

### 11.11.3 Part-Level Validation - Rollup from Compositions to Part/Part Group

The steps followed by the system for part-level validation are:

a. Find and re-use (where possible) qualified compositions based on the specification, and per supplier

b. Perform the rollup for each qualified composition

c. Combine rollup states of qualified compositions

These steps are covered in the sections below.

#### 11.11.3.1 Find Qualified Compositions for Use or Re-use

The PG&C business logic for compliance rollups has the "goal" of re-using compositions as much as possible. A composition is re-usable if the substances of the rollup specification (for the part to be rolled up) is a subset of the substances in the composition spec.

So, the first step of a part or part-group rollup (compliance check) is that the system seeks to find and qualify compositions for items, mfr. parts, or part groups (<Part/PG>).

As soon as the system finds a single composition with a specification (or the "All Spec" case, a composition with no specification) that fulfills one of the conditions (listed below), that composition/spec combination is used (rule 1) or re-used (rules 2, 3, 4) in the rollup of the <Part/PG>.

For the set of rules below, recall that Full Material Disclosure is defined in Mass Disclosure, and that All Spec is discussed in "All Spec" Use Case.

#### 11.11.3.2 Rules for Selecting Compositions for Rollup on Part/Part Group (Internal Specifications)

Below are the internal rules that the system follows to find a composition that can be used or re-used (where possible) in the rollup of a part/part group. This can also be thought of as "qualifying compositions" for use (rule 1) or re-use (rules 2, 3, 4).

Note: The name of each rule below is not used by the system logic, they are for user understanding. These are "internal rules" that operate within the system logic, but they are not "seen" in the user interface. The system makes its selection "per supplier."

When a rollup is done on an item, manufacturer part, or part group, for a given specification, the following sequence is followed for each supplier that provides an active composition:

1. Matching composition - The system first looks for matching spec composition, that is, a composition that has the same spec as the given specification.

   If a matching composition is not found:

2. Fully Disclosed composition (also called "FMD composition " for Full Material Disclosure) - The system next looks for a Fully Disclosed composition - if multiple FMD compositions are found, it uses the latest active composition per supplier, regardless of the spec on the composition.

   If a Fully Disclosed composition is not found:

3. "Super Spec" composition - The system looks for a composition that is on a specification containing every substance on the given specification (that is, the spec involved in the present rollup). The found specification can be called a "superset spec" (or "super-spec" for short) because it can contain more substances than the given spec; the requirement is that the found spec must contain all the substances on the given specification.

   If a superset specification composition is not found:

4. "All Spec" composition - The system looks for "All Spec" compositions (that is, without any specification attached) whose Composition Type matches the specification's Validation Level for that part or part group.

   For more information, see Validation Type in Conjunction with Composition Type and General Info Tab > Validation Type.

#### 11.11.3.3 Perform the Rollup for Each Qualified Composition

The next step in the sequence of part-level validation is the actual rollup of each qualified composition.

#### 11.11.3.4 Re-using Exemptions in Rollups

Here the goal of the internal logic is this: if the user has declared one or more exemptions for a part/substance in a composition, and another spec contains one of these exemptions, the exemption can be applied to the part/substance for that spec.

Previously the system could only re-use the value of the Declared Compliance field in the case of a matching composition (that is, the spec in the composition was exactly the same as the spec for which the rollup is performed). In other cases, such as Fully Disclosed or All-Spec compositions, the Declared Compliance value was ignored.

Now, for a non-matching composition, the value of the Declared field can and will be re-used if all of the following are true:

- Composition is qualified for rollup specification,

- the value is Exempt;

- there are values in the Exemptions list; and,

- one or more Declared exemptions exist in the rollup specification.

However, if the result of the calculated compliance is already Compliant, then this result is used, and there is no need to re-use the exemption.

#### 11.11.3.5 Combine Rollup States of Qualified Compositions

The final step of part-level validation takes into account the appropriate Composition Rollup rule in Administrator. For each part or part group, this rollup evaluates all qualified compositions for the part across all suppliers for the particular specification being rolled up at the time.

The resulting compliance state is stored in the Calculated Compliance field and Result Compliance field of the Specifications table of the part or part group for that specification.

The Specifications table also has a Declared Compliance field for each specification. This field allows a user to overrule the Calculated Compliance up to this point. This is used in the case where a company has put a waiver in place or has an application-based exemption for, say, medical devices.

### 11.11.4 AML Validation - Rollup from AML to Item

This is governed by the AML Rollup rule in Administrator. Strict setting, or worst case, means that as long as one of the manufacturer parts on the AML of the part is different than Compliant, then the part cannot be compliant. Relaxed setting, or best case, means that as soon as one of the manufacturer parts on the AML of the part is compliant, then the part is compliant, effectively reversing the compliance state priority list.

The resulting compliance state of the item across its AML is stored in the Calculated Compliance field (and Result Compliance field) of the Specifications table on the item for that specification.

The Specifications table for that item also has a Declared Compliance field that allows a user to overrule the Calculated Compliance up to this point.

This validation does not happen automatically but depends on scheduled rollups or on the user launching a compliance calculation for the parent of the compositions or one of the parent's higher-level BOM parents.

Here are a few use cases illustrating how the rollup rules work.

Case 1 - AML Rollup rule is set to Strict and Treat Exempt as Compliant rule is set to Yes or No.

Item 1 - Not Compliant

Mfr.Part 1 - Exempt

Mfr.Part 2 - Not Compliant

Case 2 - AML Rollup rule is set to Relaxed and Treat Exempt as Compliant rule is set to No.

Item 1 - Exempt

Mfr.Part 1 - Exempt

Mfr.Part 2 - Not Compliant

Case 3 - AML Rollup rule is set to Relaxed and Treat Exempt as Compliant rule is set to Yes.

Item 1 - Compliant

Mfr.Part 1 - Exempt

Mfr.Part 2 - Not Compliant

So, if the mfr. part has a compliance state of Exempt and the 'Exempt' rule is set to Yes, the item is compliant.

### 11.11.5 Validation Rollup from Item to Assembly

This is governed by the Treat Exempt as Compliant rule in Administrator. The resulting compliance state is stored in the Calculated Compliance field (and Result Compliance field) of the Specifications table on the item for that specification.

The Specifications table for that specification also has a Declared Compliance field that allows a user to overrule the Calculated Compliance up to this point.

This validation does not happen automatically but depends on scheduled rollups or on the user launching a compliance calculation for the parent of the compositions or one of the parent's higher-level BOM parents.

Please see Internal Logic of BOM/Compliance Rollups for more information.

#### 11.11.5.1 Rules for Calculating Compliance for Specifications on Parts

For specifications with matching compositions, the Result Compliance from the composition is used. The system does not perform the composition rollup, since the rollup already happened in a declaration or during Import and its result can be re-used.

For all other non-matching compositions, the rollup compares the substance in the spec with the substances in the composition based on their Result PPM. The Declared, Calculated and Result Compliance fields at all levels in the composition will not be used.

Note that the system does not update any fields on the Composition table or composition Substances table, so it can be difficult to verify. When doing a rollup from an assembly, use the BOM Compliance Report to ensure that the system-calculated compliance at the specification level is correct for all the children in the assembly.

## 11.12 Substances and Weights Rollups using Excel Integration

A Design for Environment (DfE) use case requires hazardous substances and weights analysis. In Agile PG&C, a predefined Substances and Weights Rollup spreadsheet is opened in Microsoft Excel. You are asking, "On this top-level assembly (TLA), I want to do weights rollups on all substances per this specification." Or, "Find me the worst case for each substance in terms of its weight."

Note: There is a fully supported Japanese version of the Rollup in Excel template. Also, localized versions of the Rollup in Excel template are supported in Chinese, French, and German.

You perform substances and weights rollups after declarations have produced new data about the substances of your concern. The substances & weights rollup is run only on parts, that is, your company's assemblies (not manufacturer parts). You can run it on the BOM + BOS tree of the entire assembly, including its Substances. Once the BOM+BOS data is exported to Excel, the rollup occurs there; you can change weights and do different "what if" analyses; however, this Excel spreadsheet is not connected back to Agile PG&C.

Be sure to understand the use of the Conversion Factor with substances; see Substance Groups and Conversion Factor. Also see Internal Logic of Substances and Weights Rollups for more information.

### 11.12.1 Details of the Substances and Weights Use Case

As mentioned earlier, the PG&C solution has built in the Compliance (BOM) Rollup, which automatically calculates whether parts are compliant, not compliant, missing information, and so forth. But a Weights rollup was not built into the system, and it was decided that the "Rollup in Excel" process extension was the best way to include a weights-based rollup feature in PG&C.

So, for a given assembly, when we choose from, for instance, an item's Actions menu to Rollup in Excel, the system exports the entire assembly along with its Bill of Substances for each part/part group in that assembly. In the Microsoft Excel-based client, Run Scenario performs a worst-case rollup, adds up all the substances, and derives a unique list of substances that exist in the assembly; at completion it reports, "This assembly in worst-case has this much lead, this much cadmium," and so forth. It will also tell you, "These are the contents of substances, when you compare any substance against a specification," it looks at the substance value, look at the specification's stated PPM allowance for that substance, informing you that this part is compliant or not compliant for that substance.

In a compliance rollup, this comparison takes place at the individual substance level for each item, whereas in the Substances and Weights rollup, it takes place at the assembly level with the rolled-up value of the same substance but from all the child items in the assembly.

When the system does a BOM rollup or a Substances and Weights rollup, the substance group and the base substance are treated the same. For instance, a spec could list a substance group called "Lead & Lead Compounds" but the system might be 'confused' between the base substance "Lead" and related substance "Lead Compounds." In this case, the system could determine the substance Lead is "Compliant" even though it has not fully discerned the presence of all instances of the base substance Lead in the part.

- If none of the substances from specification exist in the composition (that is, there is not an exact match), then the system does not select either Compliant or Non-compliant. This is not a perfect situation, but the user at least knows that some information is missing in the system's 'understanding' and can troubleshoot from there.

- If there is at least one substance or substance group that has PPM above the threshold, we have to select "This Part does contain substances listed in the referenced specification above the reporting limits as detailed below."

- If there are multiple compositions for a part for the same Spec, the server will return all active compositions for a part, and the rollup logic follows the PWC rule (pessimistic worst case) among those active compositions (previously it only returned the Latest Released composition).

### 11.12.2 Running a Substances and Weights Rollup

To run a substances and weights rollup:

1. In an item, using the Actions menu, choose Rollup in Excel.

2. You are prompted to select a specification against which the rollup will be performed. Once you are in Excel, you see the Reference Specification field is populated with the specification you selected.

   Of the radio buttons for Scenario, only "Pessimistic Worst Case" is available now, so that box is already checked. ("Realistic Worst Case" and "Realistic Best Case" options cannot be enabled.)

   The Flags radio buttons are not checked (by the system) until the rollup is run.

3. Microsoft Excel opens with the data of the part (Object in Assembly) displayed in the table (which can be altered according to your company's needs).

   You are prompted by a SaveAs dialog: you can accept the default name (Assembly Number/Name) or enter a new filename; and, you can accept the default location - Excel copies the files to a Agile Spreadsheet Files folder on the desktop - or enter a new location.

   Saving the file enables you to re-open those files in another session.

4. Choose Agile > Run Scenario. The rollup is run.

5. When the scenario is run, one of the Flags radio buttons is checked, giving information about the part, either that the part does not contain substances listed in the Reference Specification, or that it does contain substances in the Ref.Spec. including which ones are above the reporting limits of the specification.