Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Future of an abap developer

248 views

Published on

In this presentation I will share my experience being an SAP ABAP developer and how I look at the future

Published in: Technology

Future of an abap developer

  1. 1. Future of an ABAP Developer Robert.Eijpe@nl4b.com SAP Mentor
  2. 2. NL For Business Do Not Copy MY HISTORY AS A SAP DEVELOPER ABAP for R/2 SAP C-calls SAP HR '96 '97 ABAP for R/3 RFC -> librfc SAP ITS Visual Basic DCOM Connector SAP ITS 2.0 Visual Basic .Net .NET Connector Borland Connector BSP WebMethods Java '99 '00 WebDynpro Java SAP Portal Business Connector '02 '04 ABAP Objects WebDynpro ABAP SAP XI '07 SAP PI Interactive Forms '10 Business Rule Management SAP Composition Environment Workflow '12 SAP Mobile Platform SAP UI5 ODATA '14 SAP Design Thinking SAP Fiori HANADB Tools '16 SQL Script SCP Java on NEO Fiori Elements SAP Fiori for iOS '17 ABAP CDS S/4HANA OP Leonardo '18 S/4HANA PC S/4HANA SDK SCP Cloud Foundry What do I do: BUILDING CUSTOM BUILD APPLICATIONS ENHANCE STANDARD SAP EXCHANGE DATA WITH SAP SAP Consultant SAP Teacher SAP Mentor
  3. 3. TRENDS
  4. 4. NL For Business Do Not Copy EVOLUTION OF IT PLATFORMS HOW DOMINANT TECHNOLOGIES BECOME IRRELEVANT
  5. 5. NL For Business Do Not Copy HISTORY OF SAP PLATFORM Logic R/1 Logic R/2 Hardware Operating System Hardware Operating System Database Terminal Terminal Logic R/3 Hardware Operating System Database PC Logic Logic MySAP Hardware Operating System Database PC /Browser Logic ITS Business Suite Logic on NetWeaver Hardware Operating System Database PC/Browser Logic R/1 R/2 R/3 MyERP in MySAP ECC in Business Suite Business Suite Logic on Netweaver Hardware Operating System Database Any Device Fiori Front-end Server Business Suite Logic Hardware Operating System Logic in HANA Database S/4HANA Front-end Server Business Suite Logic Hardware Operating System Logic in DB and API SCP Cloud Platform Any Device Any Device
  6. 6. NL For Business Do Not Copy CUSTOM CODE FROM SAP ERP TO S/4HANA    SAP transition path Traditional Client-Server Application including UI, Data Processing & Custom Applications SAPGUI Database Corporate Client Device Application Server Application including Data Processing & Custom Applications Browser with UI logic Database Bring your own Device Server API Enablement Application logic & Custom Applications Browser with UI logic Database Bring your own Device Server API Enablement Database Database Database Data Processing ‘Fiori’ Wave ‘S/4HANA’ Wave Application logic Browser with UI logic Database Bring your own Device Server API Enablement Database Data Processing ‘Cloud Platform’ Wave Cloud Platform Custom Applications
  7. 7. NL For Business Do Not Copy S/4HANA DATABASE OPTIMIZATION 150 GB    Replace of HANADB will only result in a smaller database    Rework is needed to optimize the database and get the advantages of the HANADB 750 GB 50 GB 10 GB Original data volume Replace database by HANADB Column-based storage, compression and elimination of indices Optimize by code-pushdown Real-time Aggregation and calculation will eliminate redundant data Implementing Data Aging Archived and less used data can be archived in a separated file based database but can be accessed as normal data Rework Run on HANADB
  8. 8. NL For Business Do Not Copy S/4HANA VIRTUAL DATA MODEL    For historical reasons, different applications got different business logic access a lot of tables    SAP wants to replace this with a new modern data model, without disruption No Harmonized datamodel SAPGUI Database 80000+ Tables Corporate Client Device Application Server Database API Reports Screen logic Cubes Browser Apps Third Party Apps ALE/IDOC Analytic Apps SAPGUI Database - 80000+ Existing and New Tables - User Interface Application Server Database Harmonized Consumption Layer Browser Apps Third Party Apps Analytic Apps Virtual Data Model - Unique Semantic Data Layer - Open SQL OData API Hub Existing Code Side-by-Side App logic New SAP Code In App App logic Side-by-Side App logic Traditional SAP System Intelligence ERP System
  9. 9. NL For Business Do Not Copy FOUNDATION CODE PUSH- DOWN Database Layer (Combine OLAP and OLTP data) Data Processing Data Processing Data to Code Code to Data Application Layer Network Latency Caching Data Logic Tables Compressed In-memory Tables Logic Logic Cached Data
  10. 10. NL For Business Do Not Copy CODE PUSH DOWN HANA DATABASE SERVICES Data Sources HANA DB HANA DB Services Spatial Graph Predictive Search Text Analytics Series Data Business Functions Streaming Analytics Rules Framework Analytic Models Tables Virtual Tables ELT, STL & Replication Hadoop & Spark Integration Smart Data Integration Internet REST API IoT HANA Runtimes C … J2EE XSC/XSA NodeJS Web < / > OData REST SINA HANA API OData4Analytics ADBC / ODBO ODBC /JDBC API API Core Data Services Views ABAP (only in S/4HANA) C Python
  11. 11. NL For Business Do Not Copy EYE OPENER: FUTURE OF ABAP Side-by-Side Extensibility based on SAP Cloud Platform SAP S/4HANA In-App Extensibility Classic Extensibility with full access to ABAP development tools SAP S/4HANA Cloud Suite on any database Suite on HANA SAP S/4HANA OP SAP HANA and Unicode migration Simplification changes ABAP extensions SAP Standard Extensions SAP Standard No modifications allowed Only cloud-enabled development objects Only whitelisted SAP APIs
  12. 12. NL For Business Do Not Copy CUSTOM CODE IN THE CLOUD PARTNERS AND CUSTOMERS IN THE LEAD S/4HANA SAP API Hub SAP Cloud Platform Custom Build Code Successfactors … ABAP in the Cloud Java NodeJS .NET … Other API Third Party Business Logic C/HANA Leonardo Ariba HCI Other Cloud Platform
  13. 13. NL For Business Do Not Copy COMPLEXITY OF MODERN APPS ‘Traditional’ Software Single Application UI Single Database Single Device Server ‘Modern’ Apps Multi-Tenant Application App Third Party API Multi-device App Sensors Cloud & On-Premise Multi Database Third-Party Big Data Sensors On-Premise Application
  14. 14. NL For Business Do Not Copy BUSINESS LOGIC AND DATA PERSISTENCY OR USE API API App on Device Private Cloud On-Premise Device Sensors Local Persistency Cloud Services Existing Business Logic API Existing Database Device specific API Own logic in MTA Databases Cloud Connector DB Services Edge Services Local Sensor Edge Gateway Third Party Cloud API Functions as Service Third Party Database Internet Proxy Business Logic in App Internet HTTP Call HTTP Call User Interaction
  15. 15. WHAT DOES THIS MEAN?
  16. 16. NL For Business Do Not Copy ABAP DEVELOPER SKILLS ARE MOVING Classic ABAP Developer BW Developer ABAP in the cloud Object ABAP Application Developer ABAP Web Developer PI Developer including XI, BPM, CE ABAP Interface Developer ABAP Workflow Developer ABAP OData Developer Fiori / UI5 Developer SAP API Specialist ABAP Application Developer Any Device Developer Any Application Developer SAP Cloud Platform Specialist SAP Cloud Platform Data Developer ABAP Developer using Programming Model for Fiori Data Application Developer Fiori Elements Developer S/4HANA In-App Key User SAP Cloud Platform Workflow ABAP Workflow Developer ABAP OData/ HTTP REST Developer S/4HANA In-App Key User SAP HANA Cloud Integration Specialist BW Developer PI Developer PI Developer Classical SAP R/3 NetWeaver Wave Fiori Wave S/4HANA Wave Cloud Wave
  17. 17. NL For Business Do Not Copy BUT WHAT WILL BE MY NEW ROLE ABAP Developer for S/4HANA On-Premise SAP API Specialist Any Device Developer Own Language Application Developer SAP Cloud Platform Services Specialist SAP Cloud Platform DB Developer SAP HANA Cloud Integration Specialist ABAP Developer ABAP Cloud Developer for S/4HANA Side-by- Side ABAP in the Cloud
  18. 18. NL For Business Do Not Copy ABAP DEVELOPER SAP ADVICES TO LEARN NEW TOPICS
  19. 19. NL For Business Do Not Copy EVOLUTION OF ABAP PROGRAMMING Best practice freestyle ABAP Programming Classic ABAP Programming ABAP Programming Model for Fiori Core Data Service BOPF for CDS @OData SEGW Reference Data Source ABAP RESTFul Programming Model Core Data Service Behavior Definition Business Service ABAP Platform ≤ 7.5 ABAP Platform ≥ 7.5 SAP Cloud Platform ABAP ≥ 18.08
  20. 20. NL For Business Do Not Copy ABAP PROGRAMMING MODEL FOR FIORI Template based UI Development Block 4 SAP Fiori Elements SAPUI5 Client SAP HANA SAP NetWeaver SAP Gateway ABAP Development Application Framework Core Data Service OData SQL Exploit SAP HANA features Block 2 ABAP Managed Data Procedures, SQL Script OData protocol Infrastructure Block 1 Modern ABAP and Development tools OData protocol Infrastructure Block 2 Introduction OData Transaction, error and event handling Block 3 BOPF for CDS One common data modeling technology Block 1 Core Data Service
  21. 21. NL For Business Do Not Copy ABAP RESTFUL PROGRAMMING MODEL Template based UI Development Block 4 SAP Fiori Elements A2X, Service Definition & Binding Block 3 Restful ABAP Programming Model Transaction, error and event handling Block 3 Restful ABAP Programming Model One common data modeling technology Block 1 Core Data Service
  22. 22. NL For Business Do Not Copy CUSTOM CODE ON CLOUD ONLY ACCESS TO RELEASED SAP API S/4HANA SAP API Hub Successfactors … C/HANA Leonardo Ariba HCI Building on top of SAP Cloud Platform Custom Code SCP Services Restriction Space Opportunity Space Open Data Open Connectors FaaS
  23. 23. NL For Business Do Not Copy CLOUD CAPABILITIES SAP CLOUD PLATFORM SERVICES SCP Runtimes J2EE XSC/XSA Web < / > ww w SCP API Destinations Internet Services Cloud Connector Hana Database Services ECC API Native Mobile Browser Fiori Mobile AppsFiori Web Apps Visual Harmonized Apps On-Premise SAAS Cloud API On-premise API BW non- SAP SCP DB’s other Database Services SAP Cloud Platform Services User Experience Machine Learning Runtime Containers Security DevOps Integration Internet of Things Analytics Business Services Collaboration Data Storage Mobile SAP S/4HANA SAP SuccessFactors SAP Cloud for Customer SAP Ariba Concur SAP Fieldglass SAP Business ByDesign NodeJS Python Cloud Foundry ABAP Kubunetes
  24. 24. WHAT SHOULD WE LEARN
  25. 25. NL For Business Do Not Copy ABAP DEVELOPER LEARNING'S IN S/4HANA Restricted API S/4HANA PublicAPI S/4HANA Application Logic In-appTools SQL Script HANADB Services S/4HANA Artifacts Core Data Services Open SQL OData S/4HANA Clients
  26. 26. NL For Business Do Not Copy S/4 HANA ARTIFACTS Physical Tables CDS CDS CDS CDS CDS CDS Fiori Apps Third Party Apps Virtual Data Model (VDM) Database Layer, e.g. HANADB UIs SAP S/4 HANA Consumption View Business Behaviour Create Update Validate Delete Action Trigger API Open SQL Logic OData + Metadata CDS Fiori like Apps
  27. 27. NL For Business Do Not Copy CORE DATA SERVICES DESIGN LAYERS IN DETAIL Add UI template to generate client side application based on OData annotations Replace / Add OData annotations on client side Translate CDS Annotations to OData annotations and makes it available as a Service rename/add elements and associations and add/replace CDS annotations based on application level: Core, Industry, Partner, Customer Use Composite view and add consumption like UI related annotations Compose a Virtual Data model out of existing CDS Views and CDS Table Functions. Composite Views which are provided as public are called Interface CDS Restructure the database table layer by providing this as a basic CDS view. This is the only layer which may access tables. Persist the data Describe the table field type with language specific information Adding Business logic to CDS view Client Appl. Describes the technical attributes of a field like type, length Domain Data Element Database Table Basic CDS View Composite CDS View Consumption CDS View CDS Metadata Extensions Local Annotations Fiori Elements OData with SADL RAP / BOPF Core Data Service Database Database procedures are database programs that can be called from an application program in the same way as a SQL statement. Procedures/Functions
  28. 28. NL For Business Do Not Copy CODE PUSH- DOWN Database Layer Application Layer Core Data Service Views (CDS Views) Database Views DDIC Tables Database Table ABAP Managed Database Procedures (AMDP) Store Procedures and Functions Open SQL optimized for DB ABAP Class ABAP Package Optimized code-pushdown after activation HANADB SQL Optimized SQL calls during runtime Generate artifacts In-app Tools S/4HANA Business Logic SAP Controlled Whitelisted API
  29. 29. NL For Business Do Not Copy NEW ABAP HIGHLIGHTS MODERN SQL SYNTAX Syntax target = SELECT FROM table FIELDS field1, field2, field3 WHERE field1 + field2 = @abap_var INTO TABLE @result. INSERT vehicles FROM ( SELECT FROM ships FIELDS name, 'Ship' AS veh, co2 UNION ALL SELECT FROM bicycles FIELDS name, 'Bicycle' AS veh, 0 AS co2 UNION ALL SELECT FROM cars FIELDS model AS name, 'Car' AS veh, diox AS co2 ). MODIFY vehicles FROM ( SELECT FROM planes FIELDS name, 'Airplane' AS veh, co2 ).
  30. 30. NL For Business Do Not Copy NEW ABAP HIGHLIGHTS COMMON TABLE EXPRESSION Syntax WITH +cte1[( field1, field2, ... )] AS ( SELECT ... ), +cte2[( field1, field2, ... )] AS ( SELECT ... ), ... +cteN[( field1, field2, ... )] AS ( SELECT ... ) SELECT FROM +cte1 ... Examples New WITH +vehicles ( name, type, co2) AS ( SELECT FROM ships FIELDS name, 'Ship', co2 UNION ALL SELECT FROM cars FIELDS model, 'Car', cdioxide UNION ALL SELECT FROM bicycles FIELDS model, 'Bicycle', 0 AS co2 ), +co2_overall AS ( SELECT sum(co2) AS all_co2 FROM +vehicles ) SELECT FROM +vehicles AS v CROSS JOIN +co2_overall AS c FIELDS v~type, sum(v~co2) AS co2, c~all_co2 AS overall_co2 GROUP BY v~type, c~all_co2 INTO TABLE @data(result).
  31. 31. NL For Business Do Not Copy CODE PUSHDOWN PARALLEL PROCESSING Result CPU core 1 … CPU core m SELECT FROM ships FIELDS name, 'Ship' AS veh, co2 SELECT FROM cars FIELDS model AS name, 'Car' AS veh, diox AS co2 SELECT FROM bicycles FIELDS name, 'Bicycle' AS veh, 0 AS co2 UNION ALL Open SQL SELECT FROM ships FIELDS name, 'Ship' AS vehicle, co2 UNION ALL SELECT FROM cars FIELDS model AS name, 'Car' AS vehicle, cdioxide AS co2 UNION ALL SELECT FROM bicycles FIELDS name, 'Bicycle' AS vehicle, 0 AS co2 Start Parallel End Parallel ... ...
  32. 32. NL For Business Do Not Copy CODE PUSHDOWN PARALLEL PROCESSING Value n Sum of 1..n Value 1 Value 2 ... Sum of 1..n Calculated in parallel CPU core 1 CPU core 2 … CPU core m
  33. 33. NL For Business Do Not Copy ANNOTATION YOUR CDS Access Control OData exposure Search enablement Metadata extension Transactional enablement @AbapCatalog.sqlViewName: '/NL4B/I_D_VENDA' @AbapCatalog.preserveKey: true @ClientHandling.type: #INHERITED @EndUserText.label: 'Demo Vendor MasterData with Annotations' @Metadata.allowExtensions: true @AccessControl.authorizationCheck: #CHECK @AccessControl.personalData.blocking: #REQUIRED @VDM.viewType: #CONSUMPTION @Search.searchable: true @ObjectModel: { semanticKey: ['VendorID'], transactionalProcessingDelegated: true, compositionRoot: true, createEnabled: true, updateEnabled: true, draftEnabled: true } @OData.publish: true @UI.headerInfo: { typeName: 'Vendor', typeNamePlural: 'Vendors', title: { label: 'VendorList', value: 'Vendor'}, description: { type: #STANDARD, value: 'VendorName' } } define view /NL4B/I_DEMO_VENDOR_ANNO as select from /nl4b/dt_vendor as v { key v.vendorid, @UI.lineItem.position: 1 @UI.selectionField: {position: 1} v.vendor as VendorName, UI (header) UI (table line)
  34. 34. NL For Business Do Not Copy ANNOTATION ENRICH API WITH SEMANTIC CONTEXT USING ANNOTATIONS    Enabling flexible usage in different contexts CLIENT BACKEND $metadata Data Odata API Context by Annotations Core Data Service FIORI ELEMENTS UI semantic independent of UI technology CO-PILOT FIORI for iOS Adobe Forms
  35. 35. NL For Business Do Not Copy ABAP DEVELOPER LEARNING'S ON SAP CLOUD PLATFORM Core Data Services ABAP HANAXS(A) JAVA … Restricted API Custom Build Client SQL Script HANADB Services NodeJS ThirdPartyAPI S/4HANA CloudSDK S/4HANA PublicAPI S/4HANA Application Logic Open SQL OData In-appTools SQL Script HANADB Services HANA ArtifactsS/4HANA Artifacts Core Data Services Open SQL OData S/4HANA Clients Custom Build API SCPAPI
  36. 36. HOW DID WE DO IT ?
  37. 37. NL For Business Do Not Copy Basic Core Data Service Development (3 days) ABAP Managed Database Procedures (1 day) S/4HANA In-App Development (1 day) CDS Development for Business Transactions (2.5 days) S/4HANA Side-by-Side with ABAP Cloud - (0.5 day) CDS Development with Fiori Elements (4 day) HANADB & API Development with SAP Cloud Platform MTA & APM for SAP Cloud Platform S/4HANA Cloud SDK ROAD TO SAP DEVELOPER OF THE FUTURE CONTACT US AT INFO@NL4B.COM Introduction to ODATA (1 day) We made a plan We built and teach the knowledge
  38. 38. NL For Business Do Not Copy MY TAKE-A-WAYS •  SAP development is continuously changing but the consequences for cloud changes are big •  Decide what will become your future role and make a plan how you will be successful •  If you want to be future proof as an ABAP Developer •  Use new ABAP Open SQL Statements •  Learn ABAP Core Data Service and AMDP •  Learn SQL Script for HANADB •  Learn the new Programming Models •  Develop your Cloud skills •  Think as a Database Developer •  Become a key differentiator •  Contact me at robert.eijpe@nl4b.com, if you need help?

×