VClipse – Xtext-based IDE for the SAP Variant Configurator

19
VClipse – Xtext-based IDE for the SAP Variant Configurator Tim Geisler webXcerpt Software GmbH [email protected] Eclipse DemoCamp Juno 2012, Walldorf 2012-06-20

Transcript of VClipse – Xtext-based IDE for the SAP Variant Configurator

VClipse – Xtext-based IDE for the SAP Variant Configurator

Tim Geisler

webXcerpt Software GmbH

[email protected]

Eclipse DemoCamp Juno 2012, Walldorf2012-06-20

Configurable Products

SAP Variant Configurator (LO-VC)

● Configuration engine in SAP ERP (ABAP)● Used by several thousand companies● Input: value assignments to characteristics● Output: bill of materials, routings, pricing,

characteristics● Product configuration can drive sales,

manufacturing, …● Configuration engine also in CRM: IPC (Java)

● Uses same data model and modeling environment as VC

Product Modeling for the VC / IPCModel: Objects and Dependencies

● Classification system (classes, characteristics)

● Materials, bill of materials, routings

● Dependencies:● Constraints (declarative),

preconditions, selection conditions, procedures

● Can be attached to a variety of objects

● ABAP / Java calls and access to tabular data inside dependencies

from LO-VC documentation

Product Modeling for the VC in ERPTools: Single Transactions, PMEVC

● For each object type one set of dialogs

● Different modes for create, read, update, delete

● All-in-one (almost) transaction PMEVC

Problems

● Model is not a document, but „slice“ of database content● Lack of overview

● 3 screens for editing a constraint (header, source, explanation)● Lack of teamwork support

● Jointly modify database contents, locking for synchronization● Complete history of product model?

● Engineering Change Management in SAP shows only history of single objects

● Comparing models? Comparing versions of models?● Mass changes?● No offline modeling● Product modeling is like software development,

but with inadequate tools.

VClipse

● Eclipse-based textual product modeling environment

− For VC and IPC− Based on Xtext / EMF

● Open source (EPL)

− www.vclipse.org− Hosted on EclipseLabs− Available since 2 years

VClipse - VCML

● Textual language for SAP objects

− Own „invention“

● Embedded languages for dependencies (procedures, conditions, and constraints)

− Same languages as in SAP system

IDE for VCML

Validation

Content AssistQuickfixes

Cross References

IDE for VCML

Outline

TemplatesFolding

Renamerefactoring

Where used?

Interface to SAP ECC (ALE, RFC)

● RFC interface− Create, Read, Update, Delete on single objects− Extract recursively: complete model extraction

● ALE interface− Sending complete models via IDocs

(Product Data Replication, PDR)

● Delta calculation− Compute and send only changed objects

● „One-click delta deployment“− Send delta via PDR, automatic processing in SAP

Use Case„Textual Modeling Environment“

● Product modeling using Xtext-based editor features● Mass maintenance● Validating product models

● Checking certain restrictions● Compatibility with LO-VC and / or IPC

● Storing product models in version control● Comparing product models

● From different versions● From different SAP systems

Use Case„Customer-Specific Modeling Environment“

● Specific validation rules (naming and modeling conventions)

● Specific templates (modeling patterns)● Target language for product-model migration

from legacy configurators

Use Case„Base for Integrating Tools“

● Integration of ConfigScan test suite from Fysbee SAS

● Integrated language for specifying test cases

● JUnit-like view for test execution

● Enables test-driven product modeling

Use Case„Implementing own Modeling Language“

● Create own domain-specific language for product modeling

● Use model-to-model transformations to map to VCML

● Use VClipse as backend to SAP ECC

RFC

Editor/IDE

Editor/IDE

Own Modeling Environment

VClipse

Own DSL

VCML

Code Generation

Example: Nokia Siemens Networks

● Use of IPC in SAP CRM for sales configuration● Hundreds of complex products and services

(telecommunication equipment for network operators)● NSN-specific modeling environment ConfigModeler● Different integrated NSN-specific languages for product

model, UI, test cases, and help system● 2/3 of all products on productive CRM system modeled

with ConfigModeler

Discussion

● Doing open source is difficult in SAP ERP area:● Very slow adoption by SAP configuration community● Technological and legal issues:

no downloadble distribution due to SAP JCo licensing● SAP Code Exchange: incompatible licensing with EPL

● SAP adopts Xtext-based product modeling:● The new „Solution Modeling Environment“ is also implemented

using Xtext.● Special non-overlapping use case

(solution configuration using advanced mode of the IPC)

● Eclipse update site for SAP JCo would be nice● Textual DSLs for other areas in SAP landscape?

Further Information

● www.vclipse.org● Project homepage● Links to further presentations

● www.configuration-workgroup.com● User community for product configuration in SAP● Discussion forum● Bi-annual conferences● Document share for all conference talks

● Variant Configuration with SAP. Uwe Blumöhr, Manfred Münch und Marin Ukalovic. SAP PRESS, 2011

● Contact me for a live demo of VClipse or the solution build for Nokia Siemens Networks on top of VClipse