Skip Headers

Agile Product Lifecycle Management Import/Export Guide Release 9.3.3 E39290-01 |
| Contents

Previous | Next |

# 12 Using FileLoad

FileLoad is a utility that supports load attachment files directly from a source system into the Agile File Manager where they are attached to the appropriate Agile PLM Objects.

## 12.1 Overview

The Product Sourcing module of the Agile PLM supports, enhances, and simplifies the handling of all product cost-related data throughout the product lifecycle. This enables you to effectively manage and manipulate Sourcing content, collaborate with suppliers to establish new Sourcing content, and analyze the data. Product Sourcing supports the following functions:

- Create Sourcing Projects

- Gather and prepare product content

- Leverage pricing contracts and history

- Create Request for Quote (RFQ) objects

- Manage supplier RFQ responses and negotiate pricing (Not supported by PCM SDK)

- Conduct Sourcing Project analysis

The Agile API supports the following Product Sourcing objects:

- IChange - This interface is for the Change class, which includes Price Change Orders (PCOs).

- IPrice - This interface is for the Price class, which handles both published prices and historical prices.

- IProject - This interface is for the Sourcing Projects class, which is the container used for product Sourcing data.

- IRequestForQuote - This interface is for the RequestForQuote class, which represents an RFQ for a Sourcing Project.

- ISupplier - This interface is for the Supplier class.

Except for the ISupplierResponse object, the Agile API allows you to read and modify all Product Sourcing objects. The following table lists the create, read, and modify rights for Product Sourcing objects.

Object | Create | Read | Modify
--- | --- | --- | ---
IChange (including PCO) | Yes | Yes | Yes
IPrice | Yes | Yes | Yes
IProject | Yes | Yes | Yes
IRequestForQuote | Yes | Yes | Yes
ISupplier | Yes | Yes | Yes

### 12.1.1 Choosing a FileLoad Client

Both Web Client and Java Client have FileLoad utilities. Although they are very similar, they perform differently and offer slightly different options.

Feature | Java Client | Web Client
--- | --- | ---
Loads files | Yes | Yes
Loads references to URLs (Web locations) | Yes | Yes
Loads references to files in a Custom (read-only) file vault (INPLACE attachments) | Yes | NA
Supports files up to 40 GB in size | Yes | Yes
Supports multiple dedicated threads | Yes | NA
Supports uploading files remotely | Yes | Yes
Locates files on the local machine (unless a network location is specified) | Yes | NA
Locates files on the Web proxy server (unless a network location is specified) | NA | Yes
Can load data into attachment flex fields | Yes | Yes
Can load multiple files into one file folder | Yes | Yes
Can attach files to the latest revision when the specified revision cannot be found | Yes | Yes
Can attach files to incorporated items | Yes | Yes
Generates log files in the location you specify | Yes | NA
Generates log files on the server. You can download them to your local machine. | NA | Yes

#### 12.1.1.1 Performance

Although FileLoad performs faster in the Java Client, performance varies depending on the capacity of the client and server computers. If the client and server computers are multiprocessor machines, you can notice a significant improvement in FileLoad performance when you use the Java Client.

#### 12.1.1.2 How FileLoad Locates Files

Unless you specify a network location for files, Java Client's FileLoad utility locates files on the local machine, while Web Client's FileLoad utility locates files on the Web proxy server (which can be on the same computer as the application server).

The FileLoad utility in both Agile PLM clients can access files remotely through a network path. For more information, see Uploading Files Remotely on page 151.

#### 12.1.1.3 Loading References to Files

The FileLoad utility in Java Client supports an additional attachment typ>, INPLACE. You can use the INPLACE attachment type value to upload a reference to a file located in a Custom file vault. The reference to the file is stored in the Agile PLM database, but the actual physical file resides in the Custom vault. The Custom vault is read-only. Files stored in a Custom vault can be checked out, but when they are checked back in, they are copied to the Primary Read/ Write location of the vault. Before trying to load references to files, make sure the Custom vault is set up. See Setting Up a Custom File Vault on page 151.

Note: The Web Client FileLoad utility does not support the INPLACE attachment type.

#### 12.1.1.4 FileLoad Options

The FileLoad user interface varies slightly depending on the Agile PLM client you use. For a complete list of FileLoad options, see the table in Processing Attachments on page 160.

## 12.2 Before you Begin

Before you begin using FileLoad, make sure you have set up your environment correctly and have proper privileges described in this section.

### 12.2.1 File Size and Batch Limits

FileLoad can handle files up to 40 GB in size. It can also process many files in one batch. Agile recommends not exceeding 15,000 files per processing batch.

### 12.2.2 Disabling Synchronous Full-Text Indexing

Before using FileLoad, turn off synchronous full-text indexing of files. When synchronous full-text indexing is enabled, FileLoad does not report progress, the browser times out on long uploads, and file-loading is extremely slow. After you finish using FileLoad, you can turn on synchronous full-text indexing of files again.

To disable synchronous full-text indexing:

1. Start Agile Java Client and log in as an administrator.

2. Click the Admin tab.

3. Choose Settings > System Settings > Full Text Search.

   The Full Text Search window appears.

4. Click the Indexing list and select Manual or Scheduled.

5. If you chose Scheduled, click the Recurrence field and schedule indexing to start after file-loading will be finished.

6. Click Save.

For more information about how to change full-text indexing settings for Agile PLM, refer to Agile PLM Administrator Guide.

### 12.2.3 Turning Off Antivirus Software

If you use an antivirus tool, turn it off before using FileLoad. An antivirus tool will scan every new uploaded file, which will slow down the loading process.

### 12.2.4 Required Agile PLM Privileges to use FileLoad

To use FileLoad to load file attachments to Agile PLM objects, you must have the same privileges that you need to modify those objects in Agile PLM clients. That is, you must have the Modify privilege for any object to which you are attaching a file.

In addition, you must also have the necessary FileLoad privilege.

To change your Agile PLM roles and privileges, see your Agile PLM administrator.

### 12.2.5 Uploading Files from Local Drives

Agile recommends that you upload files from a local drive. Otherwise, there is a risk that network-stored files, especially if they are very large, may cause FileLoad to quit, leaving the loading process only partially completed.

### 12.2.6 Uploading Files Remotely

Although Agile recommends uploading files from a local drive, you can also upload files remotely. Before trying to upload files from a remote computer, make sure:

- There is a shared folder in which to save attached files.

- If you are using the Agile Web Client, the operating system user that runs the Agile Application Server (such as System for Windows or Root for Solaris) must have Read access to the referenced file.

- If you are using the Agile Java Client, the operating system user logged into the client computer must have Read access to the referenced file.

- The network path is included in the Index files. For example:

ITEM,P00001,,\\computer\sharedfolder\file.txt,FILE,description

If these criteria are not met, you will see the following error message when you try to upload files remotely: "Cannot find the file to be attached."

#### 12.2.6.1 Uploading Files to PLM on Linux/Solaris Servers

Following are the rules for uploading files from PLM Clients when PLM is running on Linux/Solaris severs.

To upload files from Windows-based PLM Web Clients:

- Make sure files that you want to upload reside on the same platform that is running the Application server

- Specify the path of the file that you want to load to the Linux/Solaris platform in the index file.

Example: ITEM,P00001,,/slot/ems4741/appmgr/customvault/file.txt,FILE,description

To upload files from Windows-based PLM Java Clients:

- Make sure files that you want to upload reside on the same Windows platform that Java Client is Launched from.

- Specify the path of the file that you want to load to the Linux/Solaris platform in the index file.

Example: ITEM,P00001,,H:/customvault/file.txt,FILE,description

### 12.2.7 Setting up a Custom File Vault

If you are using Java Client to upload references to files stored in a Custom file vault, the PLM administrator must set up the vault first. For more information about administering Agile File Manager, see the Agile PLM Administrator Guide.

To set up a Custom file vault:

1. Start Java Client and log in as an administrator.

2. Click the Admin tab.

3. Choose Server Settings > Locations. The Server Location window appears.

4. Click the File Manager tab to bring it forward.

5. Double-click the entry to display the File Manager dialog box.

6. Click the + button to add a new vault.

7. In the Vault Type field, select Custom.

8. In the Description field, type a description of the vault.

9. In the Base Storage Directory field, enter the primary location where the files are stored. There can be other subdirectories containing files located beneath this directory.

10. Click OK.

11. Restart File Manager.

Note: If you do not restart the Agile File Manager after setting up the Custom vault, the FileLoad utility is not able to find the vault.

## 12.3 Process Outline

The FileLoad process follows the steps listed below. Each step is discussed in detail in the sections that follow next.

- Stage 1: Prepare the Index File (see Preparing the Index File on page 155) - Prepare an attachment Index file.

- Stage 2: Process Attachments (see Processing Attachments on page 160) - Use FileLoad and the Index file to process the attachments.

- Stage 3: Evaluate the Results (see Evaluating the Results on page 163) - Evaluate the results. If any attachments are rejected, open the FileLoad log file and view the error messages.

- Stage 4: Revise and Reload Rejected Attachments (see Revising and Reloading Rejected Attachments on page 165) - Revise the rejected attachment rows in the "Bad" file. Save the Bad file as a new Index file, and load it.

- Repeat Steps 3 and 4 until all attachments are loaded successfully.

Figure 12-1 A summarized depiction of FileLoad processes

Important: It is recommended that no more than 200-300 items be loaded against one change. If a larger number of affected items are loaded against a change, FileLoad will take much longer to load the files and it will take much longer to bring up revisions of any item on that Change Order.

## 12.4 Preparing the Index File

The first stage in batch-loading attachments with FileLoad is to prepare an attachment Index file. The Index file is a text file in which each row describes one file to be loaded as an Agile PLM attachment.

Each row that is updated must have at least six entries separated by delimiters, such as commas. To support uploading information to flex fields, additional attribute-value pairs can be specified.

### 12.4.1 Index File Structure

Each row in the Index file must have the following structure:

ObjectType, PrimaryKey, SecondaryKey, Path/Filename, AttachType, Description[,attrib1=value1,attrib2=value2,...attrib n=value n]<CR>

Where:

ObjectType | A keyword identifying the object type.
PrimaryKey | The value of a primary key field for the specified object type. For most objects, the primary key is the object number. The object you specify must already exist; FileLoad won't create it.
SecondaryKey | The value of a secondary key field for the specified object type. If the object does not require a secondary key, leave the field blank.
Path/Filename | A URL or a fully qualified path and filename. If you specify a URL, make sure it's correct. FileLoad does not validate URLs. For the INPLACE attachment type (see below), the path you specify should be relative to the Base Storage Directory of the Custom file vault. For example, if the Base Storage Directory is d:/files, and the file you want to load is located in d:/files/cad/0021c.dwg, enter the following relative path: cad/0021c.dwg. The File Manager iterates through all vaults (both standard and custom) until it finds the first matching file. Note: Although Windows supports pathnames with back slashes (\), Solaris and other UNIX operating systems do not. Consequently, forward slashes are used in path examples in this chapter.
AttachType | Enter one of the following case-insensitive values: FILE - Uploads a file to a Standard file vault. URL - Adds a URL attachment to the object. A URL is a Web location, such as`http://www.oracle.com`. You can specify non-HTTP URLs, such as an FTP site. INPLACE - Uploads a reference to a file located in a Custom file vault, which is read-only. Note: The INPLACE attachment type is supported only in the Java Client and only if a Custom vault has been set up by the PLM administrator.
Description | An optional description of the file.
[,attrib1=value1,attrib2=value2,...attrib n=value n] | Optional pairs of attribute names and attribute values used to load data into flex fields. The default separator character for attribute names and values is an equal sign (=), but you can specify another character. Separate each attribute/value pair with an attribute delimiter, such as a comma.

The following is an example of one row of an Index file:

ITEM,P00010,,C:/temp/logo_color.bmp,FILE,Description="Fileload,Test",Date01=12/12/00,List01=Select1,Text01="Test_Fileload",Text02=DFSF<CR>

To make sure the line is interpreted correctly, the value for the Description attribute is "Fileload, Test". Quotes are included around the text containing a comma so that it is not interpreted as an entry separator.

PrimaryKey and SecondaryKey field content requirements depend on the attachment object type. The specific requirements for each object type are described in Primary and Secondary Keys on page 158.

Here are some general notes on the Index file structure:

- All attachment flex fields must be enabled (made visible) from the Admin tab of the Java Client. Flex fields that are used in the Index file but are not enabled will cause FileLoad to report an error.

Note: You cannot access administrative functions unless you have been assigned the Administrator privilege; please see your Agile PLM administrator for assistance.

- Each field must be separated by a delimiter character, such as a comma. The same delimiter character must be used throughout the Index file. The delimiter used in the index file must match the Attribute Delimiter that you select in the FileLoad utility. For more information about delimiter options, see the table under Processing Attachment on page 160.

- The flex field attributes and values must be separated by a different delimiter from the delimiter used for the rest of the Index row.

- Doubled delimiters identify a blank field. In comma-delimited files, a blank field is specified by two commas, with no space between them, like this: ,,

- Each row must always have a minimum of six delimited fields.

- Each attachment row must end with a carriage return.

- Short Index files of 100 to 200 lines can help you monitor what is going on and correct any problems more easily.

- Agile PLM does not change the incorporation date on the target object.

- To accommodate temporary files, FileLoad requires twice as much disk space as the size of the attachments being loaded by each Index file. If you do not have room to load all attachments at once, try using more Index files with smaller total attachment sizes to reduce the space required for each one. The temporary files are automatically deleted after the loading process is done.

- Successful attachments are logged in the History tab for the object.

- Maximum number of characters allowed:

  - Filename - 255 characters or the number of characters specified for the MaxLength property of the File Folders > Files > File Name field, whichever is less.

  - Description field - 100 characters or the number of characters specified for the MaxLength property of the File Folders > Files > File Description field, whichever is less.

### 12.4.2 Object Type Keywords

The following table lists object type keywords for each base class that FileLoad supports. Use these keywords in the ObjectType field of your Index file.

Object Type | Keyword
--- | ---
Change | CHANGE
Declaration | DECLARATION
File Folder | FILEFOLDER
Item | ITEM
Manufacturer | MFR
Manufacturer Part | MFR_PART
Part Group | COMMODITY
Price | PRICE
Product Service Request | PSR
Program | ACTIVITY
Quality Change Request | QCR
Requests for Quote | RFQ
RFQ Response | RESPONSE
Sourcing Project | PROJECT
Specification | SPECIFICATION
Substance | SUBSTANCE
Supplier | SUPPLIER

Note: FileLoad fails when the Japanese dash (zenkaku, or full-width hyphen) is used in Manufacturer Name and user's encode type is set to "Japanese (Shift-JIS)."

### 12.4.3 Primary and Secondary Keys

The following table lists the primary and secondary keys required for each object type that FileLoad supports. If a secondary key is not required for an object, you may leave that field blank in the index file.

Object Type | Primary key | Secondary key
--- | --- | ---
Change | Change number | [blank]
Declaration | Declaration number (equivalent to the Cover Page > Name field) | [blank]
File Folder | File Folder number | Version (optional) See Loading Files into File Folder or Design Subclasses on page 160.
Item | Item number | Revision (optional) See Item Revisions.
Manufacturer | Manufacturer name | [blank]
Manufacturer Part | Manufacturer Part number | Manufacturer name
Part Group | Part group number | [blank]
Price | Price number | [blank]
Product Service Request | Product Service Request number | [blank]
Program | Program number | [blank]
Quality Change Request | Quality Change Request number | [blank]
Request for Quote | Request for Quote number | [blank]
RFQ Response | Request for Quote number | Supplier number
Sourcing Project | Project number | [blank]
Specification | Specification number | [blank]
Substance | Substance number | [blank]
Supplier | Supplier number | [blank]

### 12.4.4 Sample Index Files

This section shows examples of how the comma-delimited Index files should look. Although these examples show the use of FILE, INPLACE, and URL attachment types in different Index files, they can also be used in the same file.

#### 12.4.4.1 Sample Index File Used to Upload Files

The following rows are from a sample comma-delimited Index file that uses the FILE attachment type. The object types have been arranged in alphabetical order for readability.

    ACTIVITY,PG0278,,D:/myprograms/phasecost.doc,FILE,Phase Cost ReportITEM,P00545,,D:/dwg/00545.dwg,FILE,Battery Cover ITEM,P00561,A,D:/dwg/00561a.dwg,FILE,Torque Widget ITEM,P00561,(B),D:/dwg/00561b.dwg,FILE,Torque Widget CHANGE,25000,,D:/dwg/00561b.dwg,FILE,Torque Widget COMMODITY,PG0278,,D:/groups/guidelines.doc,FILE,Part Group GuidelinesDECLARATION,MD00007,,D:/docs/DecInstr.doc,FILE,Instructions
    FILEFOLDER,DESIGN00011,1,D:/docs/Design.doc,FILE,Design Document
    FILEFOLDER,FOLDER00042,,D:/specs/92master.doc,FILE,9.2 Master Spec
    MFR,Manutech,,D:/dwg/0021c.dwg,FILE,Torque Widget
    MFR_PART,WE10023-45,Manutech,D:/dwg/0021c.dwg,FILE,Torque Widget
    PRICE,CONTRACT00001,,D:/pricing/price_sheet.xls,FILE,Price Sheet
    PROJECT,PRJ00046,,D:/projects/dell/resources.xls,FILE,Resource Spreadsheet
    PSR,PR00004,,D:/pr/sn00241.doc,FILE,Support Notes
    QCR,CAPA00001,,D:/capa/details.doc,FILE,Problem Details
    RESPONSE,RFQ00001,SUP00067,D:/rfq/notes.doc,FILE,Notes
    RFQ,RFQ00001,,D:/quotes/guidelines.doc,FILE,Price Quote Guidelines
    SPECIFICATION,SPEC0023,,D:/specs/rohs.doc,FILE, ROHS Guidelines
    SUBSTANCE,SUB0104,,D:/subs/cas_numbers.doc,FILE,CAS Numbers
    SUPPLIER,DISTRIBUTOR00001,,D:/suppliers/wextronics.doc,FILE,Wextronics Profile

#### 12.4.4.2 Sample Index File Used to Upload References to Files

The following rows are from another sample comma-delimited Index file that uses the INPLACE attachment type.

Important The INPLACE attachment type is supported only if you use the FileLoad utility in Java Client and the Agile PLM administrator has set up a Custom (read-only) file vault. See Setting Up a Custom File Vault on page 151. Web Client's FileLoad utility does not support INPLACE attachments.

    ITEM,P00240,A,dwg/00240a.dwg,INPLACE,CAD DrawingITEM,P00262,B,dwg/00262b.dwg,INPLACE,CAD DrawingITEM,P00262,(C),dwg/00262c.dwg,INPLACE,CAD DrawingITEM,P00310,A,dwg/00310a.dwg,INPLACE,CAD DrawingITEM,P00337,A,dwg/00337a.dwg,INPLACE,CAD DrawingFILEFOLDER,DESIGN00011,1,Design.doc,INPLACE,Design Document

#### 12.4.4.3 Sample Index File Used to Upload URLs

The following rows are from another sample comma-delimited Index file that uses the URL attachment type.

    FILEFOLDER,FOLDER00010,,http://www.yourcompany.com,URL,Home Site FILEFOLDER,FOLDER00010,,http://www.yourcompany.com/Mfg/,URL,Manufacturing Services Site FILEFOLDER,FOLDER00010,,http://www.google.com,URL,Google

### 12.4.5 Loading Multiple Files into the Same File Folder

If consecutive rows of the Index file have the same PrimaryKey value (that is, they reference the same object), FileLoad can either create a separate file folder for each file or put the files in a single file folder. For example, the following rows from an Index file, reference the same item, 76-2063:

ITEM,76-2063,D,C:/load/fileload/2063P1.tif,FILE,AMP Specifications

ITEM,76-2063,D,C:/load/fileload/2063P2.tif,FILE,

If you unchecked the box named Create a Separate Folder for Each File, the same description will be used for both files and they will be added to the same file folder. If you check the Create a Separate Folder for Each File box, then separate file folders will be created for them with separate file descriptions.

Another way to create separate file folders and separate file descriptions for consecutive rows that have the same PrimaryKey value is to add a blank row with a carriage return between the rows. This works whether the Create a Separate Folder for Each File box is checked or unchecked. However, the consecutive rows that have the same PrimaryKey value must also have the same attachment type. A FILE and a URL attachment cannot be added to the same file folder.

#### 12.4.5.1 Loading Files into File Folder or Design Subclasses

You can load files into the File Folder subclass or Design subclass by:

- Specifying the Empty Version (Secondary Key) value in Index File - In this case, the File Folder Object is checked out and a New Version is created. File load adds the file specified in index file and checks in the Object.

Or,

- Specifying the Version Number in the Version (Secondary Key) value field of the Index file - When a version is specified in Secondary Key field, the FileLoad tool will load the file to the specified version.

Important: You cannot load files to a Checked-out Version.

### 12.4.6 How File Manager Locates INPLACE Files

To locate a file, File Manager iterates through all vaults (both standard and custom) until it finds the first matching file. If there are files with duplicate filenames in different vaults, it's possible to upload a reference to the wrong INPLACE file. To uniquely identify an INPLACE file located in a file vault, make sure its path is unique even if its filename is not.

Note: File Manager information is downloaded and cached when the server is started. If you used Java Client to add a new custom (read-only) vault, don't forget to restart the File Manager. Otherwise, File Manager won't be able to find the new vault.

## 12.5 Processing Attachments

After you have created your attachment Index file, you can start FileLoad and process the attachments.

Caution: Be aware that different users may have rights to load files to different file vaults. If you are supervising the loading of a large number of files with different users (for example, over day and night shifts), be aware of the influence of the login user on any machine being used for processing.

To start FileLoad:

1. Choose Tools > FileLoad (in Java Client) or Choose Tools & Settings > File Load (in Web Client).

2. Specify the Index file and other FileLoad options. For a list of options, see table below.

3. Click OK (in Java Client) or select Load (in Web Client) to begin loading files.

The following table lists and describes FileLoad options.

Option | Description
--- | ---
Index File | Click Browse to locate and select the attachment Index file. The path and filename of the attachments Index file appears. Note: It is recommended that .LOG and .BAD not be used as filename extensions for the Index file. The extension of the Index file can be anything as long as its content is in ASCII encoding, but it is helpful to pick an extension that will not be confusing.
Attribute Delimiter | Select the delimiter used in the Index file. You can select Tab or select Other and provide another delimiter in the field. For Other delimiters, only the following characters are allowed: <space> , | ; ' [ ] ' < > ? " { } ~ ! @ # $ % ^ & * ( ) _ + - = You cannot use any characters that are created by pressing ALT+keypad combinations. Do not use alphanumeric characters. Note: Do not use a colon (:), period (.), slash (/) or backslash (\) in the Attribute Delimiter, Attribute Name-Value Separator, Text Qualifier, and MultiList Delimiter fields, as those characters can be used in the filename or path.
Attribute Name-Value Separator | Select the delimiter used in the flex fields. This delimiter must adhere to the same rules listed for attribute delimiters, but cannot duplicate the choice for any other delimiter.
Text Qualifier | The delimiter used to specify a text string within the Index row. It is recommended that this be set to quotes, but it can be set to any valid delimiter. This delimiter must adhere to the same rules listed for attribute delimiters, but cannot duplicate the choice for any other delimiter.
Multilist Delimiter | This delimiter is used to separate entries in a multilist field. The default is a semicolon, but it can be set to any valid delimiter. This delimiter must adhere to the same rules listed for attribute delimiters, but cannot duplicate the choice for any other delimiter. Note: The Attachments tab does not have MultiList flex fields, but the Files tab of File Folder objects does. Consequently, the Multilist Delimiter is used only if you are loading files into File Folders.
Number of Dedicated Threads(Java Client) | Enter a value from 1 to 100 to specify the number of threads dedicated to the FileLoad process. Increasing the number of dedicated threads, particularly if the client and server are multiprocessor machines, can improve FileLoad performance.
Attach to the latest revision when the specified revision cannot be found | Select this option if you want files for items containing revision values that do not exist in the Agile PLM database to be attached to the latest released revision of objects in Agile PLM. If no released revisions exists, Fileload adds the file to the Introductory revision. (The SecondaryKey field in the Index file holds the revision value of the item.) The attachment is rejected and written to the Bad file and Log file under the following conditions: If you do not select this option, the Index file attachment rows for items containing revision values that do not exist in the Agile PLM database are rejected and written to the Bad file and the Log file for later troubleshooting. If Attach to the Latest Revision is checked, the file is attached to the latest released revision of the object. If the object is in Preliminary status, it is attached to the Introductory revision. When an Index file contains a blank SecondaryKey field, the file is attached to the Introductory revision of an item. The Null revision in the Index file means the Introductory revision. To upload files to pending revisions, the revision value in the Index file should be enclosed in parentheses, for example, (A) or (1.0).
Attach Files to Incorporated Items | Check this box if you want to allow attachments to be added to incorporated Items (assuming you have appropriate privileges). If this box is not checked, and FileLoad attempts to attach files to an Item that has been incorporated, you may see the message "Cannot perform this operation because the object <Object number> has been incorporated." Note: If any item in your Index file is already incorporated, make sure Attach Files to Incorporated Items is checked.
Create a Separate Folder for Each File | When this box is checked, FileLoad loads files into separate file folders. Otherwise, FileLoad handles consecutive rows that have the same PrimaryKey value differently. It uses the same file description for both files and adds the files to the same file folder.
Log File Directory(Java Client) | Specify a location in which to create log files.
OK (Java Client) Load (Web Client) | Starts reading the Index file and processing attachments.
Close | Closes the FileLoad window or page. Note: The Close button is disabled when you start the loading process.

Important: If FileLoad stops without a completion message, it may have encountered severe network difficulties and not completed the load. In this case, you must validate that the last file in the "load" is in the target database. If it is not and it does not appear in the Bad file, you must determine where FileLoad stopped, then load the remaining files.

## 12.6 Evaluating the Results

This section describes how to evaluate FileLoad results in the Java Client and Web Client.

### 12.6.1 Evaluating FileLoad Results in Java Client

In Agile Java Client, the FileLoad summary appears in an expanded portion of the FileLoad window.

Figure 12-2 FileLoad summary in Java Client

FileLoad log files are stored in the specified Log File Directory. You can open the log files in a text editor to view them. For each session, FileLoad creates the following log files:

- indexfile.date.time_BAD - Contains the rows from the Index file that are rejected during the FileLoad process.

- indexfile.date.time_LOADED - Contains the rows rejected from the Index file that are successfully loaded during the FileLoad process.

- indexfile.date.time_LOG - Contains each row from the Index file that was rejected during the FileLoad process, along with an error message.

- indexfile.date.time_SUMMARY - Contains the FileLoad summary information.

Note: If you rename the log files and give them a .TXT extension, they will automatically be associated with a text editor.

### 12.6.2 Evaluating FileLoad Results in Web Client

In Agile Web Client, the FileLoad Summary appears after FileLoad has finished processing the Index file attachments.

Attachment loading results are shown in FileLoad Summary.

Click View Bad File to open or save the log of bad records (LogFile.BAD). It contains rows from the Index file that are rejected during the FileLoad process.

Click View Log File to open or save the log file (LogFile.LOG), which contains each row from the Index file that was rejected during the FileLoad process, along with an error message.

Note: Agile recommends that you save log files to disk first and then view them. When you save a log file, add .TXT as the extension so the file is automatically associated with a text editor.

To close the FileLoad page, click Done.

### 12.6.3 Sample Log File Output

Each rejected Index file row in the Bad file is also written to the Log file with an explanatory error message:

CHANGE,23450,,D:/dwg/0021c.dwg,FILE,Torque Widget< Cannot find the file to be attached. >ITEMBAD,1000-02,666,D:/dwg/0021c.dwg,FILE,Torque Widget< Invalid object type. >MFR,MFR_TEST1,,D:/dwg/0031e.dwg,FILE,Cap Widget< Object not found. >

## 12.7 Revising and Reloading Rejected Attachments

Each rejected row from the Index file is written to both the Bad file and the Log file.

- The Bad file contains only the rows rejected from the Index file.

- The Log file is the same as the Bad file, but also includes an explanatory error message for each rejected attachment row.

Use the error messages in the Log file as a guide to revising the rejected rows in the Bad file.

Important: Do not commit to using the loaded-in files until you have verified that they are exact copies of the source files. That is, all source files should be preserved while there remains any possibility that a file or files could be needed if there was a problem during the loading operation.

To work with the Log and Bad files:

1. Locate the Bad file and Log file, and open each in a text editor.

2. Revise the rejected attachment rows in the Bad file, using the error messages in the Log file.

3. Save the revised Bad file as a new Index file, but add a number to the filename. For example, IndexBAD1.txt. This allows you to avoid overwriting the original Index file, and maintains an archive of processed Index files.

4. Select and process the new Log file. See Processing Attachments on page 160.

5. Repeat this revision and reloading process until no more bad records appear in the FileLoad Summary.

Caution: FileLoad will attach all specified files again if it is re-run against an Index file that has already been loaded. If you are using multiple Index files, always track which files have been loaded successfully. It is difficult and time-consuming to determine and remove duplicate attachments.

## 12.8 Error Messages

This section lists FileLoad error messages you may encounter with applicable descriptions:

Attachment tab is invisible

Attachment tab of objects to which you want to add files is not active in Administrator. Attachment tab must be marked visible by Agile PLM administrator in Java Client.

Cannot find the file to be attached

Revise and correct the path and spelling of the attachment file name in the Index file entry. If you attached a URL, the supported protocols are FTP, HTTP, file, and HTTPS and there is no verification of the address.

Cannot find object <primary key>

The target object to receive the attachment cannot be located in the database. The object is the combination of the first three row fields: ObjectType, PrimaryKey, and SecondaryKey. Verify that the values for these fields are entered correctly in the Bad file and that an object of that name exists in the database. Add the object or modify the Index file as necessary.

Cannot find specified revision

The Item revision identifier in the Index file does not exist in the database, and Attach to latest revision was not selected in the FileLoad Options. See Processing Attachments on page 160.

Cannot find the Index file or the Index file is empty

The path of the Index file is not correct (if you entered the Index file path manually) or the Index file you located is empty.

Cannot find the list value

All or some list values for flex List or Multilist fields are not valid.

Cannot perform this operation because the attachment is checked out

The file folder for the specified attachment is checked out, so the file is not uploaded. Make sure the file folder is checked in, and then use FileLoad again to upload the file.

Cannot perform this operation because the object <Object number> has been incorporated

The attachment table is read-only because the Item is incorporated by an ECO. To add attachments to incorporated Items, make sure Attach Files To Incorporated Items is checked in the FileLoad Options dialog box.

Failed to attach files

Reason for rejection unknown or the result of multiple errors. Make sure the object exists in the database, check the Index file entry, and retry. Make sure that you have the appropriate privileges.

Empty files are not valid to be added.

Attached files are 0 (zero) in size.

File Servers may be down. Please check the File Server Configuration

The Agile File Manager server is down. Go to the machine where File Manager is installed and start it. On Windows, this involves starting the Apache Tomcat service.

Invalid date format

The date format in flex Date fields is not in accordance with the Date/Time formats in the user's profile.

Invalid number

The value for flex Numeric fields is not numeric (for example, it could include a letter string).

Invalid object type

Be sure the Index file row starts with a valid object type keyword. See Object Type Keywords on page 157.

Invisible attribute fields

The specified flex field is not visible. Flex fields must be enabled (that is, made visible) in the Administrator panel.

Not a legal attachment type. Must be FILE or URL or INPLACE.

If you use FileLoad in Web Client, the AttachType (attachment type) field value must be FILE or URL. If you use FileLoad in Java Client, a third attachment type, INPLACE, is supported.

Number of fields provided is less than the minimum required.

Each Index file row must have at least six delimited fields. Empty fields must be marked by a double set of delimiter characters.

Note: When using the tab as the delimiter, be sure there is no tab after the last field in each row.

Primary Key (2nd) field empty

The second field - PrimaryKey - is always required. It must always contain, depending on the base class, a valid object number or name. See Primary and Secondary Keys on page 158.

The attribute fieldname was not found in the Attachments tab.

This message indicates that the specified flex field name cannot be found. Flex fields must be enabled (that is, made visible) in the Administrator panel. Also, if the Attribute Name-Value separator in Index files is not correct, the field name cannot be properly identified.

The number length exceeds Maxlength.

The string length for flex Numeric fields exceeds the Maxlength defined in Administrator.

The number value is not between Min Value and Max Value.

The value for flex Numeric fields is not between Min Value and Max Value defined in Administrator.

The string length is not between 0 and Maxlength.

The string length for flex Text fields exceeds the Maxlength defined in Administrator

The user has insufficient privileges.

The user has insufficient privileges to attach files to objects.

Unable to connect to Agile Application Server.

Make sure the Application Server is running and you are logged in with the Checkin privilege.