Thank you Steven, your help was invaluable in identifying and resolving this problem.
Here is the troubleshooting guide I followed to fix the issue:
# Maximo Start Center Blank Screen / Crash - Troubleshooting Guide
## Problem
Two symptoms, same root cause:
1. **Start Center loads blank** after login - no dashboard, no portlets, no on-screen error. The page just sits empty.
2. **The dashboard suddenly crashes specifically when editing or saving it** - not while just viewing it. You'll see:
```
BMXAA4211E - Database error number -803 has occurred when operating on LAYOUT : Layout=25670.
```
> 🔑 **Key clue:** if the crash only happens on **Edit / Save**, and the dashboard is otherwise viewable fine, that's a strong sign you're hitting this exact issue. Viewing a dashboard only *reads* data, but editing/saving *writes* new records - and that's the moment Maximo collides with a leftover duplicate key in the database (see Root Cause below).
This guide covers both symptoms, since they come from the same root cause.
---
## Root Cause
Maximo stores each user's dashboard in two tables:
| Table | What it holds |
|---|---|
| `SCCONFIG` | The Start Center "config" - one row per user + security group combo |
| `LAYOUT` | The individual portlets/widgets inside that dashboard |
Both tables have a **unique index** that must never have duplicate values:
- `SCCONFIG` → unique on `(USERID, GROUPNAME)`
- `LAYOUT` → unique on `CONTENTUID`
**The crash happens when Maximo tries to insert a new row that collides with an existing one in these unique indexes** - usually left over from a previous group/Start Center reassignment while a session was still active. Instead of showing a proper error, the Start Center bean throws an exception during page load, and the browser just shows a blank screen.
Database error code **`-803`** = "duplicate key violation" (DB2). If you're on a different database, look for an equivalent unique-constraint error.
---
## Step 1: Confirm it's this issue
Check the application server log (`SystemOut.log` / `SystemErr.log`) around the time of the crash. Look for:
```
BMXAA4211E - Database error number -803 has occurred when operating on SCCONFIG
```
or
```
BMXAA4211E - Database error number -803 has occurred when operating on LAYOUT
```
If you see this, along with a stack trace mentioning `SCConfigService`, `StartCenterAppBean`, or `StartCenter.initialize` - you're in the right place.
---
## Step 2: Fix a blank Start Center (SCCONFIG issue)
1. **Back up the row first** - always, before deleting anything:
```sql
SELECT * FROM SCCONFIG WHERE USERID = 'YOUR_USER' AND GROUPNAME = 'YOUR_GROUP';
```
Copy this result somewhere safe (spreadsheet, CSV, notes).
2. **Delete that row** by its unique `SCCONFIGID`:
```sql
DELETE FROM SCCONFIG WHERE SCCONFIGID = <the ID from step 1>;
```
3. **Log out completely and log back in.** Maximo will automatically create a fresh `SCCONFIG` row for that user/group - this usually fixes the blank screen immediately.
> ⚠️ **Do not restore the deleted row from your backup.** Once you log back in, Maximo creates a brand-new row for that same user/group. Re-inserting the old one will just recreate the duplicate-key collision.
---
## Step 3: Fix the "-803 on LAYOUT" error (can't save/edit dashboard)
This happens because deleting the `SCCONFIG` row in Step 2 does **not** automatically delete its child `LAYOUT` rows (the portlets). Those old rows are left behind ("orphaned"), still holding onto `CONTENTUID` values. When you try to save a new/edited dashboard, Maximo tries to reuse a `CONTENTUID` that's still stuck in one of those orphaned rows - causing the collision.
1. **Find the orphaned rows**, using the *old* `SCCONFIGID` you deleted in Step 2:
```sql
SELECT LAYOUTID, PORTLETID, DESCRIPTION, SCCONFIGID, CONTENTUID
FROM LAYOUT
WHERE SCCONFIGID = <the old SCCONFIGID you deleted>;
```
2. **Confirm these are actually orphaned** - check your *current* active dashboard's `SCCONFIGID` (it will be a different, newer number):
```sql
SELECT * FROM SCCONFIG WHERE USERID = 'YOUR_USER' AND GROUPNAME = 'YOUR_GROUP';
```
If the `SCCONFIGID` here is different from the one in step 1, the `LAYOUT` rows tied to the old ID are safe to remove.
3. **Delete the orphaned LAYOUT rows:**
```sql
DELETE FROM LAYOUT WHERE SCCONFIGID = <the old, now-deleted SCCONFIGID>;
```
4. **Log out and back in**, then try editing/saving the dashboard again. The error should be gone.
---
## Step 4 (Recommended, faster in practice): Clone the Dashboard Instead
Rather than hunting down every orphaned row, it's often quicker and safer to just **clone the affected dashboard as a new one**:
1. Go to your Start Center.
2. Use the **clone/copy dashboard** option to create a fresh copy under a new name.
3. Delete or stop using the old broken one.
4. Continue working from the clone.
This sidesteps any other hidden orphaned rows we may not have found, since the clone gets entirely fresh `CONTENTUID` and `LAYOUT` records.
âś… **This is the approach that worked in our case** and is recommended as the first thing to try if Step 3 feels too risky or time-consuming.
---
## Quick Reference Summary
| Symptom | Cause | Fix |
|---|---|---|
| Start Center loads blank | Duplicate row in `SCCONFIG` | Delete the old row → re-login (Maximo recreates it) |
| `-803` error on `LAYOUT` when saving dashboard | Orphaned `LAYOUT` rows from the deleted `SCCONFIG` row | Delete orphaned `LAYOUT` rows tied to the old `SCCONFIGID`, **or** just clone the dashboard |
---
## Prevention Tips
- Avoid changing a user's security group / Start Center assignment while they have an active Maximo session - log them out first.
- If a Start Center config needs to be reset, always delete the **whole chain** (`SCCONFIG` row *and* its related `LAYOUT` rows) together, not just one table.
- Keep a habit of backing up (`SELECT *` into a CSV) any row before deleting it - even if you don't end up restoring it, it helps confirm root cause later.
---
*Document based on a real troubleshooting case - Maximo (DB2 backend). Adjust catalog/system queries (`SYSCAT.*`) if using Oracle or SQL Server.*
------------------------------
Gopireddy Jaswanth reddy
thiran tech
------------------------------
Original Message:
Sent: 09-04-2026 13:03
From: Steven Shull
Subject: Maximo 7.6.1.2.3 - Start Center is not showing
I'm not sure that I have ever seen this scenario. Even when you edit the start center template, other users shouldn't see the changes until they manually update their start center. Maximo makes a copy for each user in the scconfig, layout, etc. tables.
I think you need to start by determining if the template has been deleted. If that's the case, you won't be able to recover from your existing database. To do that, you start from sctemplate table and try and find the template you're interested in.
If you find the start center template, and everything looks good in the presentation column, then you want to the scconfig object and search where the sctemplateid matches your sctemplateid from the sctemplate object.
If you have a sctemplate but do not see anything in the scconfig table, it means Maximo doesn't think this is assigned to any user. Someone may have removed it from a security group, and the fix is to simply apply the start center to the security group in the Security Groups application. Then when the user logs out and logs back in, Maximo will create it again from the template.
If your users have scconfig (I assume they don't based on your screenshot), you can try to remove the data to force Maximo to rebuild from the start center template. I would test this by deleting the scconfig for a single user with a query like below (replacing :SCCONFIG_TO_DELETE with the ID of the SCCONFIG)
DELETE FROM rsconfig WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM faconfig WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM inbxconfig WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM kpilconfig WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM kpigconfig WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM actionscfg WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM portletdisplay WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM reportlistcfg WHERE layoutid IN (SELECT layoutid FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE)
DELETE FROM layout WHERE scconfigid = :SCCONFIG_TO_DELETE))
DELETE FROM scconfig WHERE scconfigid = :SCCONFIG_TO_DELETE))
You could then expand on this to find all scconfigid that match that sctemplateid to bulk delete the rest.
If the template is missing, your only option is to recover it from a backup. Maximo doesn't have history tracking of this.
------------------------------
Steven Shull
Naviam
------------------------------