Upload
tim-geisler
View
570
Download
0
Embed Size (px)
Citation preview
VClipse – Xtext-based IDE for the SAP Variant Configurator
Tim Geisler
webXcerpt Software GmbH
Eclipse DemoCamp Juno 2012, Walldorf2012-06-20
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
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