Error Monitoring for SAP (Configure)

⚙️ Configure Error Monitoring for SAP

Configure GermainUX to detect, classify, analyze, and prioritize errors affecting SAP users, business processes, applications, integrations, and supporting technology.

GermainUX correlates errors with user sessions, Session Replay, business-process steps, browser activity, network requests, logs, APIs, integrations, Java execution, infrastructure, and supported database telemetry when those data sources are available.

📦 Supported SAP applications

Error monitoring can be configured for:

Application

SAP Fiori

SAPUI5 applications

SAP Web GUI

Custom SAP web applications

SAP portals

SAP Commerce Cloud, formerly SAP Hybris

Customer-controlled Java components associated with SAP

SAP-related APIs, integrations, logs, servers, and supported databases

Coverage depends on the deployed GermainUX components and accessible data sources.

🛠 Error-monitoring components

Component

Error-monitoring capabilities

RUM JS

Browser errors, visible messages, failed requests, resource errors, freezes, custom events, user impact, and Session Replay

JS Profiler

Advanced browser-side JavaScript and network diagnostics

Engine

HTTP failures, log events, file events, process and service failures, integrations, and supported database errors

Code Profiler

Exceptions and execution details from supported, customer-controlled SAP Commerce Cloud Java runtimes

RPA Bot Recorder

Synthetic detection of availability, functional, and workflow failures

🏷️ Error classifications

Use consistent classifications across KPIs, dashboards, alerts, and reports.

Classification

Definition

Example

User-facing application error

The software is not operating correctly, and the failure is visible to the user

A SAP operation fails and displays an error message

Silent application error

The software fails without displaying the failure to the user

A background request fails, but the page does not notify the user

User validation

Expected feedback prevents invalid input or action

A required field is missing

Business-process failure

The expected business outcome is not achieved

Submission appears successful, but the required transaction is not created

Integration failure

A configured dependent service or data exchange fails

Inventory or payment integration times out

Technical event

A technical condition that has not yet been confirmed as a software failure

A handled browser warning with no demonstrated impact

Availability failure

A required application, process, service, or endpoint is unavailable

Fiori application or Commerce endpoint cannot be reached

Keep user validation separate from application errors. Validation usually indicates that the application is operating as designed.

🌐 Configure browser-error monitoring

Go to:

Germain Workspace > Analytics > UX Monitoring Profiles

Select the profile used by the SAP web application.

Configure the applicable browser monitors:

Monitor

JavaScript errors

Unhandled promise rejections

Browser console events

Failed HTTP and fetch requests

Resource-loading failures

Browser freezes

Popup and visible-message monitoring

Custom application events

Session Replay

Network monitoring

Error categorization

Privacy and masking

Depending on the GermainUX version, UX Monitoring Profiles may appear under Settings > Analytics.

🐛 JavaScript errors

RUM JS can capture supported JavaScript exceptions with information such as:

Attribute

Error name

Message

Stack

Page

Application

Environment

Browser

User session

Timestamp

Related user action

Use the JS Profiler when additional browser-side execution evidence is required.

warning Unhandled promise rejections

Unhandled promise rejections can indicate asynchronous failures in SAPUI5, Fiori, Commerce storefronts, or custom JavaScript.

Configure categorization rules to distinguish actionable failures from benign rejected operations.

📃 Browser console events

Console collection can provide diagnostic context when the application or a third-party component writes errors or warnings to the browser console.

Do not classify every console warning as an application error. Evaluate its effect on the user or business process.

📁 Resource errors

Capture failures involving:

Resource

JavaScript files

Stylesheets

Images

Fonts

Application resources

Third-party resources

Resource failures can explain incomplete pages, missing controls, broken layouts, and application-startup failures.

💬 Configure visible-message monitoring

GermainUX can capture supported browser dialogs or application messages when the message is available in the monitored page.

Potential sources include:

Source

Inline messages

Banners

Toast notifications

Modal dialogs

Browser dialogs

Validation messages

Custom application components

For each message rule, define:

Rule element

Page or application scope

Element or message selector

Message extraction

Error classification

Success state

Severity

Application and environment

Privacy rules

The same visual component may display application errors, validation, warnings, and informational messages. Use the message and context to classify each event correctly.

📡 Configure network-error monitoring

Monitor browser requests associated with:

Request type

REST A

OData services

SOAP services

SAPUI5 resources

Commerce services

Authentication

Integrations

Third-party services

Potential failures include:

Failure

Network connection failure

Timeout

HTTP error status

Authentication failure

Invalid response

Functional failure returned with HTTP 200

Repeated retry

Slow request followed by abandonment

Configure:

Setting

Request naming

URL normalization

Success criteria

Timeout thresholds

Error categorization

Header exclusion

Request- and respo

URL normalization

Success criteria

Timeout thresholds

Error categorization

Header exclusion

Request- and response-body exclusion

Correlation attributes

✅ Functional errors returned with HTTP 200

Some services return HTTP 200 while the response represents a failed operation.

Where required, configure narrowly scoped response processing to evaluate:

Field

Error field

Business status

Expected object

Result count

Response schema

Known failure message

Avoid collecting complete response bodies. Extract only the fields required to determine success.

🔧 Configure custom application errors

Create custom events when an important SAP application failure cannot be identified reliably through standard browser or network telemetry.

Example:

germainApm.api.createEvent("SAP Operation Failed", {
    success: false,
    errorClassification: "user-facing-application-error",
    operation: "SubmitPurchaseRequisition",
    message: sanitizedErrorMessage
});

Use stable names such as:

SAP Login Failed
SAP Search Failed
SAP Submission Failed
SAP Approval Failed
SAP Integration Failed
SAP Commerce Add to Cart Failed
SAP Commerce Checkout Failed

Do not include passwords, tokens, personal information, or sensitive business data in custom event attributes.

🏬 Configure SAP Commerce Cloud error monitoring

GermainUX can monitor SAP Commerce Cloud with the same customer-experience and conversion-oriented approach used for other e-commerce platforms.

🛒 Storefront errors

Monitor:

Error type

JavaScript errors

Failed browser requests

Resource failures

Product-loading failures

Search failures

Searches returning no results

Category-navigation failures

Product-configuration failures

Add-to-cart failures

Cart-update failures

Authentication failures

Checkout failures

Customer-visible messages

Third-party script failures

🔗 Conversion-impacting errors

Correlate errors with:

Metric

Product views

Product configuration

Add-to-cart

Cart views

Checkout starts

Checkout steps

Purchase completion

Abandonment

Customer feedback

Revenue or cart value, when approved and available

This helps identify errors that:

Impact

Prevent customers from finding products

Block products from being added to the cart

Cause cart abandonment

Prevent checkout progression

Affect a specific product, category, browser, or customer segment

Reduce conversion

🔌 Commerce integrations

Monitor accessible services such as:

Service

OCC APIs

Search

Inventory

Pricing

Promotions

Payment

Tax

Shipping

Customer identity

CRM and ERP integrations

Each service requires an accessible data source and explicit configuration.

☕ Java exceptions

For supported, customer-controlled SAP Commerce Cloud Java runtimes, the GermainUX Code Profiler can collect:

Collec

Exceptions

Transaction failures

Method-level execution context

Outbound calls

Supported database calls

Related performance information

Code Profiler deployment requires:

Requirement

A supported Java runtime

Permission to install the profiler

Network access

Approved configuration

In SAP-managed environments, Java runtime access may be restricted.

🔁 Configure Engine-based error monitoring

The GermainUX Engine can collect errors from accessible technical sources.

🌍 HTTP monitoring

Configure HTTP checks for:

Check

Availability

Response time

Expected status

Functional response

Authentication

Timeou

Availability

Response time

Expected status

Functional response

Authentication

Timeout

Error message

A failed check can generate an availability, performance, or functional-error KPI.

🗄️ Log monitoring

Configure accessible log sources using a generic or custom parser.

Potential log events include:

Impact

Prevent customers from finding products

Block products from being added to the cart

Cause cart abandonment

Prevent checkout progression

Affect a specific product, category, browser, or customer segment

Reduce conversion

For each source, configure:

Setting

Path and pattern

Encoding

Timestamp

Time zone

Multiline handling

Rotation

Severity

Parser

Application and environment

Privacy rules

⚙️ Process and service failures

Monitor supported operating-system processes and services for:

Condition

Missing process

Stopped service

Unexpected instance count

Repeated restart

Startup failure

Process unavailability indicates a technical condition. Correlate it with application and user evidence before assigning business impact.

🗄️ Supported database errors

When a compatible database monitor is configured, GermainUX can collect supported:

Database event

Connection failures

Query failures

Locks and blocking

Long-running queries

Capacity conditions

Availability failures

Use a dedicated read-only monitoring account.

🔍 Analyze imported SAP diagnostic events

SAP-related errors, dumps, traces, or workload events can be analyzed when they are supplied through an accessible and configured source.

Potential sources include:

Source

Exported text files

Accessible logs

Approved APIs

Database queries

Custom scripts

Custom integrations

Once collected, GermainUX can:

Action

Normalize the error

Categorize it

Analyze its frequency

Identify affected applications and environments

Correlate it with other events

Alert and report on it

Compare it with previous occurrences

The available analysis depends on the fields extracted from the source.

📋 Configure error categorization

Go to:

Germain Workspace > Analytics > Categorization

Create rules using stable attributes such as:

Attribute

Error name

Normalized message

Error code

Stack signature

Page

Request endpoint

Application component

Business-process step

Java exception type

Integration

Application and environment

Normalize variable values such as:

Variable

User identifiers

Document identifiers

Session identifiers

Request identifiers

Timestamps

Memory addresses

Thread identifiers

Generated file names

Dynamic product or order identifiers

🔎 Exact and fuzzy matching

Use exact matching for attributes that must be identical, such as:

Exact-match attribute

Error type

Normalized error code

Application

Component

Use fuzzy matching for fields that can vary slightly, such as:

Fuzzy-match attribute

Normalized message

Stack signature

Diagnostic text

Categorization helps identify:

Outcome

New errors

Recurring errors

Increasing errors

Errors introduced after a release

Similar errors across users or systems

Previously resolved errors that returned

📈 Prioritize errors by business impact

Use the GermainUX Analysis Dashboard and other analytical views to determine:

Factor

Number of occurrences

Unique affected users

Affected sessions

Affected business processes

Affected process steps

Completion and abandonment impact

Conversion impact

Revenue impact, when configured

Applications and environments affected

Browsers, devices, roles, and locations affected

First and most recent occurrence

Relationship with a release or deployment

Related technical KPIs

A frequent technical warning may be less important than a less frequent error that blocks a critical business process or purchase.

🔍 Analyze an individual error

For an error instance, review:

Item

Classification

Message

Timestamp

Application and environment

User session

Page or application view

User action

Session Replay

Browser errors

Network requests

Business-process step

Related log or API event

Java execution details, when available

Related infrastructure or database conditions

Use Session Replay to understand what the user experienced before and after the error.

Session Replay reconstructs captured browser activity. It is not a video recording.

🔁 Correlate frontend and backend evidence

Where compatible identifiers are available, correlate:

  1. User action

  2. Browser activity

  3. Outbound request

  4. HTTP or integration event

  5. Application log or Java exception

  6. Supported database event

  7. User-visible result

Potential correlation attributes include:

Attribute

Session identifier

Request identifier

Correlation identifier

Transaction identifier

Application

Environment

User

Timestamp

Time-based relationships can support investigation, but a shared identifier provides stronger evidence.

📊 Configure error KPIs

Potential KPIs include:

KPI

Description

User-Facing Application Error

Software failure visible to the user

Silent Application Error

Software failure not visible to the user

User Validation

Expected feedback preventing invalid input

Browser Error

Browser-side error event

JavaScript Error

JavaScript exception

Unhandled Promise Rejection

Unhandled asynchronous JavaScript failure

Failed HTTP Request

Browser or Engine request that failed

Resource Error

Browser resource failed to load

Java Exception

Exception from a supported profiled Java runtime

Integration Failure

Configured integration operation failed

Functional Validation Failure

Operation returned an incorrect functional result

Process or Service Unavailable

Required operating-system process or service is unavailable

Synthetic Scenario Failure

Synthetic SAP journey failed

Error-Affected Users

Distinct users associated with qualifying errors

Error-Affected Sessions

Sessions containing qualifying errors

Create custom KPIs when a configured SAP event does not map to an existing KPI.

🖥️ Configure dashboards

Go to:

Germain Workspace > Dashboards > All

Search for SAP, error, user-experience, business-process, or Commerce dashboards, or create a dashboard from the configured KPIs.

👀 Error overview

Include:

  • Total application errors

  • New error categories

  • Unique affected users

  • Error-affected sessions

  • Error trend

  • Most impactful errors

👥 User-impact analysis

Include:

  • Errors by user

  • Errors by page

  • Errors by application

  • Errors by business-process step

  • Session Replay links

  • Completion and abandonment impact

📦 SAP Commerce Cloud errors

Include:

  • Product errors

  • Search failures

  • Add-to-cart failures

  • Cart errors

  • Checkout errors

  • Conversion impact

  • Revenue impact

  • Errors by product, category, browser, and device

🛠️ Technical errors

Include:

  • Failed requests

  • JavaScript errors

  • Java exceptions

  • Log errors

  • Integration failures

  • Process and service failures

  • Supported database errors

🔔 Configure alerts

Create alerts for actionable conditions such as:

Condition

New critical error category

User-facing application error affecting multiple users

Business-process failure increase

Checkout failure increase

Integration unavailable

Java exception increase

Failed request increase

Required process or service stopped

Error introduced after a release

Previously resolved error returned

Avoid sending one alert for every occurrence.

Use:

Approach

Categorization

Aggregation

Deduplication

Affected-user thresholds

Business-impact thresholds

Consecutive-failure rules

Cooldown periods

Maintenance periods

✉️ Alert content

An error alert should include:

Item

Error name and category

Classification

Severity

Application and environment

First and most recent occurrence

Number of occurrences

Unique affected users

Affected process or conversion stage

Related release

Link to analysis

Link to affected sessions or replay

📁 Configure reports

Schedule reports for:

Report

New errors

Recurring errors

Most frequent errors

Errors affecting the most users

Errors affecting critical processes

SAP Commerce conversion errors

Errors by application or environment

Errors by release

Resolved and recurring errors

User-validation trends

Silent application errors

Integration and Java exceptions

Keep user validation separate from software failures.

🤖 Configure automated actions

GermainUX can initiate approved actions in response to configured error conditions.

Potential actions include:

Action

Send an email or collaboration notification

Create an incident or ticket

Call an approved webhook

Execute an authorized diagnostic script

Run a synthetic scenario

Generate an analysis or report

Invoke an approved corrective action

Configure:

Setting

Trigger

Scope

Permissions

Safeguards

Cooldown

Failure handling

Audit trail

Manual approval when required

🔒 Privacy and security

Errors and diagnostic data can contain sensitive information.

Configure:

Control

Text and input masking

URL sanitization

Request-header exclusion

Request- and response-body exclusion

Log-field redaction

Session Replay exclusions

Data retention

Role-based access

Export restrictions

Sensitive-data detection, where available

Do not collect:

Do not collect

Passwords

Authentication tokens

Session cookies

Payment-card information

Security codes

Unnecessary personal data

Unrestricted business documents

Sensitive request or response content

✅ Validate the configuration

Confirm that:

Check

JavaScript errors are captured.

Unhandled promise rejections are captured.

Failed requests are captured.

Resource failures are captured.

Visible application errors are classified correctly.

Silent failures remain separate.

User validation is not counted as an application error.

Commerce errors correlate with the correct journey stage.

Engine-based events use the correct application and environment.

Java exceptions appear only where Code Profiler is deployed.

Error categories normalize dynamic values.

New errors can be identified.

Session Replay opens the affected session.

Business impact appears correctly.

Sensitive values are protected.

Alerts are deduplicated and routed correctly.

Test events do not contaminate production reporting.

🔧 Troubleshooting

❗ Too many insignificant events

  • Separate technical events from confirmed application errors.

  • Categorize and normalize recurring messages.

  • Exclude known browser-extension or bot noise.

image-20240227-165033.png


  • Filter expected validation.

  • Use affected-user and business-impact thresholds.

  • Alert only on new, increasing, or important categories.

🔁 One error creates many categories

Normalize dynamic:

Dynamic value

User identifiers

Document identifiers

Request identifiers

Timestamps

Memory addresses

Product identifiers

Order identifiers

❓ A visible error is not detected

Determine whether it is:

Type

DOM text

Toast notification

Modal dialog

Browser dialog

Console event

Network response

Custom component

Cross-origin content

Configure the corresponding detection method.

🚫 Error appears without Session Replay

Confirm that:

Check

Session Replay is enabled.

The session was selected by replay sampling.

Consent permitted replay.

The page is within capture scope.

Error and replay use the same application and session.

🔗 Backend error is not linked to the user session

Verify:

Check

Correlation identifiers

Application and environment

Clock synchronization

Request naming

Log extraction

Correlation rules

Without a shared identifier, use time-based analysis cautiously.

ℹ️ Get More Information

GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your SAP environment.

Contact GermainUX Support.

Feature Availability: 2022.1 or later