Skip to content

Customizing Management

stud0709 edited this page Oct 21, 2026 · 3 revisions

Customizing Management

The SAP-Dev agent supports maintaining SAP Customizing (tables, views, view clusters) via a Dual Customizing Architecture.

MCP tool Purpose
sap_maintain_customizing_bcset Applies BC Set record changes (insert, update, delete) to customizing tables and views with transport request tracking.

Dual Customizing Architecture

There are two distinct engines available for customizing maintenance, each suited for different use cases:

1. GUI Automation Engine (sap_maintain_customizing)

  • Use case: Native SM30/SM34 dialogs when the BC Set engine cannot cover the activity or TMG events are required.
  • How it works: Drives full Dynpro PBO/PAI logic through the SAP GUI for Java.
  • Advantages: Triggers native Table Maintenance Generator (TMG) user-exit events (Events 01-28), ensuring that all foreign-key enrichments, field derivations, and interactive validations are executed exactly as they would be for a human user.

2. BC Set Engine (sap_maintain_customizing_bcset)

  • Preferred for supported tables and views: Executes headlessly via the SAP BC Set engine.
  • How it works: Fast, strictly key-addressed, multi-language dictionary synchronization with native CTS transport recording (\E071K).
  • Critical Constraint: SAP standard suppresses TMG user-exit events when activating BC Sets. You must double-check data entries and perform post-validation when using this engine, as standard derivation rules will not run.

4-Phase Customizing Lifecycle

Phase 1: Customizing Discovery

Use sap_search_customizing to discover SPRO hierarchy locations, search activities by keywords, or resolve reverse SPRO paths for tables/views.

Phase 2: Explore Context & Fetch Records

Use sap_explore_customizing to retrieve complete DDIC table metadata, primary keys, check tables, domain fixed values, official IMG documentation, and existing sample records.

Inspect customizing_template_engine, the starter customizing_template, and each joined text field's bcset_writable flag. Joined descriptions can be readable on a base-table target while requiring a concrete maintenance view for BC Set writes. Unsupported text fields return CUSTOMIZING_TEXT_FIELD_NOT_WRITABLE before activation, for scalar values and language maps alike. Preserve the intended description change and discover a view that projects that field; obtain approval for the verified target and engine. A dry-run validates supplied values and keys.

Phase 3: Governance Authorization

Submit targets via sap_request_customizing_permissions with the intended GUI_AUTOMATION or BC_SET engine. The user approves the target, engine scope, and CTS transport in the Customizing Guard tab of the Web Dashboard; the dashboard can grant All Engines when appropriate.

Phase 4: Execution

Execute the change using either sap_maintain_customizing or sap_maintain_customizing_bcset.

  • Automatic CTS Binding: Approved CTS transport requests are automatically bound to the maintenance calls.
  • Version Baseline: Before the first productive change to a target, maintenance reads the affected existing rows and records a baseline in local version history when available. Review versions and read back target rows before a restore or retry.

Clone this wiki locally