...
The Service Import allows the User to INSERT and UPDATE Service Records. Child records of the Service is association records only. Each Service type requires its own distinct Service ImportEach Service import type should only be used to add or update Services of that type. For example, the Auth Codes are imported using an Auth Code Service import should only process Auth Code services. This accommodates the service-specific fields used by different Service types. For example, Phone Service uses Service Host as a field choice that is not available for other Service types.
Recently added, there is also a general "Service" import that can be used to process Services of any type. If you are creating a new Service import, you should use the general Service import type. It will support all of the special fields for all of the different Service types.
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Matches On
The Import attempts to match If a Service RECID is provided, the Import only attempts to find that RECID for the update, and errors if not found. If the Service Recid is not provided, the Service ID is used. If there is no match, the record from the Import will INSERT. If there is a match, the remaining fields can UPDATE. A Service ID can exist in the Database multiple times, with and without different formats. For example, "6165551234" and "616-555-1234" and "(616) 555-1234" can be three different Service records. The Service Catalog can be used to force Service IDs into certain formats.
If you provide an unformatted Service ID to the Service import, it will try to find a matching unformatted Service ID first. If one is not found, it will try to find a similar formatted Service ID. If multiple different formatted records are found, it will cause an error. If exactly one match is found, it will do an update. If none are found, it will do an Add. If you provide a formatted Service ID, it will only try to find that exact formatted Service ID. If it is found, it will do an update. If it is not are found, it will do an Add.
Fields
Service ID
Required, see text.
Datatype is String.
Service ID will only INSERT if there is not a match in the Import File with an existing Service record based on the Service ID.
Since the Import matches on the Service ID, this field CANNOT UPDATE.
If the Service ID field is blank (and no Service RECID is provided), then it is assumed you are trying to add a new Service that has a blank Service ID. This is only allowed for Service Catalog types "Other", and non-Phone Custom types.
Datatype is String.
Service RECID
Datatype is Number.
Default is blank.
This is used to specify the Service Record for Services that have a blank Service ID.
If this is provided, the provided value must be a valid existing service RECID.
If it is not, it will cause an error.
The only Service Types permitted to have blank Service IDs are Other Services and non-Phone Custom Services.
Service Catalog
Conditionally Required IF the Import is trying to INSERT a new record.
Datatype is Hierarchical String.
NOT Required if the Import File is trying to UPDATE an existing record.
...
The Service Catalog is of the Phone type.
Service Host is NOT required Required if the Import is trying to UPDATE.
...
Dept. Hierarchy Owner
Datatype is Hierarchical String. Only the Code From the Dept. Hierarchy is expectedor String
This Import expects the Department Hierarchy code, not the Name.
The value for this field can be the full Hierarachial Path, or it can be just the last part of the Path. If you provide only the last part, then there is a chance that there could be duplicate values in the database. If duplicate values are found, then you will get an error.
Location
Datatype is Hierarchical String.
Conditionally Required if Status is Active AND if the Service Catalog flag Location Required is set.
The full Location Path is expected.
...
This field is used for the Location lookup if provided.
Location 911
Datatype is Boolean.
Defaults to False
This is only used if the Service has the Multi-Location flag set. This determines which Location will be reported for the 911 Report.
Location Status
Datatype is Boolean.
Defaults to Active
This is only used if the Service has the Multi-Location flag set. This determines if an individual Service Location is Active.
Note: If you need to specify Multiple Locations for a Service, you will need to use Conditional Logic to set up an array of values. See the Notes section at the bottom of this page.
Rating Group
Datatype is String.
...
The USE_RATING_GROUP Configuration flag is set to True.
SLA Catalog
Datatype is Hierarchical String.
Reference
Datatype is String.
Billing Group Override
Datatype is String.
This is an override of the Owner Billing Group.
Multiple Locations
Datatype is Boolean.
Defaults to False [0].
Permitted Values are 1, True, or Yes and set the Flag to True [1].
All other values enter as False [0].
Essential
Datatype is Boolean.
Defaults to False [0].Permitted Values are 1, True, or Yes and set the Flag to True [1].All other values enter as False [0].
Billable
Datatype is Boolean.
Defaults to False [0].
Permitted Values are 1, True, or Yes and set the Flag to True [1].
All other values enter as False [0].
Directory
Datatype is Boolean.
Defaults to True [1].
Permitted Values are 1, True, or Yes and set the Flag to True.
All other values enter as False [0].
Report 911
Datatype is Boolean.
Defaults to False [0].Permitted Values are 1, True, or Yes set the Flag to True [1].All other values enter as False [0].
Company ID
Datatype is String.
...
Permitted values are from the customer-defined AUTH_CODE_TYPE List Values.
...
Note: This is only available for Auth Code Service Import.
Service RECID
Datatype is Number.
Default is blank.
This is used to specify the Service Record for Services that have a blank Service ID.
If this is provided, the provided value must be a valid existing service RECID.
If it is not, it will cause an error.
The only Service Type permitted to have blank Service IDs is Other Services.
Child Records
Charges Tab
Charges are handled with a separate Import file. See the Service Charges Import for details.
Contacts Tab
Contact First Name
Datatype is String
Default is blank
Contact Last Name
Datatype is String
Default is blank
Contact Customer Number
Datatype is String
Default is blank
GLA Tab
GLAs added to a Service with the Service Import ONLY adds an association between the existing GLAs and the selected Service in the Import File. The Service Import cannot INSERT or UPDATE GLA records.
GLA
Datatype is String.
GLA must be the full GLA Path with all Components separated by the GLA_CONCATENATOR.
Multiple levels of a hierarchy "path" (like Locations, GLAs, and Catalogs) are connected by the HIERARCHYPATH_SEPARATOR string.
The default value for this string is right angle-brace (>) with a space on either side: " > ".
When importing nested Locations, the separator you use for each level of the hierarchy must match the concatenator string.
For example, Site A > Building B > Room C.
GLA Expense Type
Conditionally Required if GLA is provided.
...
The Equipment fields try to identify an existing Equipment record to add to the Equipment tab of the Service. They are checked in the order of the list below. If a value is blank, it is ignored by the Import process. If the value is filled in, the Import attempts to do the lookup.
If the lookup fails, the Import stops and output an error message. This error does not affect the Service INSERT or UPDATE, only the Equipment tab association.
An Equipment can only be associated if the Service Status is 'Active' or 'Suspend'. And the existing Equipment Status must be 'Assigned'.
...
Equipment Location
Datatype is String.
The full Location Path hierarchy in a single string, with individual parts of the Location Hierarchy separated by the HIERARCHYPATH_CONCATENATOR.
Multiple levels of a hierarchy "path" (like Locations, GLAs, and Catalogs) are connected by the HIERARCHYPATH_SEPARATOR string.
The default value for this string is right angle-brace (>) with a space on either side: " > ".
When importing nested Locations, the separator you use for each level of the hierarchy must match the concatenator string.
For example, Site A > Building B > Room C.
The Hierarchical String.
The Equipment Location value is used only with a non-blank Equipment ID. If a non-blank Equipment ID is not provided, then the Location value is ignored. You cannot lookup an Equipment with just a Location.
...
This is the RECID field from the Equipment record. This is usually not visible, but it can be obtained from an export. This method will always provide a unique number. It is useful for Equipment with blank values for all of the other key fields.
If the lookup fails, that import line will output an error message. This error does not affect the Service INSERT or UPDATE, only the Equipment tab association.
Flags / Conditional Logic
CLEAR_CONTACTS:
Datatype is String
Default: Flag is unset.
By default, the first time a Service ID is encountered in an Import file and a Contact is provided, the Contact list is cleared. Then, the provided value is added. After the first occurrence, the values are appended.
- True: If true, the Contact list will be cleared with or without providing a new value.
- False: If false, you will append without clearing the list
REPLACE_EQUIPMENT:
Default Value is False
...
- True: If this is set, the Equipment list gets cleared even if no new Equipment is provided.
- False: Equipment is not to be cleared.
APPEND_POOLS:
Default Value is False.
- True: Setting the flag to True appends Pools to matching Service ID Pools and does not clear any existing Pools.
- False: Setting the flag to False clears existing Pools on matching Service IDs and updates the Pool on the first instance of that Service. Any additional Service ID Pools are appended after the first instance.
Errors
There are a large number of possible errors for Imports. There are two types: errors that prevent the record from Importing and those that don't but cannot update related Import record information.
The following display if the Service INSERT or UPDATE fails:
...
When an Import Line fails, it is usually because the Line falls into one of the following categories:
The value provided from another table was not found or multiple matches found within the Database
Toggle cloak Cloak - Error : Found multiple existing Equipment with Serial Number '<serialNumber>'
- Error : Found multiple existing Equipment with MAC Address '<macAddress>'
- Error : Found multiple existing Equipment for Equipment ID '<equipmentId>'
- Error : Invalid Equipment RECID '<recid>'
- Error : Invalid Equipment MAC Address '<macAddress>'
- Error : Invalid Equipment Asset Tag '<asset>"
- Error : Invalid Equipment Location '<location>'
- Error : Invalid Equipment for Equipment ID '<equipmentId>'
- Error : Invalid Equipment Serial Number '<serialNumber>'
- Error : Invalid Service Pools '<service_pool>'
- Error : Invalid Billing Group '<BILLING_GROUP>'
- Error : Invalid Class Of Service '<class of service>'
- Error : Invalid GLA '<gla>'
- Error : Invalid Service Host '<SERVICE_HOST>'
- Error : Invalid Location '<LOCATION>'
- Error : Invalid Service Catalog '<SERV_CATALOG>'
- Error : Invalid Contact '<OWNER_CONTACT>'
- Error : Invalid Dept Hierarchy '<OWNER_DEPT_HIERARCHY>'
The value provided from another table is Inactive
Toggle cloak Cloak - Error : Inactive Service Catalog '<SERV_CATALOG>'
A blank value was provided, for a field with a required value
Toggle cloak Cloak - Error : Missing Auth Code type for new Auth Code '<SERVICE_ID>'
- Error :
...
- Missing GLA
- Error : Missing GLA Expense Type
- Error : Missing GLA Percent
- Error : No Service Catalog Specified
- Error : No Status provided for new Service '<SERVICE_ID>'
The value provided is not acceptable for the record type being created
Toggle cloak Cloak - Error : Service <serviceId>, GLA type <expenseTypeListsRecid>, Percents add up to <sum> (should be 100)
- Error :
...
- This Equipment Catalog type is restricted from being on this Service Catalog type
- Error :
...
These messages are NOT indications that the Service INSERT or UPDATE to failed. The Service will INSERT or UPDATE. However, the subsequent Child record may have a warning generate and the child record is not added to the Service. They are non-essential for the Service or they happen after the Service save.
...
- Can't assign Equipment unless Service Status is Active or Suspend
- Error : Can't assign Equipment unless Equipment Status is Assigned
- Error : Provided Service Host not permitted for this service catalog
- Error : Provided Location not permitted for this Service Catalog
- Error : No Service ID Specified
The System was unable to save the record
Toggle cloak Cloak - Error : Failed to save Service record; <errorMessage>
- Error : Service <serviceId>, GLA type <expenseTypeListsRecid>; <errorMessage>
If you experience any of these Errors, without another accompanying Message about what might have caused the Save Failure, please submit a Ticket to PCR.
Notes
The ability to append Pools to a Service was added. The default behavior for adding Pools is to clear the Pool list for the first instance of a Service ID in the import file. Then, append to the Pool list for every instance of the Service ID after the first. This can be changed with the APPEND_POOLS flag as described in the Flags section.
If a Remarks value is provided, that value is appended as a new record in the Remarks tab of the Service. This happens even if an identical Remark already exists. Care must be taken to avoid unintentional duplicate Remarks if the same file is Imported multiple times.
If you need to specify Multiple Locations for a Service, you will need to use Conditional Logic to set up an array of values. Here is how that is done:
Code Block | ||
---|---|---|
| ||
// This is the mappings for the first location, using input fields 5 through 8:
[SERVICES.LOCATION][] = [5];
[SERVICES.LOCATION_TYPE][] = [6];
[SERVICES.LOCATION_911][] = [7];
[SERVICES.LOCATION_STATUS][] = [8];
// This is the mappings for the second location, using input fields 9 through 12:
[SERVICES.LOCATION][] = [9];
[SERVICES.LOCATION_TYPE][] = [10];
[SERVICES.LOCATION_911][] = [11];
[SERVICES.LOCATION_STATUS][] = [12]; |
Note the extra brackets before the equals sign. That is what is turning these into array references.
Using this method, you can add any number of Locations.
Providing the Type, 911 flag, and Status are optional. But if you provide one of these values for one location, you need to provide the value for all the locations.
UDF Associations
User Defined Fields on any given Import are all handled the same way with Conditional Logic. For more information about adding a UDF to the Import, see the User Defined Fields section of the Imports main page.
...