Share

Tandem to Maximo - Create Assets

Description

This solution enables bulk creation of assets in Maximo using asset data sourced from Tandem, ensuring asset names remain consistent across both systems. It is intended for users with an already configured and operational Tandem Facility who wish to initialize Maximo with all assets from Tandem. If an asset already exists in Maximo, the solution will automatically update it to reflect the latest information from Tandem.

Solution Features

Feature Description
Read Assets from Tandem Uses the Attribute Filter and Asset Filter features to read all assets from Tandem.
Create Assets in Maximo Uses Maximo's bulk create API to create up to 50 assets per API call, staying within rate limit thresholds.
Update Existing Assets Performs a MERGE action to update assets in Maximo if an asset with the same AssetNum already exists in the specified site.

Pre-Requisites

This solution assumes that access credentials with the appropriate permissions are available to read and write data in Tandem and to access the IBM Maximo API.

Autodesk Tandem

Before starting this solution, ensure that a Tandem facility is fully set up. For detailed instructions, refer to the Tandem Help. All required properties must be present in the Tandem facility’s template, as listed in the User-defined parameters section.

Register in Autodesk Platform Services (APS)

An application with access to the Tandem Data API should be created in Autodesk Platform Services. The client ID from this application should be added as a user in the Tandem facility with Edit/Manage permission.

To obtain a client id and client secret for authentication, you can follow the tutorial found here.

To add the client id and secret to the Tandem facility, please follow the tutorial found here.

User-defined parameters - Tandem

The Tandem facility for this solution will need to have a category with the following minimum set of user-defined parameters configured in Tandem. These parameters will be used to map Tandem asset properties to Maximo.

The below configuration is a default one provided in the Appendix section. The parameters below are assumed to be in a category named Maximo. If you wish to use a different configuration, you can create a new category and configure them accordingly.

Parameter Name Description
AssetNum The unique asset number used to identify the asset in Maximo. This is the primary key for asset identification.
AssetTag The asset tag used in Maximo, which can be different from the asset number.
Moved Indicates whether the asset has been moved. This is a boolean value.
OrgId The organization ID in Maximo where the asset belongs. This is a mandatory field.
SiteId The site ID in Maximo where the asset is located. This is a mandatory field.

IBM Maximo

For IBM Maximo API, the logged-in user must have the correct permissions set for API access. Follow the documentation here.

An API user must be created and configured in IBM Maximo with appropriate permissions to read and write asset data. For information on how to create the API key, please refer to the help docs IBM Maximo Help.

Basic Setup - Minimum Configuration

This section covers the minimum configuration required to get the solution running. The necessary parameters and their values for each plugin are detailed below. Please follow the instructions on the solution walkthrough to set up the solution.

Scheduled Data Stream

All necessary configuration for the solution is done through the Tandem Connect's Scheduled Data Stream plugin at the beginning of the pipeline. This plugin allows users to set up property mapping between Tandem and Maximo applications, enabling the transfer of asset data.

The scheduled data stream is the integration's starting point, allowing users to configure property mapping between Tandem and Maximo applications. A pre-defined JSON template is provided in the Appendix section, which can be copied and customized as needed.

The mandatory parameters under the Maximo Defaults section are:

  • siteId
  • orgId

The mandatory parameters under the Tandem Configuration section are:

  • Tandem Asset Number Property (e.g., Maximo.AssetNum)
  • Tandem to Maximo Mapping (a JSON object mapping Tandem properties to Maximo properties). If unchanged, the default mapping will be used as shown in the Appendix section.
Note:

The all tandem properties follow the naming convention of <Category Name>.<PropertyName>. This allows for easy identification and mapping of properties in the Tandem facility. For example, if the category is Maximo, the property AssetNum would be referenced as Maximo.AssetNum and also gives users the flexibility to create multiple categories for different applications or purposes.

Autodesk Tandem Service Plugin

For the Autodesk Tandem service plugin, enter the credentials created while setting up the application in Autodesk Platform Service (APS) and the tandem facility details.

Parameter Name Description Required
Client ID The client ID from your APS account setup Yes
Client Secret The client secret from your APS account setup Yes
Facility URN The URN of your Tandem facility Yes
Data Processing The type of data processing to perform Yes, make sure its set to Retrieve Generic Assets

IBM Maximo Service

Parameter Name Description Required
Authentication Method The authentication method for Maximo APIs Yes
Authentication Value The corresponding authentication value Yes
Maximo Base URL The Maximo application base URL (must use HTTPS) Yes

To identify the Maximo Base URL, you can use the URL you use to access Maximo in your browser. For example, if you access https://maximo.example.com/maximo, then the Maximo Base URL would be https://maximo.example.com. Or you can find the base URL in the Maximo API documentation. Alternatively, some Maximo installations may have a specific API endpoint, such as https://maximo.example.com/api which will be configured in the System Configuration > Platform Configuration > System Properties and filter for mxe.oslc.restwebappurl.

Detailed Solution Overview

This section details all components involved in the solution pipeline, including their configuration and purpose.

Pipeline

Autodesk Tandem Service

The service reads assets that are not levels or rooms and bundles them in batches of 50. Configuration includes:

  • Data Processing set to Retrieve Generic Assets
  • Asset Filter and Attribute Filter override from Scheduled Data Stream
  • The Attribute Filter includes Tandem's unique asset number property (e.g., Maximo.AssetNum).

IBM Maximo Service

Configured with the UPSERT action for the Assets entity, the service:

  • Expects an array of assets with a unique keyField
  • Creates new assets that don't exist
  • Updates existing assets based on the keyField
  • Processes all actions in one bulk operation

Converters

  • Prep Tandem: A JavaScript script/module that prepares AssetsFilter and AttributeFilter based on the scheduled data stream configuration.

  • Prep Maximo: A Node.js script/module that:

    • Transforms Tandem asset information into Maximo-compatible JSON
    • Processes batches of 50 assets from the Tandem Service
    • Prepares the array for the Maximo service plugin

Troubleshooting

If you encounter issues, check the following:

  1. Data Not Reading from Tandem

    • Verify the attribute in Asset Filter matches the Maximo Asset number property in Tandem
    • Confirm the attribute exists in the facility template
    • Check if assets use the correct Classification with the attribute
  2. Other Issues

    • Check the Exception tab in each plugin for detailed error messages
    • Verify all required parameters are properly configured
    • Ensure API credentials have appropriate permissions

Appendix

Scheduled Data Stream Configuration

{
  "Tandem Configuration": {
    "Tandem Asset Number Property": "Maximo.AssetNum",
    "Tandem to Maximo Mapping": {
      "Maximo.AssetNum": "assetnum",
      "Maximo.AssetTag": "assettag",
      "Maximo.Moved": "moved",
      "Maximo.OrgId": "orgid",
      "Maximo.SiteId": "siteid",
      "Common.Level": "location",
      "Common.Name": "description"
    }
  },
  "Maximo Defaults": {
    "orgid": "",
    "siteid": "BEDFORD",
    "moved": false,
    "changeby": "Tandem Connect",
    "defaultAssetStatus": "NOT READY"
  }
}

Was this information helpful?