Академический Документы
Профессиональный Документы
Культура Документы
D
of ife
S re
na erv nt
liti ice Ty
es s/F pe
un s
cti
o
Standard Service on standard BO
Custom Service on Standard BO
Custom Service on Custom BO
Non-DWB
Added for RAL functionality: Exit-added fields of a standard service on a standard BO
Added for RAL functionality: Standard Service on Standard BO : KUT and PDI
extension fields.
Added for RAL functionality: Custom Service on Standard BO : KUT and PDI extension
fields
Added for RAL functionality: Standard service on standard BO with dependent object
of type TextCollection
Added for RAL functionality: Custom service on standard BO with dependent object of
type AttachmentFolder
Added for RAL functionality: Standard service on standard BO with dependent object
of type TextCollection
Added for RAL functionality: Custom service on standard BO with dependent object of
type AttachmentFolder
Standard Service on a standard BO
Custom Service on Standard BO
Custom Service on Custom BO- Rafat
DWB
DWB
Added for RAL functionality: Exit-added fields of a standard service on a standard BO
Added for RAL functionality: Standard Service on Standard BO
Added for RAL functionality: Custom Service on Standard BO
Added for RAL functionality: Standard service on standard BO with dependent object
of type TextCollection
Added for RAL functionality: Custom service on standard BO with dependent object of
type AttachmentFolder
Added for RAL functionality: Standard service on standard BO with dependent object
of type TextCollection
Added for RAL functionality: Custom service on standard BO with dependent object of
type AttachmentFolder
Added for RAL functionality: Testing of RAL with modification of BC and RAL field
groups
Read (Adithya)
Read with key, the record of a related entity, via navigation from a particular record of the parent entity.
Read with key, the record of a related entity, via navigation from a particular record of the parent entity.
Read with key, the record of a related entity, via navigation from a particular record of the parent entity.
Create an Entity
of Standard
Service with all
Data type
Create an
Attt/Text Entity of
Standard Service
Create an Entity
of Standard
Service with
KUT/PDI with all
Data type
Create an Inline
Entity from Root
level till n level
for Standard
Service
Create an Inline
Entity from
Sunnode level till
n level for
Standard Service
using
ParentObjectID
Create an Inline
Entity from Root
level till n level
for Standard
Service(with in
between node as
merged e.g.
Customer-
>BusinessHours(
mergerd
OperatingHours)-
>Recurring Day
Create an Inline
Entity from
Sunnode level till
n level for
Standard Service
with mergerd
nodes(e.g.Busine
ssHours(mergerd
OperatingHours)-
>Recurring Day
Create an Entity
created from Exit
Create Inline
entity involving
Exit entity and
Modeled entity
Create Inline
entity involving
Exit entity
Create instance
for an entity for
which parent is
merged in
previos entity(or
current entity)
but doenot exist
(e.g. Custom-
>Address.Root-
>AddressInforma
tion, here
customer exist
but Address.Root
doenot and data
for AddressInfo is
present)
Create an Entity
on Custom
Service with all
Data type
Create an
Attt/Text Entity of
Standard Service
Create an Entity
on Custom
Service with
KUT/PDI with all
Data type
Create an Inline
Entity from Root
level till n level
for Custom
Service
Create an Inline
Entity from
Sunnode level till
n level for
Custom Service
Create an Inline
Entity from Root
level till n level
on Custom
Service(with in
between node as
merged e.g.
Customer-
>BusinessHours(
mergerd
OperatingHours)-
>Recurring Day
Create an Inline
Entity from
Sunnode level till
n level for
Standard
Service(e.g.Busin
essHours(merger
d
OperatingHours)-
>Recurring Day
Create instance
for an entity for
which parent is
merged in
previos entity(or
current entity)
but doenot exist
(e.g. Custom-
>Address.Root-
>AddressInforma
tion, here
customer exist
but Address.Root
doenot and data
for AddressInfo is
present)
Create an Entity
of Standard
Service with all
Data type using
external keys
Create an
Attt/Text Entity of
Standard Service
using parent
external
keys/parent ID(if
from second
level)
Create an Entity
of Standard
Service with
KUT/PDI with all
Data type using
external keys
Create an Inline
Entity from Root
level till n level
for Standard
Service using
external keys
Create an Inline
Entity from
Subnode level till
n level for
Standard Service
using
ParentObjectID/u
sing parent
external
keys/using
parentID(if from
2nd level)
Create an Inline
Entity from Root
level till n level
for Standard
Service(with in
between node as
merged e.g.
Customer-
>BusinessHours(
mergerd
OperatingHours)-
>Recurring Day
Create an Inline
Entity from
Subnode level till
n level for
Standard Service
with mergerd
nodes(e.g.Busine
ssHours(mergerd
OperatingHours)-
>Recurring Day
using
parentexternal
keys/using
parentID if from
second level
Create an entity
instance on exit
entity(it should
throw error)
Create instance
for an entity for
which parent is
merged in
previos entity(or
current entity)
but doenot exist
(e.g. Custom-
>Address.Root-
>AddressInforma
tion, here
customer exist
but Address.Root
doenot and data
for AddressInfo is
present)
Update (Uday)
PUT the instance of an Entity Type with properties from BO Root node
PUT the instance of an Entity Type with properties from non-BO Root node
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
PUT on DO - TextCollection
PUT on DO - AttachmentFolder (Not allowed)
PUT request in batch - single changeset - for all possible cases above
PUT request in batch - multi changeset - for all possible cases above
PATCH the instance of an Entity Type with properties from BO Root node
PATCH the instance of an Entity Type with properties from non-BO Root node
PATCH instance of an Entity Type with properties created as Merge association of a Business Object
PATCH instance of an Entity Type created as merge association and during instance creation only Root node wa
PATCH on DO - TextCollection
PATCH request in batch - single changeset - for all possible cases above
PATCH request in batch - multi changeset - for all possible cases above
PUT the instance of an Entity Type with properties from BO Root node
PUT the instance of an Entity Type with properties from non-BO Root node
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
PUT on DO - TextCollection
PUT request in batch - single changeset - for all possible cases above
PUT request in batch - multi changeset - for all possible cases above
PATCH the instance of an Entity Type with properties from BO Root node
PATCH the instance of an Entity Type with properties from non-BO Root node
PATCH instance of an Entity Type with properties created as Merge association of a Business Object
PATCH instance of an Entity Type created as merge association and during instance creation only Root node wa
PATCH on DO - TextCollection
PATCH request in batch - single changeset - for all possible cases above
PATCH request in batch - multi changeset - for all possible cases above
PUT the instance of an Entity Type with properties from BO Root node
PUT the instance of an Entity Type with properties from non-BO Root node
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
PUT on DO - TextCollection
PUT request in batch - single changeset - for all possible cases above
PUT request in batch - multi changeset - for all possible cases above
PATCH the instance of an Entity Type with properties from BO Root node
PATCH the instance of an Entity Type with properties from non-BO Root node
PATCH instance of an Entity Type with properties created as Merge association of a Business Object
PATCH instance of an Entity Type created as merge association and during instance creation only Root node wa
PATCH on DO - TextCollection
PATCH request in batch - single changeset - for all possible cases above
PATCH request in batch - multi changeset - for all possible cases above
PUT the instance of an Entity Type with properties from BO Root node
PUT the instance of an Entity Type with properties from non-BO Root node
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
PUT instance with data unacceptable by the BO
PUT on DO - TextCollection
PUT request in batch - multi changeset - for all possible cases above
PATCH the instance of an Entity Type with properties from BO Root node
PATCH the instance of an Entity Type with properties from non-BO Root node
PATCH instance of an Entity Type with properties created as Merge association of a Business Object
PATCH instance of an Entity Type created as merge association and during instance creation only Root node wa
PATCH instance with data unacceptable by the BO
PATCH on DO - TextCollection
PATCH on DO - AttachmentFolder (Not allowed)
PATCH on non updatable fields
PATCH request in batch - single changeset - for all possible cases above
PATCH request in batch - multi changeset - for all possible cases above
PUT the instance of an Entity Type with properties from BO Root node
PUT the instance of an Entity Type with properties from non-BO Root node
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
PUT instance of an Entity Type with properties created as Merge association of a Business Object
PUT instance of an Entity Type created as merge association and during instance creation only Root node was
[DT] Add an extension field to a SAP delivered OData service (one extension
field to more than one service at a time)
> All data types(Text, Indicator, Amount, Quantity, List, etc.,)
> Add Complex property type(Amount, Quantity)
> Add Codelist propert(Simple, Multi value)
[RT] Read Metadata
[RT] Read Collection
[RT] POST with Entity type collection of added KUT field
[RT] PUT with Entity type collection of added KUT field
[RT] PATCH with Entity type collection of added KUT field
Header: If-None-Match = *
READ Collection
READ with Key(ObjectID)
READ Collection with Parent & Child Entitytype
POST Entityset
POST Entityset
READ with $COUNT for Standard property & Exit added property
READ with $COUNT on Navigation with Standard property & Exit added
property
READ with $COUNT on Exit added Entity type of Navigation with Exit
added property
READ with $COUNT for Standard property & Exit added property
READ with $COUNT on Navigation with Standard property & Exit added
property
READ with $COUNT on Exit added Entity type of Navigation with
standard property filter
READ with $COUNT on Exit added Entity type of Navigation with Exit
added property
READ with $COUNT on Exit added Entity type of Navigation with
Standard property & Exit added property
POST of an Entity type for which CREATE_DATA_POST_PROCESSING is
implemented
PUT of an Entity type for which WRITE_DATA_POST_PROCESSING is
implemented
PATCH of an Entity type for which WRITE_DATA_POST_PROCESSING is
implemented
DELETE of an Entity type for which DELETE_DATA_POST_PROCESSING is
implemented
POST of an Entity type for which CREATE_DATA_PRE_PROCESSING is
implemented
PUT of an Entity type for which WRITE_DATA_PRE_PROCESSING is
implemented
PATCH of an Entity type for which WRITE_DATA_PRE_PROCESSING is
implemented
DELETE of an Entity type for which DELETE_DATA_PRE_PROCESSING is
implemented
POST of an Entity type for which DO_PRE_PROCESSING is implemented
READ with $COUNT for Standard property & Exit added property
READ with $COUNT on Navigation with Standard property & Exit added
property
READ with $COUNT on Exit added Entity type of Navigation with
standard property filter
READ with $COUNT on Exit added Entity type of Navigation with Exit
added property
READ with $COUNT on Exit added Entity type of Navigation with
Standard property & Exit added property
POST of an Entity type for which CREATE_DATA_POST_PROCESSING is
implemented
PUT of an Entity type for which WRITE_DATA_POST_PROCESSING is
implemented
PATCH of an Entity type for which WRITE_DATA_POST_PROCESSING is
implemented
DELETE of an Entity type for which DELETE_DATA_POST_PROCESSING is
implemented
POST of an Entity type for which CREATE_DATA_PRE_PROCESSING is
implemented
PUT of an Entity type for which WRITE_DATA_PRE_PROCESSING is
implemented
PATCH of an Entity type for which WRITE_DATA_PRE_PROCESSING is
implemented
DELETE of an Entity type for which DELETE_DATA_PRE_PROCESSING is
implemented
POST of an Entity type for which DO_PRE_PROCESSING is implemented
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $count and $filter, with RAL fields in $filter.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a specific record of an entity set collection.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $count and $filter, with RAL fields in $filter.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $count and $filter, with RAL fields in $filter.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a specific record of an entity set collection.
Read a property of a specific record of an entity set collection.
Read a property of a specific record of an entity set collection, with $value.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection with $search and $select.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection, with $count and $filter, with RAL fields in $filter.
Read an entity set collection with $count and $search.
Read an entity set collection with $search and $select.
Read an entity set collection, with RAL fields in $filter.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection, with $count and $filter, with RAL fields in $filter.
Read an entity set collection with $count and $search.
Read an entity set collection with $search and $select.
Read an entity set collection, with RAL fields in $filter.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a specific record of an entity set collection.
Read a property of a specific record of an entity set collection.
Read a property of a specific record of an entity set collection, with $value.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection with $search and $select.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a specific record of an entity set collection.
Read a property of a specific record of an entity set collection.
Read a property of a specific record of an entity set collection, with $value.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection with $search and $select.
Read an entity set collection, with RAL fields in $filter.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
Read an entity set collection.
Read a specific record of an entity set collection.
Read a property of a specific record of an entity set collection.
Read a property of a specific record of an entity set collection, with $value.
Read a property of a specific record if an entity set collection, with $value and $format.
Read an entity set collection, with $expand.
Read an entity set collection, with navigation.
Read an entity set collection, with $filter.
Read an entity set collection, with $search.
Read an entity set collection, with $select.
Read an entity set collection with $search and $select.
Read an entity set collection, with RAL fields in $filter.
Read multiple entity set collections, with $batch.
Read an entity set collection, with a function import of type QUERY (testing any one function import type is sufficient).
Read an entity set collection, with a function import of type ACTION (testing any one function import type is sufficient).
Read an entity set collection, with a function import (QUERY or ACTION), with the function import parameters that are RAL
o
Ty
cti
B
nt
DW
un
Create
re
Merged Expand&C
es s/F
B/
of ife
Associationed
Association ollapse
pe DW
liti ice
D
Entities
na erv
Ty on
S
N
Yes
5Levels
CodeDescrip UI Text Function
Attachment TextCollection Address Navigation
tion Import
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
JMeter
Test Cases
New
New
New
New
New
New
New
New
New
New
New
New
New
Area
Odata Runtime
Odata Runtime
iCRM
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Editor
iCRM
WSMV
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Odata Runtime
Use Case
Include * in $expand
Sample URL: https://axp-cust220.dev.sapbydesign.com/sap/c4c/odata/v1/c4codata/AccountCollection?
$top=10&$expand=AccountRole&$select=*,AccountRole/RoleCode
Include NavigationProperty in $select and $expand. Check the file: $SelectURLs.txt for details
FI: GetLoggedInUserInfo is used to fetch logged in user details. Very important to load end user UI.
https://my308297.vlab.sapbydesign.com/sap/c4c/odata/v1/c4codata/GetLoggedInUserInfo should fetch UserCollection Data f
the user. Test has to be done by logging in as an end user i.e. the user shouldn't be assigned with "User" workcenter view unde
"Administration" workcenter
In-Line/Deep Import adoption for Standard service Jmeter scripts
1. Vanila use case- straight forward in-line post,update,delete
Error handling use case
In-Line/Deep Import adoption for Standard service Jmeter scripts
2. Error handling use case
PUT - Service Request, Account,Contacts, Appointment and Visit in C4CODATA service
PUT - Visits,Account, ServiceRequest(9 left) in DATAWORKBENCH service
PATCH - Service Request, Account,Contacts, Visit in C4CODATA service
PATCH - ServiceRequest, Account, Visit in DATAWORKBENCH service
Upsert - for ServiceRequest , Contact , Activity(1), Account in C4CODATA service
Upsert - ServiceRequest,Contact, Visits and Accounts in DATAWORKBENCH service
Enhance Jmeter scripts for $count optimization
Enhance Jmeter scripts for $expand with $select and $top and $skip and $search, $expand+$search with diferent data types
Enhance Jmeter scripts for $search
Automate missed out entities from both C4CODATA and Dataworkbench services in Jmeter
$filter with diferent data types with $select || $ search
Function import 'ProductFindBySalesInfo' of 'c4codata' service. Also check for the below function imports added through exit:
'AccountFindByCommunicationData'
AccountFindByElements
ContactFindByElements
EmployeeFindByCommunicationData
EmployeeFindByName
EmployeeFindByElements+B22:I23
OpportunityFindByOwner
LeadFindByElements
ProductFindByCategory
ProductFindBySalesInfo
GetLoggedInUserInfo
Automate iCRM functionality - End User Provisioning/Deprovisioning
Automation for Extension Scenario using Sahi- E2E
Web Service Message Monitoring View
RBAM
Web DAV
SAM Use case in Jmeter SR , SRI
Enhance DELETE of Appointment
Upsert with x-http-method = "Merge" . Pass ObjectID in the URL and in the payload. Update should work
PATCH with Internal ID is only untill 2nd level
Creation of a separate Jmeter file for QWF system due to diference in metadata in current release and hotfix codeline . Consid
only READ for automation
Update merged description instance based on Logon Language
Test Case Document: TC_ODATA_SERVICE_WRITE.docx
Complex Extension Fields - Create/Update - c4cdataworkbench - lead. As these are handled by exits instead of framework.
Function import 'ProductFindBySalesInfo' of 'c4codata' service. Also check for the below function imports added through exit:
'AccountFindByCommunicationData'
AccountFindByElements
ContactFindByElements
EmployeeFindByCommunicationData
EmployeeFindByName
EmployeeFindByElements
OpportunityFindByOwner
LeadFindByElements
ProductFindByCategory
ProductFindBySalesInfo
GetLoggedInUserInfo
Automate CRUD opertaions on Standarad DWB and non-DWB servie with KUT and PDI fields.
Automation for 'My queries'.
Normal 'My queries' for entity set collection
GET AccountCollection
c4c-odata-def-set-name:AllAccounts
Send Update(Patch) calls only for exit properties e.g. Jobtitle, Department etc. c4codata/ContactCollection, it should get
updated(Batch and Non-batch)
Automation Target
Status Requested By Priority Ticket(if available) Responsible Release
iCRM
issue:https://jam4.sapjam
.com/questions/7D4kEVIl
Completed Uday u8caG9yZ2Rbac3 Divya 1611/1702
New Kavin
Address meCustomer->AddressInformation->Address
Address Snapshot
Used AddrSR->ServicePointLocation->UsedAddress