agile product lifecycle management · agile product lifecycle management sdk developer guide...
TRANSCRIPT
-
Agile Product Lifecycle Management
SDK Developer Guide
January 2010
v9.3.0.2
Part No. E15928-02
-
ii Agile Product Lifecycle Management
Oracle Copyright
Copyright © 1995, 2010, 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 software or related documentation 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 RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software 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 which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
This software 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.
-
v9.3.0.2 iii
CONTENTS
Oracle Copyright ................................................................................................................................... ii
What's New in Release 9.3.0.2? ........................................................................................................ xx
What Was New in Release 9.3.0.1? ................................................................................................... xx
Introduction ...................................................................................................................... 1
About Agile SDK ...................................................................................................................................1
SDK Components .................................................................................................................................2
Client-Side Components..................................................................................................................................................... 2
Server-Side Components ................................................................................................................................................... 2
SDK Architecture ..................................................................................................................................3
System Requirements ..........................................................................................................................4
Java Requirements...............................................................................................................................4
Java Virtual Memory Parameters (JVM) to Avoid Out of Memory Exceptions ................................................................... 4
Agile SDK Installation Folders ..............................................................................................................5
Checking Your Agile PLM System .......................................................................................................5
Agile PLM Business Objects ................................................................................................................5
Getting Started with Agile API.......................................................................................... 7
Agile API Overview ...............................................................................................................................7
Types of Agile API Classes and Interfaces ........................................................................................................................ 7
Network Class Loading....................................................................................................................................................... 8
Single-Threaded versus Multi-Threaded Applications ........................................................................................................ 9
Packaging an Agile API Program ....................................................................................................................................... 9 Distributing Agile API Files ....................................................................................................... 9
Sample Programs ............................................................................................................................................................... 9
Starting an Agile API Program .......................................................................................................... 10
Setting the Class Path for the Agile API Library ............................................................................................................... 10
Importing Agile API Classes ............................................................................................................................................. 10
Creating a Session and Logging In .................................................................................................................................. 10
Creating a Session by Accessing a Password-Protected URL ........................................................................................ 12
Creating a Session from an Agile Web Service ................................................................................................................ 12
Loading and Creating Agile PLM Objects ......................................................................................... 13
Loading Objects................................................................................................................................................................ 13 Specifying Object Types ......................................................................................................... 14 Specifying Object Parameters ................................................................................................ 14 Loading Different Types of Objects ........................................................................................ 15
Creating Objects ............................................................................................................................................................... 18
-
iv Agile Product Lifecycle Management
Working with Agile PLM Classes ............................................................................................ 19 Creating Objects of User-Defined Subclasses ....................................................................... 20 Using AutoNumbers ............................................................................................................... 20 Setting the Required Fields .................................................................................................... 22 Creating Different Types of Objects ....................................................................................... 25
Checking the State of Agile PLM Objects......................................................................................................................... 29
Propagating Values to Related Objects............................................................................................................................ 29
Saving an Object to a New Object.................................................................................................................................... 30
Sharing an Object ............................................................................................................................................................. 30
Deleting and Undeleting Objects ...................................................................................................................................... 31
Closing a Session ............................................................................................................................................................. 33
Creating and Loading Queries ......................................................................................... 35
About Queries .................................................................................................................................... 35
Creating a Query ............................................................................................................................... 35
Saving a Query to a Folder ............................................................................................................... 36
Generating Ordered (sorted) or Unordered Query Results ............................................................... 37
Creating a Parameterized Query ....................................................................................................... 38
Specifying Query Attributes when Creating a Query ......................................................................... 39
Specifying Workflow Queries ............................................................................................................ 40
Specifying Search Criteria ................................................................................................................. 41
Search Conditions ............................................................................................................................................................ 41
Query Language Keywords .............................................................................................................................................. 42
Specifying Search Attributes ............................................................................................................................................ 42
Retrieving Searchable Attributes ...................................................................................................................................... 43
Using Relational Operators .............................................................................................................................................. 44 Using Unicode Escape Sequences ........................................................................................ 45 Using Between, Not Between, In, and Not In Operators ........................................................ 45 Using the Nested Criteria to Search for Values in Object Lists .............................................. 46 Using Criteria Selected from Criteria Library in SDK Queries ................................................ 47 Using Relationships and Content in SDK Queries ................................................................. 47 Searching for Words or Phrases Contained in Attachments .................................................. 48
Formatting Dates in Query Criteria ................................................................................................................................... 49
Using Logical Operators ................................................................................................................................................... 50
Using Wildcard Characters with the Like Operator ........................................................................................................... 50
Using Parentheses in Search Criteria .............................................................................................................................. 50
Using SQL Syntax for Search Criteria ............................................................................................... 51
Using SQL Wildcards ....................................................................................................................................................... 53
Sorting Query Results Using SQL Syntax ........................................................................................................................ 53
Setting Result Attributes for a Query ................................................................................................. 54
Specifying Result Attributes.............................................................................................................................................. 59
Retrieving CTO Originator Name ..................................................................................................................................... 60
-
v9.3.0.2 v
Duplicate Results for Site-Related Objects and AMLs ..................................................................................................... 61
Working with Query Results .............................................................................................................. 61
Sorting Query Results ...................................................................................................................................................... 61
Query Result Datatypes ................................................................................................................................................... 61
Managing Large Query Results ........................................................................................................................................ 62
Query Performance .......................................................................................................................................................... 62
Creating a Where-Used Query .......................................................................................................... 62
Loading a Query ................................................................................................................................ 63
Deleting a Query ................................................................................................................................ 64
Working with Tables ....................................................................................................... 67
About Tables ..................................................................................................................................... 67
Retrieving a Table ............................................................................................................................. 68
Accessing the New and Merged Relationships Tables ..................................................................... 69
Accessing the Relationships Table................................................................................................................................... 70
Accessing the Merged Tables .......................................................................................................................................... 70 Accessing the Merged Relationships.AffectedBy Table ......................................................... 70 Accessing the Merged Relationships.Affects table ................................................................ 70 Accessing the Merged Relationships.References Table ........................................................ 70
Working with Read-only Tables ........................................................................................................................................ 71
Retrieving the Metadata of a Table ................................................................................................... 71
Adding Table Rows ........................................................................................................................... 72
Adding an Item to the BOM Table .................................................................................................................................... 72
Adding an Attachment to the Attachments Table ............................................................................................................. 73
Adding a Manufacturer Part to the Manufacturers Table.................................................................................................. 73
Adding an Item to the Affected Items Table ..................................................................................................................... 74
Adding a Task to the Schedule Table............................................................................................................................... 74
Adding and Updating Multiple Table Rows ....................................................................................... 74
Adding Multiple Items to the BOM Table .......................................................................................................................... 75
Updating Multiple BOM Rows........................................................................................................................................... 75
Iterating Over Table Rows ................................................................................................................. 77
Updating Objects in Query Results with Multiple Page Tables ........................................................................................ 78 Updating Table Rows when Iterating Large Query Results ................................................... 78
Sorting Table Rows ........................................................................................................................... 78
Removing Table Rows ...................................................................................................................... 80
Retrieving the Referenced Object for a Row ..................................................................................... 81
Checking Status Flags of a Row ....................................................................................................... 85
Working with Page 1, Page 2, and Page 3 ....................................................................................... 85
Redlining ............................................................................................................................................ 86
Removing Redline Changes .............................................................................................................. 88
-
vi Agile Product Lifecycle Management
Removing Redline Changes in Bulk Mode ....................................................................................................................... 88
Identifying Redlined Rows and Redlined Cells ................................................................................. 89
Using ICell.getOldValue ................................................................................................................................................... 89
Working with Data Cells ................................................................................................. 91
About Data Cells ................................................................................................................................ 91
Data Types ........................................................................................................................................ 91
Checking User's Discovery Privilege ................................................................................................. 92
Checking Whether a Cell is Read-Only ............................................................................................. 93
Getting Values - 9.3 ........................................................................................................................... 93
Understanding SDK Date Formats and User Preferences ............................................................................................... 95
Setting Values ................................................................................................................................... 95
Catching Exceptions for Locked Objects .......................................................................................................................... 96
Getting and Setting List Values ......................................................................................................... 96
Getting and Setting Values for SingleList Cells ................................................................................................................ 97
Getting and Setting Values for MultiList Cells .................................................................................................................. 98
Getting and Setting Values for Cascading Lists ............................................................................................................... 98
Using Reference Designator Cells .................................................................................................. 100
Working with Folders .................................................................................................... 101
About Folders .................................................................................................................................. 101
Using Level Separation Characters in Folder and Object Names .................................................................................. 102
Loading a Folder .............................................................................................................................. 103
Creating a Folder ............................................................................................................................. 103
Setting the Folder Type ................................................................................................................... 104
Adding and Removing Folder Elements .......................................................................................... 104
Adding Folder Elements ................................................................................................................................................. 105
Removing Folder Elements ............................................................................................................................................ 105
Getting Folder Elements .................................................................................................................. 105
Deleting a Folder ............................................................................................................................. 108
Working with Items, BOMs, and AMLs .......................................................................... 109
About Items, BOMs, and Tables ..................................................................................................... 109
Working with Items .......................................................................................................................... 109
Getting and Setting the Revision of an Item ................................................................................................................... 109
Changing the Incorporated Status of a Revision ............................................................................................................ 112
Working with BOMs ......................................................................................................................... 112
Adding an Item to a BOM ............................................................................................................................................... 113
Expanding a BOM .......................................................................................................................................................... 113
Copying one BOM into another BOM ............................................................................................................................. 114
-
v9.3.0.2 vii
Creating BOM-Related Product Reports ........................................................................................................................ 115
Redlining a BOM ............................................................................................................................................................ 117 Getting a Released Assembly Item ...................................................................................... 117 Creating a Change Order ..................................................................................................... 118 Adding an Item to the Affected Items tab of a Change Order .............................................. 118 Modifying the Redline BOM Table ........................................................................................ 119
Working with AMLs .......................................................................................................................... 120
Adding an Approved Manufacturer to the Manufacturers Table ..................................................................................... 120
Redlining an AML ........................................................................................................................................................... 122
Accessing PLM Metadata with APIName Field .............................................................. 123
About APIName Field ...................................................................................................................... 123
Assigning Names to APIName Fields ............................................................................................. 124
APIName Validation Rules .............................................................................................................. 124
Accessing Metadata Using the APIName Field .............................................................................. 125
APIs that Support the APIName Field ............................................................................................................................ 125
SDK APIs to get the APIName Field .............................................................................................................................. 129
API Names of Root Administrator Nodes ....................................................................................................................... 130
API Name Examples ...................................................................................................................................................... 131
Subscribing to Agile PLM Objects ................................................................................. 137
About User Subscriptions ................................................................................................................ 137
Subscription Events ........................................................................................................................................................ 137
Subscribe Privilege ......................................................................................................................................................... 138
Subscription Notifications ............................................................................................................................................... 138 Sending Notifications with SDK ............................................................................................ 138
Deleting Subscribed Objects .......................................................................................................................................... 139
Getting Subscriptions for an Object ................................................................................................. 140
Modifying the Subscriptions for an Object ....................................................................................... 141
Making Attributes Available for Subscription ................................................................................... 142
Parent and Child Attributes............................................................................................................................................. 143
Working with Subscription Tables ................................................................................................... 144
Managing Manufacturing Sites ..................................................................................... 147
About Manufacturing Sites .............................................................................................................. 147
Controlling Access to Sites .............................................................................................................. 147
Creating a Manufacturing Site ......................................................................................................... 148
Loading a Manufacturing Site .......................................................................................................... 148
Retrieving the Sites Table for an Item ............................................................................................. 149
Adding a Manufacturing Site to the Sites Table .............................................................................. 149
Selecting the Current Manufacturing Site for an Item ..................................................................... 150
-
viii Agile Product Lifecycle Management
Disabling a Site ................................................................................................................................ 152
Working with Lists ........................................................................................................ 153
About Lists ....................................................................................................................................... 153
List Library ...................................................................................................................................................................... 153
SingleList Lists................................................................................................................................................................ 154
Cascading Lists .............................................................................................................................................................. 155
MultiList Lists .................................................................................................................................................................. 156
Methods that Use IAgileList ............................................................................................................................................ 156
Selecting a List Value ...................................................................................................................... 157
Working with Lifecycle Phase Cells ................................................................................................................................ 159
Working with Dynamic Lists............................................................................................................................................ 159 Enumerable and Non-Enumerable Lists .............................................................................. 160 Non-Enumerable PG&C Lists ............................................................................................... 161
Selecting a List from the List Library ............................................................................................... 161
Creating Custom Lists ..................................................................................................................... 163
Creating a Simple List .................................................................................................................................................... 163
Automatically Creating New Lists by Modifying Existing Lists ........................................................................................ 164
Creating a Cascading List .............................................................................................................................................. 165
Checking the Data Type of a List .................................................................................................... 167
Modifying a List ................................................................................................................................ 168
Adding a Value to a List.................................................................................................................................................. 168
Making List Values Obsolete .......................................................................................................................................... 169
Setting the List Name and Description ........................................................................................................................... 170
Setting Level Names for a Cascading List...................................................................................................................... 170
Enabling or Disabling a List ............................................................................................................................................ 170
Deleting a List ................................................................................................................................................................. 171
Modifying and Removing List Values ............................................................................................................................. 171
Printing Contents of IAgileList Objects ............................................................................................ 172
Working with Attachments and File Folder Objects ..................................................... 175
About Attachments and File Folders ............................................................................................... 175
Working with File Folders ................................................................................................................ 176
File Folder Classes and Subclasses .............................................................................................................................. 176
File Folder Tables and Constants................................................................................................................................... 177
Creating File Folder Objects ........................................................................................................................................... 177
Creating File Folder Objects by Adding Rows to Attachments Table ............................................................................. 180
Working with the Files Table of a File Folder ................................................................................................................. 180
Accessing Files in Agile PLM File Vault with IAttachmentFile ........................................................................................ 181
Working with Attachments Table of an Object ................................................................................ 182
-
v9.3.0.2 ix
Checking In and Checking Out Files with ICheckoutable ............................................................................................... 183
Specifying the Revision of the Item ................................................................................................................................ 184
Checking whether the Revision Is Incorporated ............................................................................................................. 184
Checking Out a File Folder .............................................................................................................. 185
Canceling a File Folder Checkout ................................................................................................... 185
Adding Files and URLs to the Attachments Table .......................................................................... 186
Deep Cloning Attachments and Files from One Object to Another ................................................................................ 188
Specifying the File Folder Subclass When Adding Attachments .................................................................................... 189
Retrieving Attachment Files............................................................................................................................................ 190
Deleting Attachments and File Folders........................................................................................................................... 191
Working with Thumbnails ............................................................................................................................................... 192 Accessing Thumbnails .......................................................................................................... 192 Regenerating Thumbnails .................................................................................................... 193 Setting Master Thumbnails ................................................................................................... 193 Replacing Thumbnails .......................................................................................................... 194 Sequencing Thumbnails ....................................................................................................... 195 Generating Thumbnails while Adding Files to Attachments Tab .......................................... 195
Working with Design Objects.......................................................................................................................................... 195
Adding and Loading Design Objects .............................................................................................................................. 196
Managing Version Specific Relationships between Design Objects .............................................................................. 196 Adding Relationships for Specific Versions of Design Objects ............................................ 196 Removing Relationships for Specific Versions of Design Objects ....................................... 197 Getting Relationships for Specific Versions of Design Objects ............................................ 197 Editing Relationships for Specific Versions of Design Objects ........................................... 197
Purging Specific Versions of Design Objects ................................................................................................................. 197
Searching Design Object Deployments with Where-Used Queries................................................................................ 198
Importing and Exporting Data with SDK ...................................................................... 201
About Importing and Exporting Data ............................................................................................... 201
Validating Import Data and Importing Data ..................................................................................... 201
Invoking Validation and Importing Data with SDK .......................................................................................................... 202
Exporting Data from the SDK .......................................................................................................... 204
Invoking Export from the SDK ........................................................................................................................................ 205
Managing Workflow ...................................................................................................... 207
About Workflow ............................................................................................................................... 207
The Change Control Process ......................................................................................................................................... 207
Dynamics of Workflow Functionality ............................................................................................................................... 208 How the Status of a Change Affects Workflow Functionality ............................................... 208 How User Privileges Affect Workflow Functionality .............................................................. 208
Selecting a Workflow ....................................................................................................................... 209
Adding and Removing Approvers .................................................................................................... 210
Setting the ―Signoff User Dual Identification‖ Preference ............................................................................................... 212
-
x Agile Product Lifecycle Management
Approving a Routable Object................................................................................................ 212 Rejecting a Routable Object ................................................................................................. 213 Adding User Groups of Approvers and Users to Approve Routable Objects ....................... 215 Approving a Routable Object by Users on behalf of ―Transferred from Users‖ ................... 216 Adding Active Escalations for the Current User to Approve a Routable Object ................... 217 Specifying a Second Signature to Approve a Routable Object ............................................ 218 Adding User ID as Second Signature to Approve a Routable Object .................................. 219
Approving or Rejecting a Change ................................................................................................... 220
Commenting a Change ................................................................................................................... 221
Auditing a Change ........................................................................................................................... 221
Changing the Workflow Status of an Object ................................................................................... 222
Sending an Agile Object to Selected Users .................................................................................... 225
Sending an Agile Object to User Groups ........................................................................................ 225
Managing and Tracking Quality .................................................................................... 227
About Quality Control ...................................................................................................................... 227
Quality-Related API Objects ........................................................................................................................................... 227
Quality-Related Roles and Privileges ............................................................................................................................. 228
Working with Customers ................................................................................................................. 228
About Customers ............................................................................................................................................................ 228
Creating a Customer ...................................................................................................................................................... 228
Loading a Customer ....................................................................................................................................................... 229
Saving a Customer as Another Customer ...................................................................................................................... 229
Working with Product Service Requests ......................................................................................... 230
About Problem Reports .................................................................................................................................................. 230
About Nonconformance Reports .................................................................................................................................... 230
Creating a Product Service Request .............................................................................................................................. 230
Assigning a Product Service Request to a Quality Analyst ............................................................................................ 231
Adding Affected Items to a Product Service Request..................................................................................................... 231
Adding Related PSRs to a Product Service Request ..................................................................................................... 232
Working with Quality Change Requests .......................................................................................... 233
Creating a Quality Change Request ............................................................................................................................... 233
Assigning a Quality Change Request to a Quality Administrator ................................................................................... 234
Saving a Quality Change Request as a Change ............................................................................................................ 234
Using Workflow Features with PSRs and QCRs ............................................................................. 235
Selecting Workflows for PSRs and QCRs ...................................................................................................................... 235
Creating and Managing Projects ................................................................................... 237
About Projects and Projects Objects ............................................................................................... 237
Differences in the Behavior of Projects Objects .............................................................................. 238
Creating Projects ............................................................................................................................. 238
Adding Rules for PPM Objects ........................................................................................................ 240
-
v9.3.0.2 xi
Loading Projects .............................................................................................................................. 241
Using Projects Templates ............................................................................................................... 241
Creating New Projects Using Templates ........................................................................................................................ 241
Creating Projects and Changing Ownerships................................................................................................................. 242
Saving Projects as Templates ........................................................................................................................................ 243
Scheduling Projects ......................................................................................................................... 244
Working with Projects Baselines ..................................................................................................... 247
Delegating Ownership of a Projects to Another User ...................................................................... 248
Adding Resources to a Projects‘ Team ........................................................................................... 248
Substituting Projects Resources ..................................................................................................... 251
Locking or Unlocking Projects ......................................................................................................... 252
Working with Discussions ................................................................................................................ 252
Creating a Discussion..................................................................................................................................................... 252
Replying to a Discussion ................................................................................................................................................ 254
Joining a Discussion ....................................................................................................................................................... 256
Creating an Action Item .................................................................................................................................................. 257
Working with Product Cost Management ..................................................................... 259
Overview .......................................................................................................................................... 259
Working with Price Objects ............................................................................................................. 260
Managing Pricing ............................................................................................................................. 260
Creating a Price Object .................................................................................................................................................. 261 Defaults ................................................................................................................................. 261 Specifying Item Revision ...................................................................................................... 262 Creating a Published Price ................................................................................................... 262
Loading a Price Object ................................................................................................................................................... 262
Adding Price Lines.......................................................................................................................................................... 263
Creating a Price Change Order ...................................................................................................................................... 264
Working with Suppliers .................................................................................................................... 265
Loading a Supplier.......................................................................................................................................................... 265
Modifying Supplier Data ................................................................................................................................................. 266
Working with Sourcing Projects ....................................................................................................... 267
Supported API Methods ................................................................................................................................................. 268
Loading an Existing Sourcing Project ............................................................................................................................. 268
Creating a Sourcing Project by Quantity Breaks ............................................................................................................ 269
Creating a Sourcing Project by Quantity Breaks and Price Periods ............................................................................... 269
Accessing and Modifying Objects, Tables, and Attributes.............................................................................................. 271 Setting Cover Page Values for a Sourcing Project .............................................................. 271
Understanding Nested Tables in PCM ........................................................................................................................... 272
-
xii Agile Product Lifecycle Management
Sourcing Project Parent Table and Nested Child Table Constants ..................................... 272 Accessing and Modifying Nested Tables in a Sourcing Project or RFQ .............................. 273 Accessing and Modifying a Sourcing Project's Status ......................................................... 273
Managing Data in Sourcing Projects .............................................................................................................................. 274 Setting Quantity for Items in a Sourcing Project ................................................................... 274 Performing Quantity Rollup in a Sourcing Project ................................................................ 275 Performing Cost Rollup in a Sourcing Project ...................................................................... 275 Performing Price Lookup in a Sourcing Project .................................................................... 276 Setting Partners in a Sourcing Project ................................................................................. 281 Modifying the Target Price for Items in a Sourcing Project .................................................. 282 Setting the Best Response for an Item in a Sourcing Project .............................................. 283
Working with RFQs......................................................................................................................................................... 284 Supported API Methods ....................................................................................................... 285 Creating RFQs for a Sourcing Project .................................................................................. 285 Loading Existing RFQs ......................................................................................................... 286 Loading RFQs from a Sourcing Project‘s RFQ Table .......................................................... 286 Accessing and Modifying RFQ Objects, Tables, Nested Tables, and Attributes ................. 287 Performing Price Lookup in RFQs ........................................................................................ 288 Working with RFQ Responses ............................................................................................. 289
Managing Product Governance & Compliance .............................................................. 291
About Agile Product Governance and Compliance ......................................................................... 291
Agile PG&C Interfaces and Classes ................................................................................................ 292
Agile PG&C Roles ........................................................................................................................... 292
Creating Declarations, Specifications, and Substances.................................................................. 293
Creating Declarations ..................................................................................................................................................... 293
Creating Specifications ................................................................................................................................................... 294
Creating Substances ...................................................................................................................................................... 295 Creating a Subpart ............................................................................................................... 295 Creating a Substance Group ................................................................................................ 296 Creating a Material ............................................................................................................... 296 Creating a Substance ........................................................................................................... 297
Adding Items, Manufacturer Parts, and Part Groups to Declarations ............................................. 297
Adding Substances to Declarations ................................................................................................ 298
Structure of Bill of Substances ....................................................................................................................................... 299
Rules for Adding Substances ......................................................................................................................................... 300
Adding Subparts and Materials that Do Not Exist .......................................................................................................... 300
Adding Examples to Substances .................................................................................................................................... 301 Adding Substances to Manufacturer Part Composition Table of Homogeneous Material Declarations .......................................................................................................................... 301 Adding Substances to Manufacturer Part Composition Table of Substance Declarations .. 303
Adding Substances to a Specification ............................................................................................. 304
Adding Specifications to a Declaration ............................................................................................ 305
Rules for Adding Specifications ...................................................................................................................................... 305
Routing Declarations ....................................................................................................................... 306
-
v9.3.0.2 xiii
Completing a Declaration ................................................................................................................ 307
Submitting a Declaration to the Compliance Manager .................................................................... 308
Publishing a Declaration .................................................................................................................. 308
Getting and Setting Weight Values ................................................................................................. 309
Adding Substance Compositions for a Manufacturer Part .............................................................. 310
Rolling Up Compliance Data ........................................................................................................... 312
Understanding the IPGCRollup Interface ....................................................................................................................... 313 Passing the Date Parameter ................................................................................................ 313
Using the IPGCRollup Interface ..................................................................................................................................... 313 Rolling Up Assembled Data on Items ................................................................................... 314 Rolling Up Assembled Data on MPNs .................................................................................. 314 Setting Values in the Calculated Compliance Field for Item Objects ................................... 315 Setting Values in the Calculated Compliance Field for Declaration Objects ........................ 316
Handling Exceptions ..................................................................................................... 317
About Exceptions............................................................................................................................. 317
Exception Constants........................................................................................................................ 318
Getting Error Codes......................................................................................................................... 318
Disabling and Enabling Error Codes with Bulk APIs ....................................................................... 318
Getting Error Messages .................................................................................................................. 319
Disabling and Enabling Warning Messages .................................................................................... 320
Checking if APIException is Warning and not Error ........................................................................ 321
Saving and Restoring Enabled and Disabled Warnings' State ....................................................... 321
Deleting Warnings Automatically Disabled by Agile API ................................................................. 322
Performing Administrative Tasks .................................................................................. 323
About Agile PLM Administration ...................................................................................................... 323
Privileges Required to Administer Agile PLM .................................................................................. 324
Administrative Interfaces ................................................................................................................. 324
Getting an IAdmin Instance ............................................................................................................. 325
Working with Nodes......................................................................................................................... 326
Working with the Classes Node...................................................................................................................................... 330
Managing Agile PLM Classes ......................................................................................................... 330
Concrete and Abstract Classes ...................................................................................................................................... 332
Referencing Classes ...................................................................................................................................................... 334
Identifying the Target Type of a Class ............................................................................................................................ 334
Working with Attributes .................................................................................................................... 335
Referencing Attributes .................................................................................................................................................... 335
Referencing Attributes - 9.3 ............................................................................................................................................ 336
Retrieving Attributes ....................................................................................................................................................... 337
Retrieving Individual Attributes ....................................................................................................................................... 338
-
xiv Agile Product Lifecycle Management
Editing the Property of an Attribute................................................................................................................................. 338
Working with User-Defined Attributes ............................................................................................................................. 339
Working with Properties of Administrative Nodes ........................................................................... 339
Managing Users .............................................................................................................................. 340
Getting All Users............................................................................................................................................................. 340
Creating a User .............................................................................................................................................................. 341
Creating a Supplier User ................................................................................................................................................ 342
Saving a User to a New User ......................................................................................................................................... 342
Checking for Expired Passwords.................................................................................................................................... 343
Configuring User Settings............................................................................................................................................... 343
Resetting User Passwords ............................................................................................................................................. 345
Deleting a User ............................................................................................................................................................... 345
Managing User Groups ................................................................................................................... 345
Getting All Users Groups ................................................................................................................................................ 346
Creating a User Group ................................................................................................................................................... 346
Adding a User Group to the User's User Group Table ................................................................................................... 348
Listing Users in a User Group ........................................................................................................................................ 348
Developing Process Extensions .................................................................................... 349
About Process Extensions .............................................................................................................. 349
Developing Custom Autonumber Sources ...................................................................................... 350
Defining a Custom Autonumber Source ......................................................................................................................... 350
Packaging and Deploying a Custom Autonumber Source ............................................................................................. 351
Configuring Custom Autonumber Sources in Java Client .............................................................................................. 352 Assigning Autonumber Sources to a Subclass .................................................................... 353
Developing Custom Actions ............................................................................................................ 353
Defining a Custom Action ............................................................................................................................................... 353 Formatting New Lines (Line Breaks) in PLM Clients ............................................................ 354
Custom Actions and User Sessions ............................................................................................................................... 354
Packaging and Deploying a Custom Action ................................................................................................................... 355
Roles and Privileges for Custom Actions ....................................................................................................................... 355 User Privileges for Configuring Process Extensions ............................................................ 356
Configuring Custom Actions in Agile Java Client ........................................................................................................... 356 Using the Process Extension Library ................................................................................... 356 Assigning Process Extensions to Classes ........................................................................... 358 Assigning Process Extensions to Workflow Statuses .......................................................... 358
Defining and Deploying URL-Based Process Extensions ............................................................... 359
Before Building a URL-Based Process Extension .......................................................................................................... 360
Defining a URL-Based Process Extension ..................................................................................................................... 360
Passing Encoded Agile PLM Information to Other Applications ..................................................................................... 361
Creating an Agile PLM Session from the Target System ............................................................................................... 361
-
v9.3.0.2 xv
Retrieving an Agile PLM Object from an HTTP Request ................................................................................................ 363
Identifying Attributes for Agile PLM Classes................................................................................................................... 363
Creating an External Report ............................................................................................................ 365
Deploying Process Extensions in a Clustered Environment ........................................................... 366
Best Practices for Copying third Party JAR Files ............................................................................ 366
Process Extensions FAQ ................................................................................................................ 367
Developing Web Service Extensions ............................................................................. 371
About Web Service Extensions ....................................................................................................... 371
Key Features .................................................................................................................................................................. 372
WSX Architecture ........................................................................................................................................................... 373
About Web Services ........................................................................................................................ 373
Web Services Architecture ............................................................................................................................................. 374
Security........................................................................................................................................................................... 375
Tools ............................................................................................................................................................................... 375
Finding Additional Information About Web Services ...................................................................................................... 376
Developing and Deploying a Web Service ...................................................................................... 376
About Deployment Descriptors ....................................................................................................................................... 376
Reserved Web Service Names ...................................................................................................................................... 377
Using a Web Service ....................................................................................................................... 377
Defining a Web Service Entry Point ............................................................................................................................... 378
Authenticating Users ....................................................................................................................... 378
Using Single Sign-On Cookies for Client-Server Access ................................................................ 379
Deployment Architecture ................................................................................................................................................ 379
Invoking the Web Service Client with a Single Sign-on Cookie...................................................................................... 379 Retrieve the Single Sign-On Cookie ..................................................................................... 379 Modifying the SOAP Binding Stub Code .............................................................................. 380
Preparing the Environment for MyFirstWebService Sample ........................................................... 380
Downloading Tools to Build the Sample ......................................................................................................................... 381
Installing the Java SDK .................................................................................................................................................. 381
Installing Ant .................................................................................................................................................................. 381
Building MyFirstWebService Sample .............................................................................................. 382
About Web Service Clients .............................................................................................................. 383
Client Programming Languages ..................................................................................................................................... 383
Accessing a Web Service ............................................................................................................................................... 384
Creating MyFirstClient ..................................................................................................................... 384
Generating the SOAP Request ...................................................................................................................................... 384
Submitting the SOAP Request ....................................................................................................................................... 385
Processing the SOAP Response.................................................................................................................................... 385
Running MyFirstClient .................................................................................................................................................... 386
-
xvi Agile Product Lifecycle Management
Creating an Agile Session inside WSX........................................................................................................................... 386
Microsoft .NET Interoperability ........................................................................................................ 386
Web Service Extensions FAQs ....................................................................................................... 387
Developing Dashboard Management Extensions ......................................................... 391
About Dashboard Management Extensions .................................................................................... 391
Roles and Privileges in Dashboard Management Extensions ........................................................................................ 392
Developing Custom Chart Dashboard Management Extensions .................................................... 392
Understanding ChartDataModel and ChartDataSet ....................................................................................................... 392
Defining a Custom Chart DX Data Source ..................................................................................................................... 392
Packaging and Deploying a Custom Chart DX Source .................................................................................................. 394
Configuring Chart DXs in Java Client ............................................................................................................................. 394 Displaying Optional Tabs in Agile Web Client ...................................................................... 395
Developing Custom Table Dashboard Management Extensions ................................................... 396
Understanding Collection and CustomTableConstants .................................................................................................. 396
Defining a Custom Table DX Data Source ..................................................................................................................... 396
Packaging and Deploying a Custom Table DX Source .................................................................................................. 399 To package and deploy a Table DX source: ........................................................................ 399
Configuring Table DXs in Java Client ............................................................................................................................. 400 To Add a Table to a Tab: ...................................................................................................... 400 To Add Data to Tables: ......................................................................................................... 401
Defining Custom (URL) Extensions ................................................................................................. 401
Agile PLM Events and Event Framework ....................................................................... 403
Understanding Agile PLM Events and Event Framework ............................................................... 403
Key Components of an Agile PLM Event ........................................................................................ 403
Event Types.................................................................................................................................................................... 404
Event Handler and Handler Types ................................................................................................................................. 405
Event Subscribers .......................................................................................................................................................... 405 Event Trigger and Trigger Types .......................................................................................... 405 Synchronous and Asynchronous Execution Modes ............................................................. 406 Event Error Handling Rule .................................................................................................... 406 Event Order .......................................................................................................................... 407
Event Generation, Processing, and Execution ................................................................................ 407
Working with Event Context Objects ............................................................................ 409
Understanding Event Context Objects ............................................................................................ 409
Persistent and Transient Data ........................................................................................................................................ 409
Event Information Objects .............................................................................................................................................. 410
Event Script Objects ....................................................................................................................................................... 412
Working with Event Information and Event Script Objects .............................................................. 413
Working with Base Event Actions ................................................................................................................................... 413
-
v9.3.0.2 xvii
Base Event Information Object - Java PX ............................................................................ 413 Base Event Script Objects - Script PX ................................................................................. 414
Working with General Object Actions ............................................................................................................................. 416 General Object Actions - Java PX ........................................................................................ 416 Working with General Base Event Script Objects ................................................................ 419
Working with Table and Relationship Actions ................................................................................................................ 422 Table and Relationship Actions - Java PX ........................................................................... 422 Table and Relationship Actions - Script PX .......................................................................... 424
Working with Workflow Object Actions ........................................................................................................................... 426
Workflow Object Actions - Java PX ................................................................................................................................ 426
Workflow Object Actions - Script PX .............................................................................................................................. 429
Working with Specific Object-Based Actions .................................................................................................................. 432 Specific Object-Based Actions - Java PX ............................................................................. 432 Specific Object-Based Actions - Script PX .......................................................................... 432
Working with Files and Attachments Objects Actions .................................................................................................... 433 Files and Attachments Objects Actions - Java PX ............................................................... 433 Files and Attachments Objects Actions - Script PX.............................................................. 434
Working with Product Governance and Compliance Actions ....................