SlideShare a Scribd company logo
1 of 15
Download to read offline
– SAP Gateway Builder –
Building OData Services
Best Practices
Daniel Ridder (V2016-03-09)
Topics
• Modeling and Creating Entities
– Basics
– Namespaces
– Search-Helps
– Re-Use OData Services
• Service Implementation
– Mapping
– Extend/Overwrite Mappings
– OData is type based
– SAP Annotations
Hints&Hacks using SAP NetWeaver
Gateway Builder for creating „good“
OData-Services
V2016-03-09 Best Practices for SAP Gateway Builder 2
MODELING AND CREATING ENTITIES
Best Practices
V2016-03-09 Best Practices for SAP Gateway Builder 3
Modeling und Creating Entities
• Create an entity via importing a
DDIC-Structure
• Do not address the underlying BO
directly for model import
 Transp. Table
 DDIC View
 CDS View
 BOPF
• Create a DDIC structure instead
 This structure may look like the
underlying CDS View for instance
 You are able to append additional
specific runtime fields later
V2016-03-09 Best Practices for SAP Gateway Builder 4
Mapping ABAP data types to OData
ABAP
• GUID (RAW16)
OData
• Set manually from Edm.Binary
(max. 16) to Edm.Guid
(without additional definition)
V2016-03-09 Best Practices for SAP Gateway Builder 5
http://help.sap.com/saphelp_nw74/helpdata/en/54/a326519eff236ee10000000a445394/content.htm
• Use Timestamps as Date
information (i.e. last change)
with DDIC domains
– TZNTSTMPS
– TZNTSTMPL
• Edm.DateTime
Common questions:
• The namespace of your service equals to the
technical service name by default
– It is influenced by your ABAP DEVC linked with
the TMS
 If you have a reserved namespace (i.e.
/acme/) remove all slashes (they are not
allowed in the XML schema and SAPUI5 will
face problems while addressing search helps)
 Use something like a common internet
address notation FQDN (i.e.
„your.company.project“).
 To impress the relation between your service
and your Fiori-Application use the same
namespace as defined in the WebIDE
V2016-03-09 Best Practices for SAP Gateway Builder 6
Namespaces
• Let the Gateway
Builder create your
search helps directly
during model import
• Be sure not creating
them twice during
another model
import
Search Helps
V2016-03-09 Best Practices for SAP Gateway Builder 7
Re-Use of Search Helps
• If you have a bunch of common search helps
– Provide a dedicated project (service) for them
– Depending on the count of your search helps it
may be worth grouping them into several services
V2016-03-09 Best Practices for SAP Gateway Builder 8
• OData 2.0 does not support
cross service usage of
entities
 To access a re-use OData-
Service include the specific
service
 Do not redefine it
• Redefinition of a service
doesn't let you create own
entities
• It focuses extending and
overwriting existing services
V2016-03-09 Best Practices for SAP Gateway Builder 9
Re-Use OData-Services
SERVICE IMPLEMENTATION
Best Practices
V2016-03-09 Best Practices for SAP Gateway Builder 10
• Map your EntitySet when ever
possible
 Let the Service Adaptation Definition
Language (SADL) do the work for you
 It will generate the specific design
time artifacts (ABAP classes) for you
 You do not need to implement OData
specifics like „$top“, „$filter“ etc.
 When using BOPF your service will be
fully CRUD compliant
V2016-03-09 Best Practices for SAP Gateway Builder 11
Mapping during Service
Implementation
• Mapping can be extended / overwritten
– Jump into ABAP Workbench and open your
service implementation *DPC_EXT class
– Redefine the appropriate CRUD-Method
– Extend: Call the generated super method first
(SADL)
– Extend/Overwrite: Add your specific code
• Use it to provide your additional transient
fields (go back to slide „Modeling und
Creating Entities“)
V2016-03-09 Best Practices for SAP Gateway Builder 12
Extend or overwrite your Mapping
Call the super-
method to
extend your
mapping
Add your own
code for
extending/
overwriting
 Do not force generic
programming
– An OData service points to a
specific well formed resource
– You deal with typed data
– Implementing the CRUD interface-
methods directly will
 force you to code OData-specifics
 move the identification of types to
another place where you have to do
it on your own
 Redefine the typed CRUD-
methods of your generated *DPC
class
V2016-03-09 Best Practices for SAP Gateway Builder 13
OData is type based
• Are essential for SAPUI5
SmartControls like
SmartTable
• Needed for UI
Adaptation at Runtime
V2016-03-09 Best Practices for SAP Gateway Builder 14
SAP Annotations
Daniel Ridder @nielseabap
Thank you.
V2016-03-09 Best Practices for SAP Gateway Builder 15

More Related Content

What's hot

Graph Pattern Matching in SAP HANA
Graph Pattern Matching in SAP HANAGraph Pattern Matching in SAP HANA
Graph Pattern Matching in SAP HANAopenCypher
 
ALV with Integrated Data Access
ALV with Integrated Data AccessALV with Integrated Data Access
ALV with Integrated Data AccessRadosław Gref
 
ADF Mapping Data Flow Private Preview Migration
ADF Mapping Data Flow Private Preview MigrationADF Mapping Data Flow Private Preview Migration
ADF Mapping Data Flow Private Preview MigrationMark Kromer
 
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)Building the Autodesk Design Graph-(Yotto Koga, Autodesk)
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)Spark Summit
 
HANA SPS07 Geospatial Processing
HANA SPS07 Geospatial ProcessingHANA SPS07 Geospatial Processing
HANA SPS07 Geospatial ProcessingSAP Technology
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationFigaf.com
 
SAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesSAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesPatrick Spedding
 
ASE Tempdb Performance and Tuning
ASE Tempdb Performance and Tuning ASE Tempdb Performance and Tuning
ASE Tempdb Performance and Tuning SAP Technology
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)Pavan Golesar
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMark Kromer
 
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the CloudSQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the CloudMark Kromer
 
SAP IQ 16 Product Annoucement
SAP IQ 16 Product AnnoucementSAP IQ 16 Product Annoucement
SAP IQ 16 Product AnnoucementDobler Consulting
 
SAP Integrated Business Planning
SAP Integrated Business PlanningSAP Integrated Business Planning
SAP Integrated Business PlanningKishore Chaganti
 
What’s New in Syncsort Integrate? New User Experience for Fast Data Onboarding
What’s New in Syncsort Integrate? New User Experience for Fast Data OnboardingWhat’s New in Syncsort Integrate? New User Experience for Fast Data Onboarding
What’s New in Syncsort Integrate? New User Experience for Fast Data OnboardingPrecisely
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Ocean9, Inc.
 

What's hot (20)

Graph Pattern Matching in SAP HANA
Graph Pattern Matching in SAP HANAGraph Pattern Matching in SAP HANA
Graph Pattern Matching in SAP HANA
 
ALV with Integrated Data Access
ALV with Integrated Data AccessALV with Integrated Data Access
ALV with Integrated Data Access
 
ADF Mapping Data Flow Private Preview Migration
ADF Mapping Data Flow Private Preview MigrationADF Mapping Data Flow Private Preview Migration
ADF Mapping Data Flow Private Preview Migration
 
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)Building the Autodesk Design Graph-(Yotto Koga, Autodesk)
Building the Autodesk Design Graph-(Yotto Koga, Autodesk)
 
HANA SPS07 Geospatial Processing
HANA SPS07 Geospatial ProcessingHANA SPS07 Geospatial Processing
HANA SPS07 Geospatial Processing
 
HANA Modeling
HANA Modeling HANA Modeling
HANA Modeling
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentation
 
Sap replication server
Sap replication serverSap replication server
Sap replication server
 
SAP PI online training course content
SAP PI online training course contentSAP PI online training course content
SAP PI online training course content
 
SAS/Cognos Integration Approaches
SAS/Cognos Integration ApproachesSAS/Cognos Integration Approaches
SAS/Cognos Integration Approaches
 
Autodesk Technical Webinar: SAP HANA in-memory database
Autodesk Technical Webinar: SAP HANA in-memory databaseAutodesk Technical Webinar: SAP HANA in-memory database
Autodesk Technical Webinar: SAP HANA in-memory database
 
ASE Tempdb Performance and Tuning
ASE Tempdb Performance and Tuning ASE Tempdb Performance and Tuning
ASE Tempdb Performance and Tuning
 
SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)SAP FIORI COEP Pune - pavan golesar (ppt)
SAP FIORI COEP Pune - pavan golesar (ppt)
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
 
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the CloudSQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
 
Sap pi
Sap piSap pi
Sap pi
 
SAP IQ 16 Product Annoucement
SAP IQ 16 Product AnnoucementSAP IQ 16 Product Annoucement
SAP IQ 16 Product Annoucement
 
SAP Integrated Business Planning
SAP Integrated Business PlanningSAP Integrated Business Planning
SAP Integrated Business Planning
 
What’s New in Syncsort Integrate? New User Experience for Fast Data Onboarding
What’s New in Syncsort Integrate? New User Experience for Fast Data OnboardingWhat’s New in Syncsort Integrate? New User Experience for Fast Data Onboarding
What’s New in Syncsort Integrate? New User Experience for Fast Data Onboarding
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
 

Similar to Daniel Ridder Best Practices SAP Gateway Builder

Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfWorking with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfPanduM7
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentStrongback Consulting
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sitesIWMW
 
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLFraming the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLInside Analysis
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationPace Integration
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...SAP Cloud Platform
 
SAP Hana Cloud Platform - Development Landscape Planning
SAP Hana Cloud Platform - Development Landscape PlanningSAP Hana Cloud Platform - Development Landscape Planning
SAP Hana Cloud Platform - Development Landscape PlanningNagesh Caparthy
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreDataStax Academy
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001Vinayak Tavargeri
 
ABAP State of the Art
ABAP State of the ArtABAP State of the Art
ABAP State of the ArtTobias Trapp
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresEDB
 
Azure for SAP Solutions - Use Cases and Migration Options
Azure for SAP Solutions - Use Cases and Migration OptionsAzure for SAP Solutions - Use Cases and Migration Options
Azure for SAP Solutions - Use Cases and Migration OptionsmyCloudDoor
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Microsoft TechNet - Belgium and Luxembourg
 
Integration with SAP using Mule ESB
Integration with SAP using Mule ESBIntegration with SAP using Mule ESB
Integration with SAP using Mule ESBSanjeet Pandey
 

Similar to Daniel Ridder Best Practices SAP Gateway Builder (20)

Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdfWorking with SAP Business Warehouse Elements in SAP Datasphere_.pdf
Working with SAP Business Warehouse Elements in SAP Datasphere_.pdf
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic Investment
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sites
 
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLFraming the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
SAP Hana Cloud Platform - Development Landscape Planning
SAP Hana Cloud Platform - Development Landscape PlanningSAP Hana Cloud Platform - Development Landscape Planning
SAP Hana Cloud Platform - Development Landscape Planning
 
Azure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User StoreAzure + DataStax Enterprise Powers Office 365 Per User Store
Azure + DataStax Enterprise Powers Office 365 Per User Store
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
 
ABAP State of the Art
ABAP State of the ArtABAP State of the Art
ABAP State of the Art
 
Data Modeling in SAP Gateway – maximize performance at all levels
Data Modeling in SAP Gateway – maximize performance at all levelsData Modeling in SAP Gateway – maximize performance at all levels
Data Modeling in SAP Gateway – maximize performance at all levels
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Azure for SAP Solutions - Use Cases and Migration Options
Azure for SAP Solutions - Use Cases and Migration OptionsAzure for SAP Solutions - Use Cases and Migration Options
Azure for SAP Solutions - Use Cases and Migration Options
 
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
Building your first Analysis Services Tabular BI Semantic model with SQL Serv...
 
Sap bo
Sap boSap bo
Sap bo
 
L19 Application Architecture
L19 Application ArchitectureL19 Application Architecture
L19 Application Architecture
 
Integration with SAP using Mule ESB
Integration with SAP using Mule ESBIntegration with SAP using Mule ESB
Integration with SAP using Mule ESB
 
Dax & sql in power bi
Dax & sql in power biDax & sql in power bi
Dax & sql in power bi
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Daniel Ridder Best Practices SAP Gateway Builder

  • 1. – SAP Gateway Builder – Building OData Services Best Practices Daniel Ridder (V2016-03-09)
  • 2. Topics • Modeling and Creating Entities – Basics – Namespaces – Search-Helps – Re-Use OData Services • Service Implementation – Mapping – Extend/Overwrite Mappings – OData is type based – SAP Annotations Hints&Hacks using SAP NetWeaver Gateway Builder for creating „good“ OData-Services V2016-03-09 Best Practices for SAP Gateway Builder 2
  • 3. MODELING AND CREATING ENTITIES Best Practices V2016-03-09 Best Practices for SAP Gateway Builder 3
  • 4. Modeling und Creating Entities • Create an entity via importing a DDIC-Structure • Do not address the underlying BO directly for model import  Transp. Table  DDIC View  CDS View  BOPF • Create a DDIC structure instead  This structure may look like the underlying CDS View for instance  You are able to append additional specific runtime fields later V2016-03-09 Best Practices for SAP Gateway Builder 4
  • 5. Mapping ABAP data types to OData ABAP • GUID (RAW16) OData • Set manually from Edm.Binary (max. 16) to Edm.Guid (without additional definition) V2016-03-09 Best Practices for SAP Gateway Builder 5 http://help.sap.com/saphelp_nw74/helpdata/en/54/a326519eff236ee10000000a445394/content.htm • Use Timestamps as Date information (i.e. last change) with DDIC domains – TZNTSTMPS – TZNTSTMPL • Edm.DateTime Common questions:
  • 6. • The namespace of your service equals to the technical service name by default – It is influenced by your ABAP DEVC linked with the TMS  If you have a reserved namespace (i.e. /acme/) remove all slashes (they are not allowed in the XML schema and SAPUI5 will face problems while addressing search helps)  Use something like a common internet address notation FQDN (i.e. „your.company.project“).  To impress the relation between your service and your Fiori-Application use the same namespace as defined in the WebIDE V2016-03-09 Best Practices for SAP Gateway Builder 6 Namespaces
  • 7. • Let the Gateway Builder create your search helps directly during model import • Be sure not creating them twice during another model import Search Helps V2016-03-09 Best Practices for SAP Gateway Builder 7
  • 8. Re-Use of Search Helps • If you have a bunch of common search helps – Provide a dedicated project (service) for them – Depending on the count of your search helps it may be worth grouping them into several services V2016-03-09 Best Practices for SAP Gateway Builder 8
  • 9. • OData 2.0 does not support cross service usage of entities  To access a re-use OData- Service include the specific service  Do not redefine it • Redefinition of a service doesn't let you create own entities • It focuses extending and overwriting existing services V2016-03-09 Best Practices for SAP Gateway Builder 9 Re-Use OData-Services
  • 10. SERVICE IMPLEMENTATION Best Practices V2016-03-09 Best Practices for SAP Gateway Builder 10
  • 11. • Map your EntitySet when ever possible  Let the Service Adaptation Definition Language (SADL) do the work for you  It will generate the specific design time artifacts (ABAP classes) for you  You do not need to implement OData specifics like „$top“, „$filter“ etc.  When using BOPF your service will be fully CRUD compliant V2016-03-09 Best Practices for SAP Gateway Builder 11 Mapping during Service Implementation
  • 12. • Mapping can be extended / overwritten – Jump into ABAP Workbench and open your service implementation *DPC_EXT class – Redefine the appropriate CRUD-Method – Extend: Call the generated super method first (SADL) – Extend/Overwrite: Add your specific code • Use it to provide your additional transient fields (go back to slide „Modeling und Creating Entities“) V2016-03-09 Best Practices for SAP Gateway Builder 12 Extend or overwrite your Mapping Call the super- method to extend your mapping Add your own code for extending/ overwriting
  • 13.  Do not force generic programming – An OData service points to a specific well formed resource – You deal with typed data – Implementing the CRUD interface- methods directly will  force you to code OData-specifics  move the identification of types to another place where you have to do it on your own  Redefine the typed CRUD- methods of your generated *DPC class V2016-03-09 Best Practices for SAP Gateway Builder 13 OData is type based
  • 14. • Are essential for SAPUI5 SmartControls like SmartTable • Needed for UI Adaptation at Runtime V2016-03-09 Best Practices for SAP Gateway Builder 14 SAP Annotations
  • 15. Daniel Ridder @nielseabap Thank you. V2016-03-09 Best Practices for SAP Gateway Builder 15