Oracle® Agile Product Lifecycle Management for Process
LIO Solution Pack
Extensibility
Pack 3.5
E42100-02
August 2013
Copyrights and Trademarks
Agile Product Lifecycle Management for Process
Copyright © 1995, 2013, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
To install the LIO Solution Pack:
Output Material Selection Section
Declaration Options and Actions
Ingredient Statement Options Section
Final Ingredient Statement Section
Appendix A: What did the Installer do?
This guide is intended for client programmers involved with integrating Oracle Agile Product Lifecycle Management for Process. Information about using Oracle Agile PLM for Process resides in application-specific user guides. Information about administering Oracle Agile PLM for Process resides in the Oracle Agile Product Lifecycle Management for Process Administrator User Guide.
Descriptions and illustrations of the Agile PLM for Process user interface included in this manual may not match your installation. The user interface of Agile PLM for Process applications and the features included can vary greatly depending on such variables as:
§ Which applications your organization has purchased and installed
§ Configuration settings that may turn features off or on
§ Customization specific to your organization
§ Security settings as they apply to the system and your user account
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Oracle Software Delivery Cloud (OSDC) provides the latest copy of the core software. Note the core software does not include all patches and hot fixes. Access OSDC at:
http://edelivery.oracle.com
This guide describes how to install, configure, and use the LIO Solution Pack. Solution packs are designed to be pluggable modules that can be added to the Agile PLM for Process application suite without modifying the existing release code base.
Label Ingredient Optimization (LIO) is the tool for labeling administrators to:
§ View a food or beverage item based on its aggregated labeling composition;
§ Manage the labeling composition to meet regulatory requirements using stored rules or manual overrides;
§ Generate and push the final ingredient statement to a nutrient profile and/or material so that the broader organization can further augment and complete the labeling business process.
LIO uses information from material and formulation specifications to describe labeling composition. LIO allows you to transform a formulation hierarchy into a single ingredient statement that meets regulatory requirements.
Figure 1. LIO tool
Product Hierarchy LIO Construction Tree
Generated Ingredient Statement
Taking advantage of all the features and functions of LIO requires the following data on the specifications used within the formulations.
You must have v6.1.1.1.0, v6.1.1.1.4, v6.1.1.1.5 and v6.1.1.1.12 of PLM for Process installed to use this solution pack.
1. Create a backup of the PRODIKA_HOME directory.
2. Unzip the contents of ExtensibilityPack_v3.5_Release.zip.
3. Unzip the contents of SolutionPacks\LIO\LIO.zip and note the location.
4. Run LIOSetup.exe from the location where you unzipped the solution pack.
See Appendix A: What did the Installer do? for a list of tasks completed by the installer.
1. Create a backup of the Prodika database.
2. Apply the Database scripts.
a. SQL Server
i. Open a command prompt and navigate to the directory where you unzipped the solution pack.
ii. Change directories (cd) to the Database directory.
iii. Apply the scripts using the following calls to the ApplyScripts.exe utility:
ApplyScripts -c "server=<database_server>;uid=<user>; password=<password>;database=<database>" –f LIO.xml
iv. After the ApplyScripts call, you can confirm that the database scripts have been applied successfully when the system prompts you with the following message:
"Complete - with no errors"
b. Oracle
i. Open a command prompt and navigate to the directory where you unzipped the solution pack.
ii. Change directories (cd) to the Install\Database directory.
iii. Apply the scripts using the following calls to the ApplyScripts.exe utility:
ApplyScripts -c "User Id=<user>;Password=<password>;Data Source=<TNS Entry>" -dbvendor orcl –f LIO-orcl.xml
iv. After the ApplyScripts call, you can confirm that the database scripts have been applied successfully when the system prompts you with the following message:
“Complete - with no errors”
3. Restart IIS.
The Summary tab consists of the following sections:
Figure 2. Summary Tab
Use the LIO Profile section to define the LIO profile. Key fields include:
Use this section to define which material specification you will be labeling. Click the search icon () to search for and select the Target Specification. The Context drop-down list allows you to select which formulation specification to pull the child items from when generating the LIO tree. If context is left blank only the material’s breakdowns will be available.
Note: If you change the target specification or the Context drop-down after the LIO tree has been generated, the system will automatically reset the tree after confirmation from the user.
This section allows you to select which nutrient profile will be used if you decide to push the LIO data to the material and nutrient profile using the Push to Target functionality from the Final Statement tab. Click the clear icon ( ) to remove the currently selected nutrient profile from the LIO profile.
This tab is where a labeling administrator will perform a majority of work by grouping, overriding, formatting and in the end creating the ingredient statement.
In the LIO Construction tab you can manipulate formula items based on certain constraints imposed by each item’s underlying specification or component catalog term and currently selected labeling restriction(s).
The first time you open the LIO tab of a profile, the LIO tree does not appear, because the system will not have generated it yet.
To prepare to generate the LIO tree:
1. In the action menu, click Edit. GSM reloads the page in editable mode.
2. Define any restrictions that apply to this Ingredient Statement.
Note: The Generate LIO Tree
button is only displayed when a target specification has been selected on the
summary tab.
Figure 3. LIO profile in edit mode
Restrictions are a configurable list that you can use to differentiate disclosures and groupings. Restrictions impact two major areas of functionality:
§ Component Catalog (CC) - For example, in Canada you might be able to rename "salty beef" to "beef," but in the United States, because of tighter regulations around sodium, you could not. By setting the restrictions on the LIO tree to Canada, you could see disclosures and groupings set up in the Component Catalog with a restriction of Canada. LIO would be able to leverage this information to modify the ingredient statement in Canada to refer to "salty beef" as "beef." If you were creating an ingredient statement for the United States, the "salty beef" would have to be labeled as such. For more information on restrictions, disclosures and groupings, see Chapter 23 "Component Catalog" in the Agile Product Lifecycle Management for Process Global Specification Management User Guide.
§ Material Breakdown - Similar to the Component Catalog, breakdowns can contain regional or regulatory differences. Therefore restrictions can be assigned to breakdowns and then filtered upon when using LIO.
Note: Disclosures, Grouping and Breakdowns without any restrictions will always be available regardless of the restrictions selected.
Once you have defined the restrictions, click Generate LIO Tree to have the system create the requested tree. The tree is displayed directly under the LIO toolbar and will display the entire formula tree. By default, for each node in the tree the system will pull the % Breakdown marked with the tag of “Regulatory” and will use a default disclosure method of List…x,y. If no breakdown is found or allowed due to restrictions defined then LIO will display only the parent node. In the example below “Strawberries, Fresh 45623” doesn’t have a regulatory breakdown defined so only the specification’s name will appear.
Figure 4. LIO Tree
LIO pulls data from different locations based on what context is selected on the summary tab. If context is defined on the Summary tab, this tree data is pulled from the Basis on the formulation specification. If context is not defined, this information is pulled from the material specification.
The LIO toolbar is available once a tree is generated. The options in the toolbar give you further ability to manipulate the tree.
Figure 5. LIO toolbar
The format drop-down allows you to choose the intended ingredient statement format. After you change the format, LIO immediately displays the corresponding level of detail needed for the intended format as well as reformats the generated ingredient statement. There are three options:
Select this option when you want your final statement to be a single component simple statement like Spicy Sugar Water: “Sugar, Water, Salt, Pepper”. This format allows you to quickly see the tree’s lowest level items by omitting the top-level items in the LIO tree. For example, if you have the input “Seasoning” that has a percent breakdown of “Salt” and “Pepper”; the resulting tree will contain “Salt” and “Pepper” without reference to the parent “Seasoning”.
Figure 6.
Combined option
Select this option when you want your final statement to be
a single component multi-part statement like Spicy Sugar Water: “Sugar, Water,
Seasoning (Salt, Pepper)”. This format allows you to see all levels in the
LIO tree so you can go even further down the tree if you have intermediate formulations.
Figure
7.
Multi-part option
Select this option when you want your final statement to be a multi-component statement like Spicy Sugar Water: “Sugar Water: Sugar, Water” & “Seasoning: Salt, Pepper” This format allows you to see all levels in the LIO tree, however since you are labeling multiple components with a single LIO profile the percentages displayed will be based on each top level component.
Figure 8. Multi-component option
|
|
Construction Tree |
Label Composition |
The format determines the level of data as well as which composition percentages are being shown. Below are a few side by side examples to help explain the formats further.
Multi-Part Notice how the tree displays the specifications used as formulation inputs as the parent nodes and their regulatory breakdowns appear below each parent node. Water, Baking Powder and Baking Soda don’t have a regulatory breakdown (or breakdowns matching the restrictions designation) so only the specification name is displayed.
|
Combined Notice how all parent nodes are removed and the children are combined and displayed all at one level. Notice that Water, Baking Soda and Baking Powder appear in a different color and with a different icon to help inform you that these are inputs instead of breakdown components.
|
|
|
Multi-Part Notice how the percentages displayed are the percentages based on the single component you are labeling. In the example below Strawberry Spice Cake WITH Icing is being labeled. For example, Cake Flour is 20% of the whole Strawberry Spice Cake WITH Icing but it is 24% of the Strawberry Spice Cake WITHOUT Icing. |
Multi-Component Notice how the percentages displayed relate to each component you are labeling. In the example below Strawberry Spice Cake AND Whipped Cream Icing are being labeled as separate components. |
The format selected is not the only factor controlling which
data is displayed; context also matters. If context is not selected on the
summary tab then LIO will not be able to go further than the breakdowns on the
target material specification. Notice how the same output material displays
only the breakdown defined on the output material. Multi-Part and
Multi-Component formats allow you to right click on the parent node “Strawberry
Spice Cake” and select other breakdowns or context while the combined format
just presents the breakdown with no other choices. If the calculated
breakdown on the output material is sufficient for labeling and you don’t need
to go further into the actual formulations then this is the fastest way to
label your product.
Use the Actions button to decide if the tree will display or hide rows that are inactive. Inactive rows are gray in color and display a 0.0000 %. The main node is never hidden regardless of the selection on the Actions button. Hiding inactive rows is especially helpful if you are trying to pinpoint exactly what data will be shown in the ingredient statement.
Note: The default used by the system is to show inactive rows.
Use the Composition Includes button to remove adjusters from the formulation percentages shown on the LIO tree. For example, if the formulation output was baked and water was lost during the process an adjuster would be applied to the formulation to reflect the moisture loss that occurred during the baking process. If you were allowed to label the product before moisture loss you would remove the moisture adjusters in the Composition Includes menu. This will adjust the percentages to reflect the product before it was baked.
Figure 9. Composition Includes button
Note: The default used by the system is for all adjusters to be selected for composition. This feature can be configured off, see the Configuration Section for more information.
By default the LIO tree is always sorted based on Composition %. Some regulatory bodies allow you to display an ingredient statement in the order of pre-loss composition %. Use the Sort By button to remove those adjusters.
Figure 10. Sort By button
Note: This feature can be configured off, see the Configuring LIO section for more information.
For all buttons, when you have changed the options from the default settings the button will show a filter icon to let everyone know the tree is generated with something other than the default.
Use the Precision drop-down to select how many decimal places are displayed for the Composition % in the LIO tree. The actual composition is stored in the database in complete form; the precision only affects the display in the UI. Certain precisions could cause a value of 0 to be displayed in the LIO tree. These elements will still be shown in the final statement since the 0 is a result of rounding and not the actual value. If the LIO tree is reset and generated, the precision values will reset to the default.
Note: The default used by the system is 5 digits of precision. Also note that changing the precision values shown in the tree could create a statement that doesn’t add up to 100% due to rounding.See Precision Control on page 35 for more information.
Use the Reset LIO Tree button to start over from the beginning. This will remove anything that has been done to the tree and start fresh. This button is only displayed when the LIO profile is in edit mode.
Note: The default values for all buttons and drop downs will be restored when clicking the reset button.
Each item within the tree represents a material that may be considered for inclusion in the final ingredient statement. There are many options available to you to decide how you want to declare that node. Options and actions are available by right-clicking on the individual node.
Figure 11. Right-click options
These options are contextual, based on the type of item selected and the data inherited from its underlying specification, LIO profile, and the currently selected labeling restrictions. Using the described options/actions, you can build your ingredient statement.
The table below describes the various presentations/methods for disclosing each LIO item and the corresponding declaration options and actions available:
Icon |
Current Method for Disclosure |
Declaration Options/Actions |
|
Base level for LIO authoring (does not appear in LIO) |
Perform Actions » Add New Group |
|
Material that is listed as a single item in the LIO |
Perform Actions > View Perform Actions > Add New Group Perform Actions > Recon/Equiv Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Ingredient Statement Item > Do Not Declare |
|
Material that is broken out into separate sub items in the LIO |
Perform Actions > View Perform Actions > Add New Group Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Ingredient Statement Item > Do Not Declare Breakdown > List ... x, y Breakdown > List …i(x,y) Breakdowns > List ... i (x%, y%) of Item Breakdowns > List ... i (x%, y%) of Total Context > List …x,y Context > List …i(x,y) Context > List ... i (x%, y%) of Item Context > List ... i (x%, y%) of Total |
|
Material that is flagged as "Do Not Declare" and will not appear in the LIO |
Perform Actions > View Perform Actions > Add New Group Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Ingredient Statement Item > Do Not Declare Breakdown > List ... x, y Breakdown > List …i(x,y) Breakdowns > List ... i (x%, y%) of Item Breakdowns > List ... i (x%, y%) of Total Context > List …x,y Context > List …i(x,y) Context > List ... i (x%, y%) of Item Context > List ... i (x%, y%) of Total |
|
Component that is listed as a single item in the LIO |
Perform Actions > View Perform Actions > Recon / Equiv Perform Actions > Refer to CC Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Do Not Declare |
|
Component that is listed as a single item in the LIO, and its title has been manually edited |
Perform Actions > View Perform Actions > Recon / Equiv Perform Actions > Refer to CC Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Do Not Declare |
|
Component that is flagged as "Do Not Declare" and will not appear in the LIO |
Perform Actions > View Perform Actions > Refer to CC Perform Actions > Rename Item Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Do Not Declare |
|
Group which has been added during the LIO process |
Perform Actions > Add new Group Perform Actions > Rename Item Perform Actions > Delete Group Perform Actions > Annotate Perform Actions > Audit/History Perform Actions > Divide Item > Name Only Item > Name (% of Item) Item > Name (% of Total) Item > Do Not Declare Breakdowns > List ... x, y Breakdowns > List ... i (x, y) Breakdowns > List ... i (x%, y%) of Item Breakdowns > List ... i (x%, y%) of Total |
View will allow you to see the specification or component catalog term associated with that node.
Create a new group directly under the current item. Once the group is created, you can delete it (if empty) or relocate it via drag-and-drop. As groups can not be seen in Combined format, all group creation tasks should be done in Multi-Part or Multi-Component format.
Allows you to rename the item manually instead of using the component name or component catalog disclosure.
Refer to Component Catalog to see the available disclosures for the item based on the Component Catalog profile and restrictions for the current item. You can see all disclosures available for all nodes by using the Disclosures button below the tree.
LIO allows you to work with reconstitution and equivalency factors that will adjust the moisture content of the current item. For example, if “Powdered Milk” can be called “Milk” once it has a Total Solids of 90%, Recon/Equiv allows you to reallocate water to “Powdered Milk” so it can be called “Milk”.
Once selected, the Reconstitute Items dialog box is displayed.
Figure 12. Reconstitute Items dialog box
From this dialog box you can manually adjust the moisture content for the selected item by moving moisture from other components. To do so, first define a target % Water. There are several approaches you can select when defining your target:
Once a target % Water is defined, you then must declare where water should be taken from in the “Using % From” column. In the example above all water will be taken from just the “Water” component and moved into “Salt Water”. Click Done. The results of your reconstitution appear in the LIO tree. If there is not enough water available to hit your target an error message will appear.
Once an item has been affected by a reconstitution action the reconstitution icon will appear to the left of the node.
If one or more conversion factors have been previously defined for the current item, you can access/select a predefined factor by clicking the import data icon (), displayed to the right of the field in the Reconstitute Item column. Click the icon to open the pre-defined reconstitution rules popup.
The Reconstitution/Equivalency options for a given item are managed within the item’s corresponding Component Catalog Term. LIO will use the selected Target %/Factor to populate the reconstitution popup.
Note: Once an item has been reconstituted, the parent node for the reconstituted item and the parent node for the item the water was removed from will only be allowed to use the declaration method at the time of reconstitution.
Delete the selected group. You can delete a group only if it is empty (0%).
Add a narrative comment to the item. Annotations are typically used to provide additional explanation/rationale to help others understand the decisions made during the LIO process. Any item containing an annotation will be denoted with a special icon in the left margin of the LIO tree, as shown below.
Get an accounting of the current disclosure method and any relevant actions that have been performed against the selected item.
To see the audit information for the all items, click the Audit button below the tree.
Create a new instance of the current item based on a percent or quantity of the original item (that is, to split an item into two separate instances). GSM prompts you to indicate a percentage or a quantity. Once you have created the new item, it will appear at the same level as the original item in the LIO hierarchy and you can move it via drag-and-drop to another area. Any item affected by a "divide" action will be flagged with a special divide icon () in the LIO tree left margin.
Note: Once an item has been divided, the parent node for the divided item will only be allowed to use the declaration method at the time of division.
In addition to disclosures available through Component Catalog, there are many more options for how you can declare an item.
The “Item” options represent the single level you are selecting while breakdown and context allow you to go further into the tree and open up more levels.
In the example above the user right clicked on “Spice Mix”. This happens to be an intermediate formulation so all three choices (Item, Breakdowns & Context) are available. Notice how the node is currently displaying the regulatory breakdown below. If anything was selected from the Item menu, this breakdown would be removed and only the top-level node would remain. Item contains the following options:
List the item as a single entry in the LIO using the default name of the current item. In the example above this would leave the node “Spice Mix” with no child items.
List the % of the item based on the amount of the parent node only in the LIO. This option would display just the parent node like “Name Only” but it would also display the percentage of that node based on its parent. “Spice Mix (100%)” This option is more valuable when used on a secondary node. For example, if used on “Ginger” it would display “Ginger (14%)” because Ginger is 14% of the Spice Mix.
List the % of the item based on the total formulation amount in the LIO. This option would display just the parent node like “Name Only” but it would also display the percentage of that node based on the total formula “Spice Mix (3%)”
List the item as a single entry in the LIO using the combined ingredient statement of the current item (if available). If this was selected in the example above it would replace “Spice Mix” with “Natural Flavors, Cloves, Ginger". This is valuable if you always want the item to appear as a specific way regardless of the breakdown defined or specification name. For example, this specific “Spice Mix” specification may be proprietary and you always want it to display as “Natural Flavors, Cloves, Ginger” to hide the other proprietary elements in “Natural Flavors”. This field can also be used when performing very complex labeling scenarios. For example, assume you had a tray of baked goods: Chocolate Chip Cookies, Oatmeal Cookies and Peanut Butter Cookies. You would have a separate LIO profile for each type of cookie, pushing the final statement to each then you could combine them in the “Baked Goods Tray” LIO profile.
Do not disclose this item in the
LIO. Items marked as "Do Not Declare" will not appear in the final
ingredient statement.
Depending on the item and available data you may see a “Breakdowns” option and a “Context” option, both allow you to expand the selected node and display children.
Figure 13. Breakdowns and Context options
Breakdowns |
Context |
Breakdowns will list all available breakdowns, in the example above the “Spice Mix” only has one breakdown, “Regulatory Breakdown” however if it had more breakdowns defined they would appear here. When selected this will pull the breakdown components into the tree underneath the selected parent. In the example, “Ground Cinnamon, Nutmeg, All-Spice, Cloves and Ginger” are the breakdown components in the regulatory breakdown on “Spice Mix”.
Context will appear if the item you selected is an output of a formulation. This option lists all formulation specifications that could have made the selected item. In the example above “Spice Mix” was only made by one formulation specification “Spice Mix 34523”. When selected this will pull the formulation inputs into the tree underneath the selected parent. If these inputs are also intermediate formulations you will be allowed to go even further into the tree.
There are secondary descriptions on each breakdown or context menu listing, (x,y), i(x,y), i(x%,y%) of Item and i(x%,y%) of Total. Each of these options represents how the parent node will be displayed. The word "List..." below is just a placeholder. The UI will actually display the name of the breakdown or formulation specification.
This option will display the children underneath the parent. For example, if you had “Spice Mix” selected as item name only, this selection would pull the breakdown components or formulation inputs in underneath “Spice Mix”.
This option will display the item as a combined statement using the current item and its lower-level items, that is, "Item Name (item one, item two, item three)". In the example above, this would display “Spice Mix (Ground Cinnamon, Nutmeg, All-Spice, Cloves, Ginger).
This option will display the item as a combined statement with percentages using the current item and its lower-level items, that is, "Item Name (item one %, item two %, item three %)". In the example above, this would display “Spice Mix (Ground Cinnamon 43%, Nutmeg 15%, All-Spice 14%, Cloves 14%, Ginger 14%)”. The percentages shown will be the percentage the lower level items make up of the parent “Spice Mix”. For example Ground Cinnamon is 43% of the Spice Mix, but only 1% of the total formula.
This option will also display the item as a combined statement with percentages using the current item and its lower-level items, however it will use percentages based on the total formula. In the example above, this would display “Spice Mix (Ground Cinnamon 1%, Nutmeg 0.46 %, All-Spice 0.45%, Cloves 0.45%, Ginger 0.44%)”.
During the LIO process, when the profile is in edit mode, you can perform a number of operations using the row of buttons beneath the LIO tree view.
While generally not needed, a few of the declaration options and actions are not executed immediately within the LIO tree view. Click Refresh to perform multiple actions before posting the tree view back to the server for rendering. For example, click Refresh after drap and drop actions to update the right mouse click options.
When you click Preview, LIO opens the Preview dialog box with a table in it. This table indicates the order in which each LIO item will appear in the final ingredient statement.
Figure 14. Preview
In addition, the Preview section shows the adjusted percent yield of each item (based on suppressed items). The preview will automatically combine like items (including group designations) based on LIO item name in the currently selected language.
Click Disclosure to
open the Disclosure dialog box.
Figure 15. Disclosure dialog box
The Disclosure dialog box provides you with options for aliasing based on the labeling rules of each item derived from its corresponding Component Catalog profile and its disclosures. LIO filters disclosure options based on matching restrictions and displays them in order of priority (also defined within the CC Term). See the "Component Catalog" chapter in the Agile Product Lifecycle Management for Process Global Specification Management User Guide for more information.
Click Grouping to display the grouping dialog box.
Figure 16. Grouping dialog box
The grouping dialog box provides you with options for grouping based on each the labeling rules of each item derived from its corresponding Component Catalog term and its groupings. GSM filters grouping options based on matching restrictions and displays them in order of priority (also defined within the CC Term). See the “Component Catalog” chapter in the Agile Product Lifecycle Management for Process Global Specification Management User Guide for more information. If a method is not defined, in Component Catalog, on the grouping it will not appear in this list.
Note: You can manually group LIO items using the drag-and-drop feature. The drag-and-drop feature uses asynchronous calls to help with performance so you will see some updates to the tree being made while you are performing drag-and-drop.
Similarly to the Preview operation, the Audit operation opens a dialog box with a table that denotes the composition % of each item with an accounting of the current disclosure method and any relevant actions that have been performed against that item. Audit only shows items that have had manual actions. All items are not listed.
Figure 17. Audit History dialog box
If the data on the target specification changes after a tree is generated, the user will receives a message letting them know what data has changed. This message is letting you know that the data in your tree may no longer be accurate. Review the additional details to make sure you correct the problem.
Figure 18. Warning message
The following changes cause the message to be displayed:
Note: If a full basis refresh is performed on the formulation specification the LIO profile will display this message.
This Final Statement tab consists of the following sections:
In the Final Statement tab you can further manipulate the generated statement for final label production. Once you have completed the LIO construction process, you can produce and edit the final ingredient statement using features found within the tab, then push the changes to the specification.
Figure 19. Final Statement tab
When editing the final statement, you can modify the statement using the Format, Style, Other and Precision fields. With each change, the page is immediately refreshed to reflect your changes.
LIO supports the following formats:
§ Combined - Example: Sugar, Water, Salt, Pepper
§ Multi-Part- Example: Sugar, Water, Spices (Salt, Pepper)
§ Multi-Component – Example: Sugar Water: Sugar, Water & Spices: Salt, Pepper
Note: The Format drop down is shared between the Construction and Final Statement tab. Changing it on either tab affects both places.
The combined and multi-part format will return the same results on the Final Statement and Label Composition Tab. The differences between these formats is only seen on the LIO Construction tab.
LIO supports the following styles:
§ Columnar—Arranges the final statement in a columnar list, separating each item with a new line
§ Columnar - Uppercase—Arranges the final statement in a columnar list, separating each item with a new line, and converts all text to upper case
§ Linear—Default setting that arranges the final statement as a linear paragraph
§ Linear - Uppercase—Arranges the final statement as a linear paragraph and converts all text to upper case
LIO supports the following other options:
§ None—Default setting
§ Contains Less than 2% of...—Inserts “Contains Less than 2% of the following:” at the appropriate point in the statement based on the percent composition of each item
§ Contains Less than 3% of...—Inserts “Contains Less than 3% of the following:” at the appropriate point in the statement based on the percent composition of each item
Adjust the precision used in the final statement. By default 5 decimals are shown. If you prefer to see composition % whole numbers, set your precision to 0.
Note: Please note that changing precision could create a statement that doesn’t add up to 100% due to rounding. Customized Rounding rules can be applied; see the Configuring LIO section for more information.
Once you have set the fields in the Ingredient Statement Options section and the generated LIO is displayed, you can choose to push this statement to the material specification and/or nutrient profile by using the Push to Target button. If override is blank, it will push the Generated statement. Otherwise, it will push the Override statement.
Depending on your configuration settings and role, you may have the option to override the generated statement. You can click the Arrow to move the generated statement into the Override field. At that time you can make any manual adjustments that are necessary.
Note: The ability to edit the final statement is controlled by a system configuration and a role. Please refer to the configuration section above for more information.
This tab displays the final label composition created from the generated LIO tree. If you haven’t generated an LIO tree, this section will be blank.
Label Composition, the sole section in the Label Composition tab, displays the composition of the specification for labeling purposes. This information can be pushed to the nutrient profile from the LIO process. The data pushed to the nutrient profile is read only and displays on the Label Composition grid on the Label Composition tab. This information will be used to complete the Regulatory Filings stored on a trade specification.
Figure 20. Label Composition tab
This section outlines important configurations and roles used to enable the solution pack. The installation process handles the initial setup of the configurations for you but you may want to modify it based on your implementation. The new roles will need to be added by you using UGM.
Note: When reviewing the xml files after the installer runs, it is possible the order of the elements listed in the documentation will differ from the files on your system. XML is not particular about order, so simply verify the elements are the same from a content standpoint.
The CustomerSettings.config file is located in the [InstallDirectory]\Config\Custom folder and is where the LIO features will be turned on or off.
Note: The Installer may reformat some of the lines in this file.
This LIO Solution pack replaces the legacy LIO tool in the core PLM4P suite. All LIO profiles created before this solution pack was installed will continue to be accessible using LIO version 1 to open and adjust LIO profiles. Once this solution pack is installed all new LIO profiles will use LIO version 2.
This block within the customersettings.config file
changes LIO to use the new version and directs the application based on which
LIO version it encounters.
<LIO>
<LIOSettings>
<currentVersion value="2"/>
<defaultLIOFormatLookupItemPkid value="22106EF83216-75C6-4643-8BCB-0483FFEBD6E2"/>
<defaultPrecision value="22106E9CB770-5E28-45D6-B28A-C16BD77A4596" />
<versionURLRedirect configChildKey="version">
<redirect version="1" url="../baseforms/frmLIOProfile.aspx"/>
<redirect version="2" url="../LIO/baseforms/frmAdvancedLIOProfile.aspx"/>
</versionURLRedirect>
</LIOSettings>
</LIO>
<add key="GSM.LIO.FinalIngredientStatement.Editing.Enabled" value="true"/>
This configuration allows you to turn off the ability to edit the final statement in LIO. By default all users are allowed to override the generated statement by LIO. If this configuration is set to false users will need the [LIO_STATEMENT_EDITOR] role to override the generated statement.
<add key="GSM.LIO.SortOrder.Enabled" value="true"/>
By default ingredient statements are sorted by composition percentage. Some regulatory bodies allow you to adjust the sort order without certain processing losses applied. This feature allows you change the sort order by removing moisture, solids and/or material formulation adjusters. The user will need the [LIO_SORTORDER] role to adjust the sort order. If this feature is unnecessary for your regulatory requirements, you can use this configuration to turn it off and hide the Sort By button.
<add key="GSM.LIO.Composition.Enabled" value="true"/>
By default LIO calculates composition percentages with all formulation adjusters applied. This feature allows you to calculate the composition percentage without certain processing losses applied. The user will need the [LIO_COMPOSITION] role to adjust what is included in the composition percentages. If this feature is unnecessary for your regulatory requirements, you can use this configuration to turn it off and hide the Composition Includes button.
<add key="GSM.LIO.ConstructionTab.Precision.Enabled" value="true"/>
<add key="GSM.LIO.FinalStatement.Precision.Enabled" value="true"/>
LIO allows the user to adjust this precision. These configurations allow you to turn this feature off on the construction tab or final statement tab.
By default LIO displays composition percentage using 5 decimal places. However, this default is configurable inside the <LIOSettings> node.
<defaultPrecision value="22106E9CB770-5E28-45D6-B28A-C16BD77A4596" />
This can be adjusted to any precision by specifying the pkid of the requested precision. The following table defines the IDs and corresponding precisions:
ID |
Precision Value |
2210B1A4F3E4-7C5D-42F9-86A0-181E21E1D33C |
0 |
2210E61426BD-D339-424A-ABE4-8BEC360266DF |
1 |
2210B0902E88-B0A5-4C3C-A35E-9B1A6145F0D5 |
2 |
2210CC34D15E-E4C2-46E4-9E13-BA8072BA32B2 |
3 |
2210D52E1302-88DF-4FB4-8BC1-952AD5485345 |
4 |
22106E9CB770-5E28-45D6-B28A-C16BD77A4596 |
5 |
221030FA4997-01F4-4EF0-AF8E-832E35AD96F4 |
6 |
22103A415574-7D38-4471-B982-39CDB5AF6CBF |
7 |
2210138BF883-5623-4AEC-88EB-B3FF5580DFB8 |
8 |
2210E81A4CFF-013A-46D6-A1B2-2C29D473004A |
9 |
221087CA5725-D42D-42F6-A062-1CAD4F359546 |
10 |
221032BF13FF-811F-4B9C-928C-9E42C7D30504 |
11 |
2210CDD3C8C6-45B1-41E6-9874-F4416F8B9EFA |
12 |
22108F98BCE4-1B66-4C50-AD00-F3D3BD664CBF |
13 |
You can change the default format in LIO using the format configuration:
<defaultLIOFormatLookupItemPkid value="22106EF83216-75C6-4643-8BCB-0483FFEBD6E2"/>
The default is Multi-Part. The PKIDS for the options are as follows:
PKID |
Format |
22106EF83216-75C6-4643-8BCB-0483FFEBD6E2 |
Multi-Part |
22101E4E58CC-184A-4C6C-A89B-1D4D11CF03C6 |
Combined |
221092235A0D-3D43-4194-AECF-DDFC8641A288 |
Multi-Componenet |
The application allows displaying percent for each node in a custom manner. For example, you could apply your own rounding rules based on the precision selected. For example, you can say if the user selects the precision of 0, but the composition percentage is greater than 0 but less than 1 then display 5 decimals.
This feature utilizes server side javascript code that is executed by the Jint engine. The code is stored in javascript files located in PRODIKA_HOME\config\extensions\lio\. A separate file is used for each location of precision implemented in LIO: Construction.js is used to display percentages on the Construction tab and FinalStatement.js is used to display percentages on the Final Statement tab. The content of these files is cached.
The following variables/methods are provided out of the box:
§ element – a variable representing the current node object implementing Oracle.PLM4P.LIO.Lib.Elements.ILIOAdvancedElement interface. This variable is null if the current element is the root node.
§ root – a variable representing the root object that implements Oracle.PLM4P.LIO.Lib.ILIORoot interface.
§ percent – a variable representing a decimal for a particular node. Depending on the current node display format selection the decimal can represent a percentage of the item or a percentage of the total.
§ GetPercentFormat – a method that accepts an integer or a string of desired precision and returns a string representing the percentage format of the desired precision in the form of “{0:P<precission>}”. If the passing parameter represents a negative integer-, “{0:P0}” will be returned which indicates the whole number percentage.
Specific user roles are needed in order to create, read and use specific features of an LIO Profile.
[LIO_CREATOR] – This role will allow the user to create new LIO profiles.
[LIO_READER] – This role will allow users to read LIO profiles. The user will also need read access to the specifications associated to the LIO profile.
[LIO_STATEMENT_EDITOR] – This role will allow a user to override the generated statement within LIO. Without this role, the Copy arrow and the editable Override box will not be displayed. This role only comes into play when the GSM.LIO.FinalIngredientStatement.Editing.Enabled configuration key is set to false.
[LIO_SORTORDER] – This role will allow a user to adjust the sort order of the LIO tree components based on the moisture, solids and material losses applied to the formulation. When the user doesn’t have this role the Sort By button will be read only.
[LIO_COMPOSITION] – This role will allow a user to adjust Composition percentage based on the moisture, solids and material losses applied to the formulation. When the user doesn’t have this role the Composition Includes button will be read only.
The installer will perform the following tasks for you:
1. Changing the LIOSettings node in PRODIKA_HOME\Config\DeployedConfig.config.
<LIOSettings configExtends="file:%CONFIG_HOME%\Core\CoreAppSettings.config, CoreAppSettings/LIO/LIOSettings" configExtends2="file:%CONFIG_HOME%\Custom\CustomerSettings.config,CustomerSettings/LIO/LIOSettings" />
Note: The Installer may reformat some of the lines in this file.
2. Changing the LIO Version in PRODIKA_HOME\config\Custom\CustomerSettings.config.
<LIO>
<LIOSettings>
<currentVersion value="2"/>
<defaultLIOFormatLookupItemPkid value="22106EF83216-75C6-4643-8BCB-0483FFEBD6E2"/>
<defaultPrecision value="22106E9CB770-5E28-45D6-B28A-C16BD77A4596" />
<versionURLRedirect configChildKey="version">
<redirect version="1" url="../baseforms/frmLIOProfile.aspx"/>
<redirect version="2" url="../LIO/baseforms/frmAdvancedLIOProfile.aspx"/>
</versionURLRedirect>
</LIOSettings>
</LIO>
3. Adding
a new feature configuration to
PRODIKA_HOME\Config\Custom\CustomerSettings.config.
<add
key="GSM.LIO.Composition.Enabled" value="true"
configDescription="Allows user to adjust composition percentage by
removing adjusters from formulation. When false button is hidden."/>
<add key="GSM.LIO.SortOrder.Enabled" value="true"
configDescription="Allows user to adjust sort order by removing adjusters
from formulation. When false button is hidden."/>
<add key="GSM.LIO.ConstructionTab.Precision.Enabled"
value="true" configDescription="Allows user to set the display
precision of composition percentage values on Construction Tab."/>
<add key="GSM.LIO.FinalIngredientStatement.Editing.Enabled" value="true" configDescription="Allows user to override generated ingredient statement. When false user needs LIO_STATEMENT_EDITOR role."/>
<add key="GSM.LIO.FinalStatement.Precision.Enabled"
value="true" configDescription="Allows user to set the display
precision of composition percentage values on Final Statement
Tab."/><add key="GSM.LIO.SortOrder.Enabled"
value="true" configDescription="Allows user to adjust sort order
by removing adjusters from formulation. When false button is hidden."/>
Note: The Installer may reformat some of the lines in this file.
4. Updating
the LIO right click context menus in PRODIKA_HOME\Config\Extensions\SiteMapExtensions.xml.
<ContextMenu ID="UniversalLIOContextMenuAdvanced" DisplayText="--TopMenu" ContextMenu="Custom" Orientation="Vertical" SecurityProfileRef="" SkinRef="" TranslationRef="" Target="" NavigateUrl="" Sortable="true">
<MenuItem ID="lblPerformActions" SortOrder="5" Sortable="true" CssClass="hasIcon cssxIcoPerformActions" DisplayText="Perform Actions" Look-RightIconWidth="16" Look-RightIconHeight="16" Look-RightIconUrl="../images/menus/media_play_green.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="">
<MenuItem ID="lblView" SortOrder="10" CssClass="hasIcon cssxIcoView" DWBId="A" DisplayText="View" ClientSideCommand="ViewItem()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/view.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblAddNewGroup" SortOrder="20" CssClass="hasIcon cssxIcoAddNewGroup" DWBId="B" DisplayText="Add New Group" ClientSideCommand="AddNewGroupPopup()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/LIO/Groups.png" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblReconEquiv" SortOrder="30" CssClass="hasIcon cssxIcoReconEquiv" DWBId="D" DisplayText="Recon/Equiv" ClientSideCommand="ShowItemReconEquiv()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/potion_blue.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblReferToFIC" SortOrder="40" CssClass="hasIcon cssxIcoReferToFIC" DWBId="E" DisplayText="Refer To FIC" ClientSideCommand="ReferToFIC()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblRenameItem" SortOrder="50" CssClass="hasIcon cssxIcoRenameItem" DWBId="F" DisplayText="Rename Item" ClientSideCommand="RenamePopup()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDeleteGroup" SortOrder="60" CssClass="hasIcon cssxIcoDeleteGroup" DWBId="G" DisplayText="Delete Group" ClientSideCommand="DeleteGroup()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_error.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblAnnotate" SortOrder="70" CssClass="hasIcon cssxIcoAnnotate" DWBId="H" DisplayText="Annotate" ClientSideCommand="AnnotateItem()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/note.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblAuditHistory" SortOrder="80" CssClass="hasIcon cssxIcoAuditHistory" DWBId="I" DisplayText="Audit History" ClientSideCommand="ShowItemAuditHistory()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/table_view.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDivide" SortOrder="90" CssClass="hasIcon cssxIcoDivide" DWBId="J" DisplayText="Divide" ClientSideCommand="ShowDivideItemPopup()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/pie-chart.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</MenuItem>
<MenuItem ID="lblItem" SortOrder="10" Sortable="true" CssClass="hasIcon cssxIcoItem" DisplayText="Item" ClientSideCommand="ItemNameDeclaration()" Look-RightIconWidth="16" Look-RightIconHeight="16" Look-RightIconUrl="../images/menus/media_play_green.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="">
<MenuItem ID="lblSPItemName" SortOrder="20" CssClass="hasIcon cssxIcoItemName" DWBId="K" DisplayText="Item Name" ClientSideCommand="ItemNameDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDispPerofItem" SortOrder="21" CssClass="hasIcon cssxIcoDispPerofItem" DWBId="S" DisplayText="Display % of Item" ClientSideCommand="DispPercentofItem()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDispPerofTotal" SortOrder="22" CssClass="hasIcon cssxIcoDispPerofTotal" DWBId="T" DisplayText="Display % of Total" ClientSideCommand="DispPercentofTotal()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIngredientStatement" SortOrder="30" CssClass="hasIcon cssxIngredientStatement" DWBId="L" DisplayText="Ingredient Statement" ClientSideCommand="IngStmtDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDeclare" SortOrder="70" CssClass="hasIcon cssxIcoDeclare" DWBId="N" DisplayText="Declare" ClientSideCommand="DeclareItem()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblDoNotDeclare" SortOrder="60" CssClass="hasIcon cssxIcoDoNotDeclare" DWBId="M" DisplayText="Do Not Declare" ClientSideCommand="DoNotDeclare()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_error.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</MenuItem>
<MenuItem ID="lblListItems" SortOrder="40" Sortable="true" CssClass="hasIcon cssxListItems" DWBId="0" DisplayText="List Items" Look-RightIconWidth="16" Look-RightIconHeight="16" Look-RightIconUrl="../images/menus/media_play_green.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" >
<MenuItem ID="lblXYZ" SortOrder="10" DWBId="1" DisplayText="XYZ" ClientSideCommand="ListXYZDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ" SortOrder="20" DWBId="2" DisplayText="I(XYZ)" ClientSideCommand="ListI_XYZDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT" SortOrder="30" DWBId="3" DisplayText="I(XYZ%)" ClientSideCommand="ListI_XYZ_PDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT_T" SortOrder="40" DWBId="4" DisplayText="I(XYZ%)" ClientSideCommand="ListI_XYZ_TDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</MenuItem>
<MenuItem ID="lblListContext" SortOrder="50" Sortable="true" CssClass="hasIcon cssxIcoListContext" DWBId="O" DisplayText="List Context Items" Look-RightIconWidth="16" Look-RightIconHeight="16" Look-RightIconUrl="../images/menus/media_play_green.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" >
<MenuItem ID="lblXYZ" SortOrder="10" DWBId="1" DisplayText="XYZ" ClientSideCommand="ListXYZDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ" SortOrder="20" DWBId="2" DisplayText="I(XYZ)" ClientSideCommand="ListI_XYZDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT" SortOrder="30" DWBId="3" DisplayText="I(XYZ%)" ClientSideCommand="ListI_XYZ_PDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT_T" SortOrder="40" DWBId="4" DisplayText="I(XYZ%)" ClientSideCommand="ListI_XYZ_TDeclaration()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</MenuItem>
</ContextMenu>
<ContextMenu ID="FormulationContextMenuPrototypeAdvanced" Expanded="True" DisplayText="--TopMenu" Orientation="Vertical" SecurityProfileRef="" SkinRef="" TranslationRef="" Target="" NavigateUrl="" Sortable="true">
<MenuItem ID="lblXYZ1" SortOrder="10" CssClass="hasIcon cssxIcoContext" DWBId="1" DisplayText="{0} ... ( x, y )" ClientSideCommand="FormulationContextDeclaration( '{0}', 'IND_ITEM' )" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ1" SortOrder="20" CssClass="hasIcon cssxIcoContext" DWBId="2" DisplayText="{0} ... i ( x, y )" ClientSideCommand="FormulationContextDeclaration( '{0}', 'CMB_STMT' )" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT1" SortOrder="30" CssClass="hasIcon cssxIcoContext" DWBId="3" DisplayText="{0} ... i ( x%, y% ) of Item" ClientSideCommand="FormulationContextDeclaration( '{0}', 'CMB_STMT_PCT' )" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
<MenuItem ID="lblIXYZ_PCT_T" SortOrder="40" CssClass="hasIcon cssxIcoBreakdown" DWBId="4" DisplayText="{0} ... i ( x%, y% ) of Total" ClientSideCommand="FormulationContextDeclaration( '{0}', 'CMB_STMT_PCT_T' )" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/menus/document_add.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</ContextMenu>
<ContextMenu ID="RootLIOContextMenuAdvanced" DisplayText="--TopMenu" ContextMenu="Custom" Orientation="Vertical" SecurityProfileRef="" SkinRef="" TranslationRef="" Target="" NavigateUrl="">
<MenuItem ID="lblPerformActions" DisplayText="Perform Actions" Look-RightIconWidth="16" Look-RightIconHeight="16" Look-RightIconUrl="../images/menus/media_play_green.gif" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="">
<MenuItem ID="lblAddNewGroup" DWBId="Y" DisplayText="Add New Group" CssClass="hasIcon cssxIcoAddNewGroup" ClientSideCommand="AddNewGroupPopup()" Look-LeftIconWidth="16" Look-LeftIconHeight="16" Look-LeftIconUrl="../images/LIO/Groups.png" SecurityProfileRef="" SkinRef="DefaultSkin" TranslationRef="" Target="" NavigateUrl="" />
</MenuItem>
</ContextMenu>
5. Adding a new LIO folder under PRODIKA_HOME\Config\Extensions
6. Adding js files for customizing displayed precision to PRODIKA_HOME\Config\Extensions\LIO\
7. Adding extensions folder to PRODIKA_HOME\web\css
8. Adding LIO.css to PRODIKA_HOME\web\css\extensions\
9. Updating web.config file in PRODIKA_HOME\web\gsm\
· <LIOSettings handler="Class:Oracle.PLM4P.LIO.Lib.Config.AdvancedLIOSettingsConfigHandler,LIOLibrary" configExtends="file:%CONFIG_HOME%\DeployedConfig.config,DeployedConfig/Common/LIOSettings"/>
· <Services>
<LIOProfileService refscope="Session" factory="Singleton:Oracle.PLM4P.LIO.Service.LIOProfileServiceFactory,LIO"/>
10. Adding Jint.dll, LIO.dll and LIOLibrary.dll files in PRODIKA_HOME\web\gsm\bin\
11. Copy new LIO folder into PRODIKA_HOME\web\gsm\
12. Added LIO folder to PRODIKA_HOME\web\images
Note: If you use the Installer to “Remove” the LIO solution pack, the Jint.dll file will remain in PRODIKA_HOME\web\gsm\bin since it is used by multiple solution packs.