Privilege Needed: Administrator
This feature allows Administrators to import 'person' information into the Unanet system. This person information can be either new entries or the data on the import can be used to update existing person data. The table below shows all the fields that are on the person table that can be imported.
|
Field Name |
Required/Description |
|
| 1 | User Name | ALWAYS REQUIRED. Unique user name, for example
SSYRETT or ssyrett (It does not
need to be capitalized.) If this user name already exists on the database,
information for this existing person will be updated. This field can
store up to 16 characters.
You can use the person import to change a user's User name by supplying the following syntax in this field. "!RENAME!,old_user_name,new_user_name" -- this entire string must be enclosed in double quotes. If you are using excel and saving the file as a csv, it will automatically put double quotes around the field for you since it contains commas. *See the EXCEL NOTE regarding the use of double quotes below. Note: when you rename a username, their existing password will be invalidated. You can use the password update feature in conjunction with this rename to reset the password to some new value. See the password field below for more information. |
| 2 | First Name | ALWAYS REQUIRED. This is a person's first name. This field can store up to 50 characters. |
| 3 | Last Name | ALWAYS REQUIRED. This is a person's last name. This field can store up to 50 characters. |
| 4 | Middle Initial | This field can store only one character. |
| 5 | Suffix | This field can store up to 10 characters. |
| 6 | Nick Name | This field can store up to 25 characters. |
| 7 | Exempt Status | ALWAYS REQUIRED on ADD --
CONDITIONALLY REQUIRED on UPDATE. This field has to be Exempt = E, Non-Exempt = N, or Non-Employee = X in order to be imported. You need to enter either E, N, or X (or leave blank if this is an update with no change). Since this field is stored with the person rate information, it will have a begin and end date associated with it. Field #27 (effective date) will determine when this new status takes effect. **See note about effective date limitations below. |
| 8 | Roles |
Assigned roles for a person. If this person has more than one role, use double quotes. For example:
Single role: ,timesheetUser, Multiple roles: ,"timesheetUser,expenseUser,manager,projectManager,administrator,viewer,unaSourceUser,customer,pdaUser",
These roles MUST match the roles defined in the database. If one role does not match with any role in the database, that particular role will not be imported. The list above includes all of the current roles as they appear in the database (by default). You will see the message: The role entered does not exist. Line.... NOTE: * If updating an existing person -- and this field is not blank -- all existing Roles will be removed and replaced with the specific roles specified in this field.
* If importing a timesheetUser: the following 3 fields are required: Time Period, Pay Code, and Hour Increment. If any of these 3 fields are missing, this person record will not be imported. You will see the message: Missing required data. Line....
* If importing an expenseUser: Expense Approval Group is required. If this field is blank, this person record will not be imported. You will see the message: Missing required data. Line....
*See the EXCEL NOTE regarding the use of double quotes below. |
| 9 | Time Period | CONDITIONALLY REQUIRED: If this person is assigned the "timesheetUser" role. The Time Period must match one previously defined in the database. If it does not, the record will not be imported. Time Period entries can only be updated for existing users if the user does not have any existing timesheets in the system. |
| 10 | Pay Code | CONDITIONALLY REQUIRED: If this person is assigned the "timesheetUser" role. The Pay Code must match one previously defined in the database. If it does not, the record will not be imported. |
| 11 | Hour Increment | CONDITIONALLY REQUIRED: If this person is assigned the
"timesheetUser" role.
Options to import are: 0.01, 0.10, 0.25,0.50, 1, 4, 8. These are the only valid values and must be entered exactly as shown. If you import a number other than one of these, this line will be ignored. |
| 12 | Expense Approval Group | CONDITIONALLY REQUIRED: If this person is assigned the "expenseUser" role. The Approval Group must match one previously defined in the database. If it does not, this record will not be imported. |
| 13 | Person Code | This field can store up to 5 characters. |
| 14 |
Identification Code 1 |
This field can store up to 25 characters. This field has also been known as "Employee ID". |
| 15 | Identification Code 2 |
This field can store up to 11 characters. This field has also been known as "SSN". |
| 16 | Password | The Password field allows for a string of no more than 20 characters. When
importing a new user, if this field is left blank, the
Administrator will have to manually create a new password for the imported user. Depending on the value of the property unanet.person.import.update_password.display, you may have the option of updating passwords via the person import (if importing via the user interface). Likewise, there is a flag available on the command line import utility that indicates passwords can be updated. The default behavior is to ignore passwords for existing users (whether or not a value is supplied in the import file). If the 'allow password update' flag is set -- then the passwords can be updated for existing users. |
| 17 | IVR Password | This field is only useful if you have the
UnaIVR license (thus for most installations, this field will probably
always be blank). If you do not have the UnaIVR license, the contents
of this field are ignored.
The IVR Password field must contain numeric values, with a minimum of 4 positions and a maximum of 8 positions. When importing a new user, if this field is left blank, a string of 8 "0" (zeros) will be set and the Administrator will have to manually create a new password for the imported user. Depending on the value of the property unanet.person.import.update_password.display, you may have the option of updating passwords via the person import (if importing via the user interface). Likewise, there is a flag available on the command line import utility that indicates passwords can be updated. The default behavior is to ignore passwords for existing users (whether or not a value is supplied in the import file). If the 'allow password update' flag is set -- then the passwords can be updated for existing users. |
| 18 | This field is a person's email address. It can store up to 50 characters. | |
| 19 | Organization | ALWAYS REQUIRED on ADD: If you want to assign an Organization to a person, you must
use an Organization Code that is defined in the database. This field
can store up to 25 characters.
If the Organization you are trying to import is not in the database, the whole record will not be imported. You will see the message: The Organization "..." does not exist. Line.... This field can be left blank on updates. |
| 20 | Bill Rate | The amount to be used for a person's bill rate. Since this field is stored with the person rate information, it will have a begin and end date associated with it. Field #28 (effective date) will determine when this new status takes effect. **See note about effective date limitations below. |
| 21 | Cost Rate | The amount to be used for cost rate. Since this field is stored with the person rate information, it will have a begin and end date associated with it. Field #28 (effective date) will determine when this new status takes effect. **See note about effective date limitations below. |
| 22 | Time Approval Group | The Approval Group has to be one of the Approval Groups defined in the database. If the group entered does not match with an existing group in the database, this record will not be imported. |
| 23 | Active | A value of "Y" indicates this person is Active (that is -- they can log into the system). Otherwise enter N which indicates this person is no longer active (their data is still in the system -- they can simply no longer log in). If this field is blank or the character entered is other than Y or N, by default it will be set to Y. Inactive users are not included in the count when determining number of licensed users. |
| 24 | Receive Timesheet E-mails |
A value of "Y" indicates this person will receive email every time the timesheet has changed its status during the approval process. Entering an "N" indicates this person will not receive any email. If this field is blank or the character entered is other than Y or N, by default it will be set to Y. |
| 25 | Receive Expense E-mails | A value of "Y" indicates this person will receive email every time the expense has changed its status during the approval process. Entering an "N" indicates this person will not receive any email. If this field is blank or the character entered is other than Y or N, by default it will be set to Y. |
| 26 | Auto-fill Timesheet | A value of "Y" will enable the "auto-fill" functionality for this person's new timesheets. Auto-fill pre-populates a user's timesheet with any Projects/Tasks that had time charged during the immediate preceding time period. If this field is blank or the character entered is other than Y or N, by default it will be set to Y. |
| 27
|
Expense Approval Amount | This is the amount that each manager has the authority to approve for an entire expense report. |
| 28 | Effective Date | ALWAYS REQUIRED on ADD --
CONDITIONALLY REQUIRED on UPDATE. The formats for the date are "yyyy-MM-dd" or "MM/dd/yy". This date applies to any time bound information about a person. The three fields on this import file that are time bound are Bill Rate, Cost Rate, and Exempt Status. They are all stored with the person's rate information and use begin and end dates to define their valid date ranges. This effective date will become the new "begin" date for a person's rate information and will have an end date of "EOT" (end of time). This means that any future rate information defined will be overwritten by this rate information. **See note about effective date limitations below. |
| 29 | Dilution Period | The Dilution Period must match one previously defined in the database. If it does not, the record will not be imported. *Dilution Periods and Time Periods use the same list of available 'time periods'. This field can be left blank. |
| 30 | Default Project Organization | CONDITIONALLY REQUIRED: if the Default Project is populated. This
field is used in conjunction with the Default Project field to uniquely
identify a Unanet project to be used as a Default Project for the
person. A valid existing Unanet Organization Code must be
used.
If the Organization used does not exist in the Unanet database, the entire person record will be rejected. |
| 31 | Default Project | This
field is used in conjunction with the Default Project Organization to uniquely
identify a Unanet project to be used as a Default Project for the
person. A valid existing Unanet Project Code must be used. If
the Project used does not exist in the Unanet database (for the specified
Project Organization), the entire person
record will be rejected.
If a valid Organization and Project have been provided, the person will also be assigned to the Project (unless their Person Organization was previously assigned to this Project). If the Project status is CLOSED, all three default fields, Organization, Project and Task, will be ignored. |
| 32 | Default Task | CONDITIONALLY REQUIRED: if the Default Project requires a task to report
time. This field is used in conjunction with the Default Project
field (either on this record -- or previously stored in the database) to uniquely
identify a Unanet task to be used as a Default Task for the
person. If populated, a valid existing Unanet Task Name must be used. It
must also be a valid Task for the Project. If the Task does not
exist in the Unanet database or it is not valid for the Project, the
entire person record will be rejected.
If the Task status is CLOSED, all three default fields, Organization, Project and Task, will be ignored. If more than one task within a project has the same name, the first task found will be assigned to the person as default. |
| 33 | Default Labor Category | The Default Labor Category has to be one of the Labor Categories defined in the database. If the labor category entered does not match with an existing labor category in the database, this record will not be imported. |
| 34 | User Defined 1 | This field can store up to 128 characters and it can be left blank. Click here for more information about user defined fields for people. |
| 35 | User Defined 2 | This field can store up to 128 characters and it can be left blank. |
| 36 | User Defined 3 | This field can store up to 128 characters and it can be left blank. |
| 37 | User Defined 4 | This field can store up to 128 characters and it can be left blank. |
| 38 | User Defined 5 | This field can store up to 128 characters and it can be left blank. |
| 39 | User Defined 6 | This field can store up to 128 characters and it can be left blank. |
| 40 | User Defined 7 | This field can store up to 128 characters and it can be left blank. |
| 41 | User Defined 8 | This field can store up to 128 characters and it can be left blank. |
| 42 | User Defined 9 | This field can store up to 128 characters and it can be left blank. |
| 43 | User Defined 10 | This field can store up to 128 characters and it can be left blank. |
Note: Effective Date Limitations!
There is one important rule regarding how far back in time you may enter new rate or status information. That rule is: You can only enter information for time that has not been extracted. If you attempt to enter an effective date that is less than the latest extracted date, all fields on the record will not be imported and you will see the message "The effective date "..." is before the latest extracted date of "..." for person "...". Only those fields dependent on the Effective Date will not be imported --- all other valid fields will be imported.
Warnings and Errors will be written to the screen during the import process.
The file to import must be saved in a comma delimited format. The fields can be enclosed in double quotes -- which would be particularly necessary should the data being imported contain commas.
Examples:
You can create the comma delimited import file with any number of tools. For those interested in using an Excel spreadsheet to create the file, you can click here to download an Excel Template with predefined headers and required fields.
EXCEL NOTE: the fields that start with ** are required fields.
EXCEL NOTE: Excel may add the double quotes around fields for you. If using the excel spreadsheet template -- note that excel will automatically put double quotes around fields that contain commas. Manually adding double quotes within excel would result in two sets of double quotes in the .csv file and thus cause an error on import.
EXCEL NOTE: When creating a comma delimited file using Excel, the saved ascii text file will contain a header row. This row will be ignored by the import process and will not create any import warnings. The import process will ignore the header (as well as any other rows) that begin with: #USERNAME# or **
By default, the Import Person screen simply looks like:

Depending on several property settings, you may notice that your person import screen looks like:

If the unanet.person.import.update_password.display property is set to true, you will notice an additional check box, that allows you to indicate passwords are allowed to be updated for existing users. A second related property is also available to control the default value of this checkbox, check out unanet.person.import.update_password.default.
You select the file you would like to import and press the import button. The import process will commit all data that passes the necessary validations. That may result in some records being fully imported -- some may be partially imported -- and others may be rejected all together.
All Warnings and Error messages are written to the screen and can then be saved if desired.
As an alternative to using the Import Screen described above, you can also invoke imports using the command line import functionality. This functionality allows you to invoke an import without accessing the Unanet system application (user interface). This may be useful if you would like to write an external process to extract data from an upstream system and programmatically load it into Unanet (without user intervention).
If you use the Unanet imports on a regular basis to keep your Unanet data in sync with an external system, and do not have the ability to export only new transactions from the external system, you might be feeding Unanet with a complete reload of data with each run. In this case, this type of utility may be useful, for example, to compare the contents of yesterday's load file with today's load file --- to identify on those new or changed records. This could be a useful step if you have very large data volumes. Check out the ImportDiff Utility for more information.
Return to Unanet Table of Contents page
Copyright © 1998-2002 Computer
Strategies, Inc., All Rights Reserved.
Last revised: September 13, 2002
.