Arc Process Editor
Overview
The Arc TM1 Process Editor is a browser-based interface for creating and editing TurboIntegrator (TI) processes in IBM Planning Analytics / TM1. Developed by Cubewise, Arc extends the default TM1 developer experience with modern code editing features — including syntax highlighting, auto-complete, real-time error detection, and search/replace — that are not available in the native IBM Architect or Planning Analytics Workspace (PAW) clients.
This page is a comprehensive reference for TM1 developers, administrators, and power users working with the Arc Process Editor. It covers the interface structure, core features, TI process phases, and best practices.
Key Concepts
Term | Definition |
|---|---|
TurboIntegrator (TI) | TM1's scripting language used for ETL processes, data loading, dimension manipulation, and automation. |
Process Editor | The UI component in Arc for writing, editing, and running TI processes. |
Arc | A web-based TM1 development tool by Cubewise, providing a modern alternative to IBM Architect and PAW. |
Process Phases (Prolog / Metadata / Data / Epilog) | The four execution stages of a TI process, each represented as a separate code tab in the editor. |
Parameters | Input variables passed to a TI process at runtime, configurable via the Parameters tab. |
Process Editor Interface
Data Source Tab
Defines the input source for the TI process. Supported data source types include: None, TM1 Cube View, ASCII/CSV File, ODBC, TM1 Dimension Subset, and IBM Cognos TM1 Package.
Parameters Tab
Allows developers to define named parameters (String or Numeric) with default values. Parameters are accessible across all code tabs and can be passed dynamically at runtime by chores, other processes, or user prompts.
Variables Tab
Displays the variables mapped from data source columns. Variable types (String/Numeric) and their usage context (Element, Data, Other) are configurable here.
Code Tabs: Prolog, Metadata, Data, Epilog
Phase | Execution Timing | Typical Use |
|---|---|---|
Prolog | Once, before the data loop | Initialisation, locking cubes, clearing data |
Metadata | Once per record (dimension changes) | Creating/updating dimension elements and hierarchies |
Data | Once per record (cube writes) | Writing values to TM1 cubes |
Epilog | Once, after the data loop | Cleanup, logging, triggering downstream processes |
Key Features
Syntax Highlighting
Full TurboIntegrator syntax highlighting distinguishes functions, variables, strings, comments, and control flow keywords. This significantly improves readability for complex processes.
Auto-Complete
Intelligent auto-complete suggestions for TM1 built-in functions, user-defined parameters, and variables reduce typing errors and speed up development.
Real-Time Error Detection
Arc validates TI code in real time and flags syntax errors inline before the process is saved or executed. This pre-execution validation reduces failed runs and debugging overhead.
Search & Replace
A built-in search and replace tool lets developers quickly find function calls, variable names, or string literals across all code tabs within a process.
Run & Debug
Processes can be executed directly from the editor. Arc surfaces execution results, error messages, and log output inline — removing the need to consult TM1 server logs during development.
Best Practices
Use comments generously — TI code can become complex. Comment each block with a clear description of intent.
Prefer parameters over hardcoded values — Makes processes reusable and easier to maintain.
Use Prolog for setup, Epilog for teardown — Reserve the Data tab for cube writes to keep logic separated and clear.
Always validate before running — Use Arc's real-time validation to catch syntax errors before execution.
Apply consistent naming conventions — Use prefixes (e.g. } for system processes) to organise and make processes easily discoverable.
Common TI Functions Reference
Function | Description |
|---|---|
| Write numeric or string values to a cube cell. |
| Add a new element to a TM1 dimension. |
| Invoke another TI process from within the current one. |
| Terminate a process with an error or exit gracefully. |
| Create a dimension subset using an MDX expression. |
| Control whether calculated cells are included when extracting from a cube view. |