Class5 Merged

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

DataProvider Class (DPC )

__________________________

DataProvider Class ( DPC) is Generated by OData Service Framework


DataProvider Class ( DPC) is "Super Class" For Data Provider Extension Class
DataProvider Class ( DPC) contains "5 CRUDQ Methods for Each & Every EntitySet"

________________________________________________________________________________

DataProvider Extension Class ( DPC_EXT )


________________________________________

DataProvider Extension Class ( DPC_EXT ) is Generated by OData Service Framework


DataProvider Extension Class ( DPC_EXT ) is "Sub Class " for DataProvider Class
DataProvider Extension Class ( DPC_EXT ) contains below options

Methods inherited from DPC Class ( 5 CRUDQ methods of Each EntitySet )


+
Methods from Multiple Interfaces ( Generice Methods )
+
Methods Newly Created ( Custom Methods )

Note : As a Developer, we Implement our Database Operations via DPC_EXT Class Methods by "RE-DEFINING The methods"
__________________________________________________________________________________________________________

Model Provider Class ( MPC )


_______________________________

Model Provider Class Contains "MetaData" Of OData Service as per DataModel

Model Provide Class Contains two Main Options

for Ex : if Enity Type is EMP

TS_EMP Table Structure TS_EntityType

TT_EMP Table Type TT_EntityType

Note : We can use Table Structure of MPC Class for Declaring "WorkArea" ( Holding Single Record )
Note : We can use Table Type of MPC Class for Declaring "Internal Table" ( Holding Collection of Records)
________________________________________________________________________________________________

Syntax for Declaring WorkArea in OData Service ( Refer with Table Structure of MPC Class )
----------------------------------------------------------------------------

Data : Wa1 Type MPCClassName=>TS_EMP.


Data : Wa2 Type MPCClassName=>TS_Flight.

_____________________________________________________________________

Syntax For Declaring Internal Table in OData Service( Refer with Table Type of MPC Class )
--------------------------------------------------------------------------------

Data : itab1 Type MPCClassName=>TT_EMP.


Data : itab2 Type MPCClassName=>TT_Flight.

______________________________________________________________

Syntax for Declaring SimpleVariable in OData Service( Refer with TableStructure-FieldName of MPC )
----------------------------------------------------------------------------------

Data : country Type MPCClassName=>TS_EMP-Country.


Data : salary Type MPCClassName=>TS_EMP-Salary.

_____________________________________________________________

ABAP Statements which can be used inside OData Service Development:


----------------------------------------------------------------------------------------------------------------------
Select
Insert
Update
Delete
Modify

Move
Move-Corresponding

sort
clear
Refresh

WorkArea Operations
InternalTable Operations

Commit Work
Rollback

if------------endif.
case-------endcase.
loop--------endloop.

SE11 Data Dictionary


Database Tables
Structures
Views
TableTypes

String Operations
Concatenate
Condense
Replace
Translate
Shift
Split

System Fields
sy-dbcnt
sy-uname
sy-langu
sy-datum
sy-uzeit
sy-index

Call Function 'FM/ RFC / BAPI'

SE24 Class Builder


Classes
Methods
_____________________________________________________________________

ABAP Statements which cannot be used inside OData Service Development


---------------------------------------------------------------------------------------------------------------------

Call Screen '200' Not Applicable for OData


Call Transaction 'VA01' Not Applicable for OData
Selection-Screen Not Applicable for OData
Select-options Not Applcable for OData
Sy-lsind Not Applicable for OData
Sy-lisel Not Applicable for OData

etc,,,etc,,

Conclusion :
--------------------

All ABAP Generic Statements can be used inside OData Services


but ABAP Screen related Statements cannot be used inside OData Services
bcoz Our Screens are Developed using "SAP Ui5/Fiori Framework"
_____________________________________________________________________
Advantages of SAP Ui5/Fiori Screens
_________________________________

SAP Ui5/Fiori Screens are "Device Independent"


SAP Ui5/Fiori Screens are "Browser Independent"
SAP Ui5/Fiori Screens are "Light Weight Screens"
& SAP Ui5/Fiori Screens are Executed at "Client Side" within Browser , Only Database operations are executed at Server side
So Performance of SAP Ui5/Fiori Screens are much better/best Compared to Normal ABAP Apps

_______________________________________________________________________________________
Note :

To Test OData Service from within SAP Server


--------------------------------------------------------------------------

/sap/opu/odata/SAP/Z8AM_CRUD_ODATAPROJECT_SRV/

To Test OData Services from Outside SAP Server ( browser / Third Party Software like Rest Client)
--------------------------------------------------------------------------

http://EHP7.TRAINING.COM:8007/sap/opu/odata/SAP/Z8AM_CRUD_ODATAPROJECT_SRV/

____________________________________________________________________________________

FQDN URL = Fully Qualified Domain Name URL


=================================================

http://EHP7.TRAINING.COM:8007/sap/opu/odata/SAP/Z8AM_CRUD_ODATAPROJECT_SRV/

http -> Protocal


EHP7.TRAINING.COM -> Server Name (or) Host Name
8007 -> Port Number
/sap/opu/odata/ -> Service Path
SAP/ -> Namespace
Z8AM_CRUD_ODATAPROJECT_SRV -> Service Name
______________________________________________________________

Note : All the Above options of URL is considered as "FQDN" i,e Fully Qualified Domain Name

____________________________________________________________________________________
Important Methods and its Method Parameters of OData ABAP Services:
_________________________________________________________________

<EntitySet>_Get_Entity( )
<EntitySet>_Get_EntitySet( )
<EntitySet>_Create_Entity( )
<EntitySet>_Update_Entity( )
<EntitySet>_Delete_Entity( )
+
Create_Stream( )
Get_Stream( )
Create_Deep_Entity( )
Get_Expanded_Entity( )
Execute_Action( )
________________________________________________________

Note : Every Method Contains Method "Parameters"

Note : Method parameters are two Types

1. Importing Parameters : Will Accept Input from Front-end App(SAP Ui5/Fiori)

2. Exporting Parameters : Will Send Output To Front-end App(SAP Ui5/Fiori )

Note : Method Parameters are Responsible for "Data Transfer" between SAP Ui5/Fiori Apps and OData Service
____________________________________________________________________________________________

<EntitySet>_Get_Entity( ) Method:
-------------------------------------------------------------

This Method is Used to Fetch Single Record based on Input


This Method Contains Select Statement ( Single Record )

Front-end Side Contains Input with Form


Output with Form

This method Contains 2 Parameters

it_key_tab : Will Accept Input Key Field Value(s) From Front-end App(SAP Ui5/Fiori )

er_Entity : Will Send Output Record To Front-end App(SAP Ui5/Fiori )


______________________________________________________________________________

<EntitySet>_Get_EntitySet( ) Method :
---------------------------------------------------------------

This Method is used to Fetch Collection of Record(S) based on Input


This Method Contains Select Query ( N Records )

Front-end Side Contains Input with Form


Output with List/Table/Chart/MicroChart/MultiComboBox etc

This Method Contains 5 Parameters

iv_Filter_String
iv_Search_String
it_filter_select_options
io_tech_request_Context : Will Accept Input Value(s) from Front-end App(SAP Ui5/Fiori )

et_EntitySet : Will Send Output Record(s) to Front-end App(SAP Ui5/Fiori )


_________________________________________________________________________________

<EntitySet>_Create_Entity( ) Method :
--------------------------------------------------------------

This method is Used to Insert Data.

This method contains 2 Parameters

io_Data_Provider : Will Accept Input Record From Front-end App(SAP Ui5/Fiori )


er_Entity : Will Send Output Record To Front-end App(SAP Ui5/Fiori )
(optional)
______________________________________________________________________

<EntitySet>_Update_Entity( ) Method :
---------------------------------------------------------------

This Method is used to Update Data

This Method Contains 2 Parameters

io_Data_Provider : Will Accept Input Record From Front-end App(SAP Ui5/Fiori )

er_Entity : Will Send Output Record To Front-end App(SAP Ui5/Fiori )


(optional)
____________________________________________________________________________

<EntitySet>_Delete_Entity( ) Method:
-----------------------------------------------------------------

This method is used to Delete Data

This method contains Important Parameter

it_key_tab : Will Accept Input Key Field Value(s) From Front-end App(SAP Ui5/Fiori)

set_Header() : Will Send Output Message to Front-end App(SAP Ui5/Fiori )


____________________________________________________________________________

Create_Stream( ) Method:
-----------------------------------------------------

This method is used to Deal with File Upload Functionality

This Method contains 3 Parameters

it_key_Tab : Will Accept Input Key Field Value(s) From Front-end App(SAP Ui5/Fiori )

iv_Slug : Will Accept Input File Name from Front-end App(SAP Ui5/Fiori )

is_Media_Resource : Will Accept Input File Type & Input File Content from Front-end App(SAP Ui5/Fiori)
_________________________________________________________________________________________

Get_Stream( ) Method :
---------------------------------------------

This method is used to Deal with File Download Functionality


& File Preview Functionality

This Method Contains 2 Parameters

it_key_tab : Will Accept Input Key Field Value(s) From Front-end App(SAP Ui5/Fiori )

er_stream : Will Send Output File name , Output File Type, Output File Content to Front-end App(SAP Ui5/Fiori )
_____________________________________________________________________________________________________

Create_Deep_Entity( ) Method :
--------------------------------------------------------

This method is used to Insert Multiple Records


This method is used to Insert Header + Item Records Simultaneously

This method contains 2 Parameters

io_Data_Provider : Will Accept Input Header Record + Input Items Record(s) simultaneously from Front-end App(SAP Ui5/Fiori)

er_Deep_Entity
: Will Send Output to Front-end App(SAP Ui5/Fiori )
( optional )
______________________________________________________________________________

Get_Expanded_Entity( ) Method :
-------------------------------------------------------
This method is used to Fetch Header + items Records Simultaneously

This method contains 4 Parameters

it_key_tab
io_tech_request_context
io_expand : will Accept Input Value(s) From Front-end App(SAP Ui5/Fiori )

er_Entity : Will Send Output Header Record + Output Item Records to Front-end App(SAP Ui5/Fiori)
______________________________________________________________________________________________________

Execute_Action( ) Method:
---------------------------------------------------

This method is used to Deal with Simple DB operations

This method contains 3 Parameters

iv_Action_name : will Capture the name of the Function Triggered from Front-end App(SAP Ui5/Fiori )

it_Parameter : Will Accept Input Value(s) From Front-end App(SAP Ui5/Fiori )

er_Data : Will Send Output Data to Front-end App(SAP Ui5/Fiori )


___________________________________________________________________________

Conclusion :

Every method contains "Method parameters" in OData Service

Method parameter are responsible for "Data Transfer" between Front-end app(SAP Ui5/Fiori ) and Backend ( OData Service )

______________________________________________________________________________________________________
Create OData ABAP Service Project
Create Entity Type and Entity Set
Generate Runtime Artifacts
Importance of MPC Class
Importance of DPC Class
Importance of DPC_EXT Class
__________________________________________________

Procedure : Create OData ABAP Service Project


________________________________________

Login to SAP Backend Server

open SEGW Tcode

click Create Icon

Provide Project Name = Z6AMCRUDProject


Provide description = OData Project
Save in Package/Local

Continue
_______________________________________________________

Note : At this Stage , OData Service Project Generated below 4 Folders

DataModel
Service Implementation
Runtime Artifacts
Service Maintainence

Note : Entity Type is to Maintain Collection of Fields with Data TYpe and length
Note : Entity Set is to Hold Collection of Records at Runtime.
________________________________________________________________

Procedure : Create Entity Type and Entity Set


__________________________________________

Right Click DataModel-> Import -> from DDIC STructure

Provide Entity Type Name = EMP


Provide ABAP Structure = ZEMPDBTABLE ( DatabaseTable)
Select Checkbox To Create EntitySet ( EMPSet )

Next
Select The Required Fields
Next
Select Atleast One Field as KeyField ( For Ex : Userid )
Finish

save
_______________________________________________________

Note : In Single Odata Project, We can create Multiple Entity Types and Multiple Entity Sets

Note : When Fields are Imported from ABAP To OData


Then ABAP Data Types and Converted to Equivalent OData EDM Data Types

ABAP Side OData Side


__________________________________________________
Char Edm.String
Dec Edm.Decimal
Numc Edm.String
Int4 Edm.Int32
Dats Edm.DateTime
Tims Edm.Time
RawString Edm.Binary
________________________________________________________
Note : EDM = Entity Data Model
_____________________________________________________________________________

Procedure : Generate Runtime Artifacts


-------------------------------------------------------------------

Select Your Project Folder

Click on Red Color Icon ( Circle icon )

Continue

Save in package/Local

Finish
____________________________________________________________________

Note : At this Stage , The List of Classes are AutoGenerated

_MPC
_MPC_EXT
_DPC
_DPC_EXT
_MDL
_SRV
_______________________________________________________________________

VVV Important Note :


__________________________

Whenever we Add/Remove/Change anything inside "DataModel" section


Then you need to "Re-Generate Runtime Artifacts" by Selecting Red Color icon once again

What Happens when we Re-generate Runtime Artifacts ?


ans ) The Latest Metadata will be reflected inside Model Provider Class MPC Class as per DataModel
___________________________________________________________________________

Importance of Model Provider Class ( MPC Class )


-----------------------------------------------------------------------------------

Model Provider Class (MPC ) Contains "Metadata" of OData Service

Metadata means Name of the Entity Type


Name of the Entity Set
Name of Each and Every Field
Data Type of Each and Every Field
length of Each and Every Field
Structure Used for Importing Fields
Database Table Used for Importing Fields
Field is Key Field or Not
Table Stucture for Entity Type ( TS_ )
Table Type for Entity Type ( TT_ )

Note : As a developer, we Never Modify Model Provider Class ( MPC )

Note : MPC Class is utlized by OData Framework at Runtime to Execute Odata Service Functionalities
________________________________________________________________________________________

Importance of Data Provider Class ( DPC )


--------------------------------------------------------------------

Data Provider Class Automatically Generates "5 CRUDQ Methods" for Each and Every EntitySet
This Autogeneration of methods is done by OData Framework

_________________________________________________________________________________________

Importance of DataProvider Extension Class ( DPC_EXT )


-------------------------------------------------------------------------------------------

DataProvider Extension Clas ( DPC_EXT ) is a Sub Class for Data Provider Class ( DPC )
i,e
Data Provider Extension Class will inherit all The 5 CRUDQ methods of All EntitySets from Data Provider Class
Data Provider Extension Class will Also Utilize Methods from Various Interfaces
i,e

Finally Data Provider Extension Class contains Mainly 10 Important Methods for Implementing "Database Operations"

_________________________________________________________________________
Backend OData DPC_EXT Class Methods Front-end SAP Ui5/Fiori
( Database operations ) ( Screens )
_________________________________________________________________________
<EntitySet>_Create_Entity( ) create( )
<EntitySet>_Get_Entity( ) bindElement( )
<EntitySet>_Update_Entity( ) update( )
<EntitySet>_Delete_Entity( ) remove( )
<EntitySet>_Get_EntitySet( ) bindRows( ) or items="/EntitySet"
+
Create_Stream( ) upload( ) + /$value
Get_Stream( ) read( ) + /$value
Create_Deep_Entity( ) create( ) + NavigationProperty
Get_Expanded_Entity( ) bindRows( ) + NavigationProperty
Execute_Action( ) callFunction( ) + FunctionName
___________________________________________________________________________________________

Note : The Front-end SAP Ui5/Fiori Methods will trigger Backend Odata Service methods of DPC_EXT Class
____________________________________________________________________________________________________
OData Service Fundamentals:
______________________________________

OData Services Mainly deals with "DataBase Operations"

OData Services are "Re-Usable Services" and Independent of Front-end App( SAP Ui5 , SAP Fiori , .Net . PHP )

OData Service Projects are created Using "SEGW" Tcode ( SAP Netweaver Gateway Service Builder )

OData Service Project Mainly Contains 4 Folders

1. DataModel

2. Service Implementation

3. Runtime Artifacts

4. Service Maintainence
____________________________________________________________

DataModel :
__________________________

DataModel contains below options

Entity Type : Entity Type is an option to Maintain Collection of Fields with Data Type and Length
Entity Type is similar to "Structure " in Normal ABAP

Entity : Entity is an option to Hold Single Record at Runtime


Entity is similar to "WorkArea" in Normal ABAP

Entity Set : Entity Set is an Option to Hold Collection of Record(s) at runtime


Entity Set is similar to "Internal Table " in Normal ABAP

Association : Association is the Name of Relationship between Two Entity Types


Association is the name of Relationship between Principle Entity Type & Dependent Entity Type

Association Set : Association is the Name of Relationship between Two Entity Sets
Association is the Name of Relationship between Principle Entity Set & Dependent Entity Set

Referential Constraint : Referential Constraint is a Common Field(s) Between Two Entity Types
Referential Constraint is a Common Field(s) Between Principle Entity Type & Dependent Entity Type

Navigation Property : Navigation Property acts like a "Mediator" between Two Entity Types ( Header + Items )

_______________________________________________________________________
note : in Single Odata Service project, we can have Multiple Entity Types
in Single Odata Service project, we can have Multiple Entity Sets
_____________________________________________________________________

Service Implementation :
___________________________

Service Implementation Mainly Contains "5 CRUDQ Methods" for Each & "Every EntitySet" for Implementation of Database Operations
_____________________________________________________________________________
Create_Entity( ) Method Create For Insert Functionality

Get_Entity( ) Method Read For Select Functionality ( 1 )

Update_Entity( ) Method Update For Update Functionality

Delete_Entity( ) Method Delete For Delete Functionality

Get_EntitySet( ) Method Query For Select Functionality ( N )


________________________________________________________________________________
Note : All the Above Methods are Considered as "CRUDQ Methods"

Note : "CRUDQ Methods" of OData Service are Common for both SAP Ui5 & SAP Fiori Apps

note : "CRUDQ Methods" of OData Services are Triggered by Frontend Apps(SAP Ui5/Fiori ) using ODataModel Concept
________________________________________________________________________________________________

Runtime Artifacts:
___________________________

Runtime Artifacts are Collection of Runtime Classes For Implementation of "Database Operations"

_MPC -> Model Provider Class -> Super Class -> Meta Data generated by OData Framework

_MPC_EXT -> Model Provider Extension Class -> Sub Class -> Extension for Meta Data

_DPC -> Data Provider Class -> Super Class -> Methods Generated by OData Framework

_DPC_EXT -> Data Provider Extension Class -> Sub Class -> Redefine Methods & Implement Database Operations

_MDL -> Registered Model -> ModelName -> Internally Used by ODataFramework to Execute Service

_SRV -> Registered Service -> Service Name-> Accessed by Front-end App ( SAP Ui5/Fiori / .Net / PHP )
_________________________________________________________________________________________

Service Maintainence :
_____________________

Service Maintainence Mainly Contains 3 options

1. Register : To Register / Activate OData Service in SAP Netweaver Gateway

2. Error Log : To Trace out Errors Occured During OData Service Execution

3. SAP Gateway Client : To Test the OData Service Functionalities within SAP System
( Pass Input using HTTP Request )
( Get Output using HTTP Response)

Note : Rest Client : To Test the Odata Service Functionalities from External Browser ( Firefox, Google Chrome etc)
( Pass Input using HTTP Request )
( Get Output using HTTP Response)

Note : SAP Ui5/FIORI : Actual Screens with List / Form / Table / MicroCharts / Charts etc...
______________________________________________________________________________________________________

For Testing OData Services:


_______________________________

Developer Point of View : it Supports Two Formats

XML Format : Pass Input in XML Format, Get Output in XML Format

JSON Format : Pass Input in JSON Format, Get Output in JSON Format
_________________________________________________________________________________

XML Format : ( ?$format=xml )


___________________________________

<d:Userid> 1001 </d:Userid>


<d:Firstname> Vijayendar</d:Firstname>
<d:Lastname> Reddy </d:Lastname>
<d:Emailid> vijay@ca.com </d:Emailid>
<d:Country> INDIA </d:Country>
<d:Salary> 95000 </d:Salary>
<d:Phone> 9618973044 </d:Phone>

<d:Userid> 1002 </d:Userid>


<d:Firstname> Ajay </d:Firstname>
<d:Lastname> Kumar </d:Lastname>
<d:Emailid> ajay@ca.com </d:Emailid>
<d:Country> INDIA </d:Country>
<d:Salary> 75000 </d:Salary>
<d:Phone> 7618073044 </d:Phone>
______________________________________________________________________________

JSON Format : ( ?$format=json )


_______________________________________

"Userid" : "1001",
"Firstname" : "Vijayendar",
"Lastname" : "Reddy",
"Emailid" : "vijay@ca.com",
"Country" : "INDIA",
"Salary" : 95000,
"Phone" : "9618973044"

"Userid" : "1002",
"Firstname" : "Ajay",
"Lastname" : "Kumar",
"Emailid" : "ajay@ca.com",
"Country" : "INDIA",
"Salary" : 75000,
"Phone" : "7618073044"
____________________________________________________________

EndUser Point of View :


-----------------------------------------------
SAP Ui5/Fiori Apps Will Access OData Services and
Input and Output will be Shown to Endusers using UserInterface Elements ( ScreenElements ) like

Forms
Lists
Tables
Charts
MicroCharts
DropdownBox
RadioButtonGroup
MultiComboBox
MultiInput
RatingIndicator
File Uploader
File Download
File Preview

etc...
_____________________________________________________________________
SAP Ui5 Fiori Odata CDS introduction:
____________________________________

Pre-requisite for Learning SAP Ui5 Fiori OData CDS Course


-------------------------------------------------------------------------------------------
You Should be from Some Programming Background
( ABAP / Java / .NET / PHP / HTML )
__________________________________________________________________

Difference between SAP ABAP Apps and SAP Ui5/Fiori Apps


______________________________________________________

SAP ABAP Apps are Considered as "Statefull Apps"


Bcoz Almost all the Functionalities are Executed At "Server Side"

in StateFull Apps, The Server is Busy and Overloaded


So the Performance is Average/Poor

SAP Ui5/Fiori Apps are Considered as "Stateless Apps"


Bcoz Almost 95% functionalities are Executed at "Client Side"(Within Browser )

in Stateless Apps, The Server is Not Busy and Not Overloaded


So we can expect Better/Best Performance
___________________________________________________________________

SAP ABAP Apps SAP Ui5/Fiori Apps


____________________________________________________________________________________________
StateFull Apps Stateless Apps

Performance is Average/Poor Performance is Better/Best

GUI Based Screens Browser Based Screens ( or ) Web Based Screens

Suitable for Intranet ( Within Organization ) Suitable for Both Intranet + Internet
(within organization + outside organization )

Accessible via Desktop/Laptops Accessible via Desktop/Laptops


via Tablets
via Mobile

Screens Supports Max 15 ScreenElements Screens Supports More Than 150 ScreenElements
( we can provide More User Interactivity Features )

Heavy weight Screens Light Weight Screens


( Bcoz They Consume More Memory & More time To Load ) ( bcoz They Consume very less Memory & less time to load )

Doesnot Support All WebSite Features supports all Website Features


( Bcoz SAP Ui5/Fiori Supports HTML Tags )
including Audio/Video Integration )

Screens Appearance is Average/Poor Screen Appearance is More Attractive


(bcoz SAP Ui5/Fiori Supports CSS ) Cascading Style Sheets

All the Functionalities are Executed at Server Side( StateFull ) Almost 95% Functionalities are Executed at Client Side( (Stateless
)
bcoz SAP ABAP Programming is Server Side Programming bcoz SAP Ui5/Fiori Supports JavaScripting / XML ( Client Side
Programming )

SAP Ui5/Fiori can interact with All Types of backend Servers


can interact with SAP ECC / S4 HANA Via OData ABAP Service
can interact with SAP S4 HANA Via OData CDS Service
can interact with Non-SAP (ThirdParty)Via OData External Service
________________________________________________________________________________________________________________
___________

Architecture:
_______________________

OData Services:
__________________

OData Services mainly deals with "Database Operations"


(Select, Insert, Update, Delete , Modify )

OData Services are of Three Types

1. OData ABAP Service ->Deals with DB operations with SAP ECC/S4HANA / CRM/ SRM
2. OData CDS Service ->Deals with DB operations with SAP S4 HANA
3. OData External Service ->Deals with DB operations with Non-SAP (Third Party Systems)
______________________________________________________________________________________________

SAP Ui5 Apps:


_________________
Custom Front-end Apps developed using "SAP Ui5 Framework" From Scratch level
and Consume/Access OData Services for Database oprations with backend Systems
These App are Considered as "SAP Ui5 Apps"
______________________________________________________________________________

SAP Fiori Like Apps:


____________________
Custom Front-end Apps developed using "SAP Ui5 Framework" + SAP Fiori Templates/ SAP Fiori Elements
& Consume /Access OData Services for Database Operations with Backend Systems
These Apps are Considered as "SAP Fiori Like Apps"
__________________________________________________________________________________

SAP Fiori Apps:


____________________

Standard Front-end Apps developed by SAP using SAP Ui5 Framework + SAP Fiori Templates / SAP Fiori Elements
& Consume Standard OData Servies for Database Operations with backend Systems
These apps are Considered as "SAP Fiori Apps"

Note : SAP has provided Standard Fiori Apps for Dealing with "Common Business Functionalities"

Apply Leave -> Standard SAP Fiori App


Approve/Reject Leave Request -> Standard SAP Fiori App
Create Sales Order -> Standard SAP Fiori App
Change Sales Order -> Standard SAP Fiori App
Tracking Sales Order -> Standard SAP Fiori App
Fill TimeSheet -> Standard SAP Fiori App
Approve/Reject TimeSheet -> Standard SAP Fiori App
Check Price & Availability -> Standard SAP Fiori App
Approve/Reject Purchase Order -> Standard SAP Fiori App

etc.,..etc... There are Thousands of Standard Fiori Apps provided by SAP as "Ready Made Apps"

Note : as A Developer, if Required, we can customize / enhance standard Fiori Apps as per Client requirement
____________________________________________________________________________________________

Summary :
_____________

OData Services = Backend Database Operations

CDS Services/Views = Backend Database Operations + Ui Annotations

SAP Ui5 Apps = Custom Front-end Apps ( SAP Ui5 Framework + OData )

SAP Fiori Like Apps = Custom Front-end Apps( SAP Ui5 Framework + OData + SAP Fiori Templates / SAP Fiori Elements)

SAP Fiori Apps = Standard Front-end Apps( SAP Ui5 Framework + OData + SAP Fiori Templates / SAP Fiori Elements)
________________________________________________________________________________________________________________

OData Model:
__________________
ODataModel is used to Consume/Access OData Services
ODataModel is used to Trigger "Database Operations using Front-end Methods
ODataModel is used to Send Data + Receive Data between Front-end SAP Ui5 Fiori App and Backend Servers
ODataModel is considered as "Server Side Model " bcoz ODataServices (DB operations are executed at Server Side)
_____________________________________________________________________________________________________
SAP Ui5 / Fiori Apps Front-End Apps OData Services Database Operations
_____________________________________________________________________________________________________

create( ) Create_Entity( ) Insert Statement

bindElement( ) Get_Entity( ) Select Statement ( 1 )

update( ) Update_Entity( ) Update Statement

remove( ) Delete_Entity( ) Delete Statement

bindRows( ) Get_EntitySet( ) Select Statement ( N )

upload( ) + /$value Create_Stream( ) File Upload Functionality

read( ) + /$value Get_Stream( ) File Download Functionality

create( ) + NavigationProperty Create_Deep_Entity( ) Insert Multiple Records


Insert Header + item Records Simultaneously

bindRows( ) + NavigationPropertyGet_Expanded_Entity( ) Select Header + item Records Simultaneously

callFunction( ) + functionName Execute_Action( ) Simple Database Operations


__________________________________________________________________________________________________________

note :All the Above Methods are Considered as "CRUDQ Methods"

note : All the Above methods are executed by SAP Ui5/Fiori OData Model
____________________________________________________________________________

Course Syllabus Details:


____________________________

SAP OData ABAP Services


SAP OData CDS Services + Ui Annotations
SAP Ui5 Apps
SAP Fiori Like Apps using SAP Fiori Templates
SAP Fiori Like Apps using SAP Fiori Elements
SAP Fiori Apps Enhancements
HTML / CSS / Scripting / XML
on

SAP Netweaver Gateway with ECC / S4HANA + Eclipse + SAP WEB IDE + SAP BAS Tool + SEGW Tcode
___________________________________________________________________________________________________

You might also like