I_User
User
I_User is a Basic CDS View that provides data about "User" in SAP S/4HANA. It reads from 1 data source (usr21) and exposes 5 fields with key field UserID. It has 1 association to related views. It is exposed through 13 OData services (C_SALESORDERMANAGE_SD, UI_BPEMCASE, UI_CREDITMEMOREQUESTMANAGE, ...). It is used in 5 Fiori applications: Configure Supply Sort Rule, Manage Purchase Orders - Fashion, Manage Provisional Sales Contracts - Fashion, ....
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| usr21 | usr21 | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_AddrCurDefaultEmailAddress | _AddrCurDefaultEmailAddress | usr21.persnumber = _AddrCurDefaultEmailAddress.AddressPersonID and usr21.addrnumber = _AddrCurDefaultEmailAddress.AddressID |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | User | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.sqlViewName | IUSER | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #PRIVILEGED_ONLY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.representativeKey | UserID | view |
OData Services (13)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| C_SALESORDERMANAGE_SD | C_SALESORDERMANAGE_SRV | V4 | C1 | NOT_RELEASED |
| UI_BPEMCASE | UI_BPEMCASE | V2 | C1 | NOT_RELEASED |
| UI_CREDITMEMOREQUESTMANAGE | UI_CREDITMEMOREQUESTMANAGE | V4 | C1 | NOT_RELEASED |
| UI_CUSTOMERRETURNMANAGE | UI_CUSTOMERRETURNMANAGE | V4 | C1 | NOT_RELEASED |
| UI_INBOUNDDELIVERYMANAGE | UI_INBOUNDDELIVERYMANAGE | V4 | C1 | NOT_RELEASED |
| UI_PRELIMBILLINGDOCUMENT_F6990 | UI_PRELIMBILLINGDOCUMENT_F6990 | V4 | C1 | NOT_RELEASED |
| UI_PURCONTRRENEGTTN_MANAGE | UI_PURCONTRRENEGTTN_MANAGE | V2 | C1 | NOT_RELEASED |
| UI_RFM_PO_MNG | UI_RFM_PO_MNG | V2 | C1 | NOT_RELEASED |
| UI_RFM_PRVSNLSLSCONTR | UI_RFM_PRVSNLSLSCONTR | V2 | C1 | NOT_RELEASED |
| UI_RFM_SUPPLY_SORTRULE | UI_RFM_SUPPLY_SORTRULE | V2 | C1 | NOT_RELEASED |
| UI_SALESCONTRACTMANAGE | UI_SALESCONTRACTMANAGE | V4 | C1 | NOT_RELEASED |
| UI_SALESQUOTATIONMANAGE | UI_SALESQUOTATIONMANAGE | V4 | C1 | NOT_RELEASED |
| UI_SUPLRUSRDFNDCRITRA_MANAGE | UI_SUPLRUSRDFNDCRITRA | V2 | C1 | NOT_RELEASED |
Fiori Apps (5)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F4057 | Configure Supply Sort Rule | Transactional | An application to configure supply sorting rules which are used in Supply Assignment Run. |
| F5391 | Manage Purchase Orders - Fashion | Transactional | |
| F5398 | Manage Provisional Sales Contracts - Fashion | Transactional | Manage Provisional Sales Contracts - Fashion. This is used to create the special types of contracts and the call off |
| F5714 | Manage Renegotiations | Transactional | An application to create and manage renegotiations of central purchase contracts |
| F7256 | Manage BPEM Clarification Cases | Transactional |
Configure Supply Sort Rule
Business Role: Order Fulfillment Manager (Retail)
This transactional application allows you to create static or dynamic sort attributes for a supply sort rule. The supply sort rules defined using this app are used during supply assignment in backorder processing (BOP), insight to action (ITA), or immediate assignment processes.
Manage Purchase Orders - Fashion
Business Role: Purchaser (Retail)
With this app, you can now consolidate purchase order items into an existing purchase order based on the settings in the rule maintained using the Configure Purchase Order Consolidation Rule app.
Manage Provisional Sales Contracts - Fashion
Business Role: Order Fulfillment Specialist (Retail)
With this app, you can display the provisional sales contract details at header and generic product levels, so you can get a complete view of different items in these contracts. You can also use this app to create provisional sales contracts as well as create subsequent orders (call-offs) for these contracts.
Manage Renegotiations
Business Role: Purchaser
With this app, you can initiate renegotiations on the prices for items in existing central purchase contracts. You can revisit prevalent central purchase contracts for chosen items and renegotiate the pricing conditions, to gain value from changed market conditions. The following new business add-in (BAdI) is available with this app:Change of Purchase Contract Renegotiation Item Pricing
Manage BPEM Clarification Cases
Business Role: Operations Specialist (Utilities)
A new Fiori app enables you to display a list of BPEM (Business Process Exception Management) clarification cases in Utilities meter-to-cash processes, to access detailed information related to clarification cases, and apply actions.The app provides forward navigation to the transaction EMMAC3 ("Display Clarification Case"), where further detailed information and BPEM features are available.
@EndUserText.label: 'User'
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.sqlViewName: 'IUSER'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.representativeKey: 'UserID'
// 1. Background information:
// Users represent either persons or technical entities.
// Cloud Environment: Users created for persons, communication and printing are owned by the customer.
// All other users are owned by SAP.
// On Premise Environment: All users are owned by the customer.
//
// 2. Restrictions:
// Because any kind of user can create or change data in the system,
// fields like "CreatedByUser" or "LastChangedByUser" must refer to this entity by a "[0..1]" association
// to obtain a descriptive text of the user.
// -> Do not assume that the target of the association exists.
// -> Do not assume that such a user always corresponds to a business partner of type person ('BP person').
//
// This view must not be exposed to end users directly, because it exposes person relevant information.
// Only use this view in the definition of context-specific consumption views as a target for the "CreatedByUser"
// and "LastChangedByUser" associations. That's why, the view definition intentionally does not contain the
// "@ObjectModel.representativeKey", "@ObjectModel.text.element" or "@Analytics..." annotations.
//
// 3. Hints/Remarks:
// For users connected to a BP person, the UserDescrition contains what was formerly known as 'Person Fullname'.
// For users having classical address (on premise only) the UserDescrition is defined by the customer.
// In this case, it rarely contains 'Person Fullname'.
// For users without address data we differentiate between cloud and on premise environment:
// -> Cloud: Preset by SAP.
// -> On Premise: Defined by the customer.
// Also here, it's quite unusual that UserDescription contains 'Person Fullname', because usually
// there is no individual person behind it. Usually it contains a description of the purpose of
// the technical entity.
define view I_User
as select from usr21
association [0..1] to I_AddrCurDefaultEmailAddress as _AddrCurDefaultEmailAddress
on usr21.persnumber = _AddrCurDefaultEmailAddress.AddressPersonID
and usr21.addrnumber = _AddrCurDefaultEmailAddress.AddressID
{
@ObjectModel.text.element:['UserDescription']
key cast( usr21.bname as vdm_userid preserving type ) as UserID,
@Semantics.text: true
cast( usr21.techdesc as vdm_userdescription preserving type ) as UserDescription,
case usr21.idadtype
when '00' then ' ' //users having classical address (NO connection to Business Partner)
when '02' then ' ' //users connected to a BP person
when '03' then ' ' //users connected to a BP person with a relation to a BP Organization
when '04' then ' ' //users connected to a BP person and have a BP workplace address
else 'X' //users without address data (intended for technical purposes only)
end as IsTechnicalUser,
_AddrCurDefaultEmailAddress,
@Consumption.hidden:true
@Analytics.hidden:true
usr21.persnumber as AddressPersonID,
@Consumption.hidden:true
@Analytics.hidden:true
usr21.addrnumber as AddressID
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA