P_RRBWrittenOffDynamicItem
P_RRBWrittenOffDynamicItem is a Consumption CDS View in SAP S/4HANA. It reads from 5 data sources (I_RRBDynamicItem, I_RRBDynamicItemTotalFlow, P_RRBWrittenOffDynamicItem01, I_RRBSalesPricingHeader, I_RRBSalesPricingDynamicItem) and exposes 48 fields with key fields RRBSalesPricingDocument, RRBDynamicItem. It has 4 associations to related views.
Data Sources (5)
| Source | Alias | Join Type |
|---|---|---|
| I_RRBDynamicItem | DynamicItem | inner |
| I_RRBDynamicItemTotalFlow | DynamicTotalFlow | from |
| P_RRBWrittenOffDynamicItem01 | JournalEntryItem | left_outer |
| I_RRBSalesPricingHeader | RRBSalesPricingHeader | inner |
| I_RRBSalesPricingDynamicItem | SalesPricingDynamicItem | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_BillingPlanItemUsageText | _ItemUsage | DynamicItem.BillingPlanItemUsage = _ItemUsage.BillingPlanItemUsage and DynamicItem.BillingDocumentCategory = _ItemUsage.BillingPlanUsageCategory and _ItemUsage.Language = $session.system_language |
| [0..1] | I_BillingControlCategory | _BillingControlCategory | $projection.BillingControlCategory = _BillingControlCategory.BillingControlCategory |
| [0..1] | I_SalesDocumentItem | _SalesDocumentItem | $projection.SalesDocument = _SalesDocumentItem.SalesDocument and $projection.SalesDocumentItem = _SalesDocumentItem.SalesDocumentItem |
| [0..1] | I_PersonWorkAgreement_1 | _PersonWorkAgreement_1 | $projection.Personnel = _PersonWorkAgreement_1.PersonWorkAgreement |
Annotations (5)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PRRBWRTOFFDYNITM | view | |
| VDM.private | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view |
Fields (48)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | RRBSalesPricingDocument | I_RRBSalesPricingDynamicItem | RRBSalesPricingDocument | |
| KEY | RRBDynamicItem | I_RRBDynamicItemTotalFlow | RRBDynamicItem | |
| SalesDocumentItem | I_RRBSalesPricingDynamicItem | SalesDocumentItem | ||
| Material | I_RRBSalesPricingDynamicItem | Material | ||
| SalesDocument | I_RRBSalesPricingHeader | SalesDocument | ||
| BillingDocumentCategory | I_RRBDynamicItem | BillingDocumentCategory | ||
| BillingPlanItemUsage | I_RRBDynamicItem | BillingPlanItemUsage | ||
| ControllingObject | I_RRBDynamicItem | ControllingObject | ||
| WorkItem | I_RRBDynamicItem | WorkItem | ||
| Personnel | I_RRBDynamicItem | Personnel | ||
| DocumentItemText | I_RRBDynamicItem | DocumentItemText | ||
| BillingPlan | I_RRBDynamicItem | BillingPlan | ||
| BillingPlanItem | I_RRBDynamicItem | BillingPlanItem | ||
| TimeSheetOvertimeCategory | I_RRBDynamicItem | TimeSheetOvertimeCategory | ||
| BillingPlanItemUsageName | _ItemUsage | BillingPlanItemUsageName | ||
| DocumentDateendasPostingDate | ||||
| SalesDocumentItemText | ||||
| LedgerGLLineItem | P_RRBWrittenOffDynamicItem01 | LedgerGLLineItem | ||
| ReferenceDocument | P_RRBWrittenOffDynamicItem01 | ReferenceDocument | ||
| ReferenceDocumentItem | P_RRBWrittenOffDynamicItem01 | ReferenceDocumentItem | ||
| FiscalYear | P_RRBWrittenOffDynamicItem01 | FiscalYear | ||
| CompanyCode | P_RRBWrittenOffDynamicItem01 | CompanyCode | ||
| AccountingDocument | P_RRBWrittenOffDynamicItem01 | AccountingDocument | ||
| BilledAmountInTransacCrcy | I_RRBDynamicItemTotalFlow | BilledAmountInTransacCrcy | ||
| RejectedAmtInTransCrcy | I_RRBDynamicItemTotalFlow | RejectedAmtInTransCrcy | ||
| RejectedQuantity | I_RRBDynamicItemTotalFlow | RejectedQuantity | ||
| BilledQuantity | I_RRBDynamicItemTotalFlow | BilledQuantity | ||
| TransactionCurrency | I_RRBDynamicItem | TransactionCurrency | ||
| DocumentCurrency | I_RRBSalesPricingDynamicItem | DocumentCurrency | ||
| UnitOfMeasure | I_RRBDynamicItem | UnitOfMeasure | ||
| OpenQuantity | I_RRBSalesPricingDynamicItem | TotalQuantity | ||
| TotalBillableQtyInBaseUnit | I_RRBSalesPricingDynamicItem | TotalBillableQtyInBaseUnit | ||
| NetAmount | I_RRBSalesPricingDynamicItem | NetAmount | ||
| AmountToBeBilledInTransacCrcy | I_RRBSalesPricingDynamicItem | AmountToBeBilledInTransacCrcy | ||
| AmtToBePostponedInTransacCrcy | I_RRBSalesPricingDynamicItem | AmtToBePostponedInTransacCrcy | ||
| AmtToBeRejectedInTransacCrcy | I_RRBSalesPricingDynamicItem | AmtToBeRejectedInTransacCrcy | ||
| CanceledAmountInTransacCrcy | I_RRBSalesPricingDynamicItem | CanceledAmountInTransacCrcy | ||
| OriginalAmountInTransacCrcy | I_RRBSalesPricingDynamicItem | OriginalAmountInTransacCrcy | ||
| OpenAmountInTransCrcy | I_RRBSalesPricingDynamicItem | TotalAmountInTransactionCrcy | ||
| _Material | I_RRBSalesPricingDynamicItem | _Material | ||
| _DocumentCurrency | I_RRBSalesPricingDynamicItem | _DocumentCurrency | ||
| _UnitOfMeasure | I_RRBDynamicItem | _UnitOfMeasure | ||
| _TransactionCurrency | I_RRBDynamicItem | _TransactionCurrency | ||
| _ItemUsage | _ItemUsage | |||
| _SalesDocumentItem | _SalesDocumentItem | |||
| _BillingControlCategory | _BillingControlCategory | |||
| _PersonWorkAgreement_1 | _PersonWorkAgreement_1 | |||
| _RRBDynamicItemLongText | I_RRBDynamicItemTotalFlow | _RRBDynamicItemLongText |
@AbapCatalog.sqlViewName: 'PRRBWRTOFFDYNITM'
@VDM.private: true
@VDM.viewType: #CONSUMPTION
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_RRBWrittenOffDynamicItem as select from I_RRBDynamicItemTotalFlow as DynamicTotalFlow
inner join I_RRBDynamicItem as DynamicItem on DynamicTotalFlow.RRBDynamicItem = DynamicItem.RRBDynamicItem
inner join I_RRBSalesPricingDynamicItem as SalesPricingDynamicItem on DynamicTotalFlow.RRBDynamicItem = SalesPricingDynamicItem.RRBDynamicItem
inner join I_RRBSalesPricingHeader as RRBSalesPricingHeader on SalesPricingDynamicItem.RRBSalesPricingDocument = RRBSalesPricingHeader.RRBSalesPricingDocument
left outer join P_RRBWrittenOffDynamicItem01 as JournalEntryItem on JournalEntryItem.AccountingDocument = DynamicItem.AccountingDocument
and JournalEntryItem.LedgerGLLineItem = DynamicItem.LedgerGLLineItem
and JournalEntryItem.ControllingObject = DynamicItem.ControllingObject
and JournalEntryItem.TransactionCurrency = DynamicItem.TransactionCurrency
and JournalEntryItem.FiscalYear = DynamicItem.FiscalYear
association [0..1] to I_BillingPlanItemUsageText as _ItemUsage on DynamicItem.BillingPlanItemUsage = _ItemUsage.BillingPlanItemUsage
and DynamicItem.BillingDocumentCategory = _ItemUsage.BillingPlanUsageCategory
and _ItemUsage.Language = $session.system_language
association [0..1] to I_BillingControlCategory as _BillingControlCategory on $projection.BillingControlCategory = _BillingControlCategory.BillingControlCategory
association [0..1] to I_SalesDocumentItem as _SalesDocumentItem on $projection.SalesDocument = _SalesDocumentItem.SalesDocument
and $projection.SalesDocumentItem = _SalesDocumentItem.SalesDocumentItem
//association [0..1] to I_Employment as _Employment on $projection.Personnel = _Employment.EmploymentInternalID
association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement_1 on $projection.Personnel = _PersonWorkAgreement_1.PersonWorkAgreement //changed as per HR Decoupling in CE 2008 - Scope change
{
key SalesPricingDynamicItem.RRBSalesPricingDocument,
key DynamicTotalFlow.RRBDynamicItem, /* Changed for longtext */
SalesPricingDynamicItem.SalesDocumentItem,
SalesPricingDynamicItem.Material,
RRBSalesPricingHeader.SalesDocument,
DynamicItem.BillingDocumentCategory as BillingDocumentCategory,
DynamicItem.BillingPlanItemUsage as BillingPlanItemUsage,
DynamicItem.ControllingObject as ControllingObject,
DynamicItem.WorkItem as WorkItem,
DynamicItem.Personnel as Personnel,
DynamicItem.DocumentItemText as DocumentItemText,
DynamicItem.BillingPlan as BillingPlan,
DynamicItem.BillingPlanItem as BillingPlanItem,
DynamicItem.TimeSheetOvertimeCategory,
_ItemUsage.BillingPlanItemUsageName as BillingPlanItemUsageName,
//For non-billable DI's
case
when DynamicItem.BillingControlCategory is null
then 'BILLABLE'
else DynamicItem.BillingControlCategory
end as BillingControlCategory,
case
when JournalEntryItem.ServicesRenderedDate != '00000000'
then JournalEntryItem.ServicesRenderedDate
else
JournalEntryItem.DocumentDate end as PostingDate,
cast( _SalesDocumentItem.SalesDocumentItemText as ps_s4_arktx preserving type ) as SalesDocumentItemText,
JournalEntryItem.LedgerGLLineItem as LedgerGLLineItem,
JournalEntryItem.ReferenceDocument as ReferenceDocument,
JournalEntryItem.ReferenceDocumentItem as ReferenceDocumentItem,
JournalEntryItem.FiscalYear as FiscalYear,
JournalEntryItem.CompanyCode as CompanyCode,
JournalEntryItem.AccountingDocument as AccountingDocument,
/*======================= AD01LISF Feilds================================*/
DynamicTotalFlow.BilledAmountInTransacCrcy as BilledAmountInTransacCrcy,
DynamicTotalFlow.RejectedAmtInTransCrcy as RejectedAmtInTransCrcy,
DynamicTotalFlow.RejectedQuantity as RejectedQuantity,
DynamicTotalFlow.BilledQuantity as BilledQuantity,
/*============= Units ================================*/
@Semantics.currencyCode: true
DynamicItem.TransactionCurrency as TransactionCurrency,
@Semantics.currencyCode: true
SalesPricingDynamicItem.DocumentCurrency as DocumentCurrency,
@Semantics.unitOfMeasure: true
DynamicItem.UnitOfMeasure as UnitOfMeasure,
/*============= Quantities ===========================*/
@Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
SalesPricingDynamicItem.TotalQuantity as OpenQuantity,
@Semantics.quantity.unitOfMeasure: 'UnitOfMeasure'
SalesPricingDynamicItem.TotalBillableQtyInBaseUnit as TotalBillableQtyInBaseUnit,
/*============= Amounts ==============================*/
SalesPricingDynamicItem.NetAmount as NetAmount,
SalesPricingDynamicItem.AmountToBeBilledInTransacCrcy as AmountToBeBilledInTransacCrcy,
SalesPricingDynamicItem.AmtToBePostponedInTransacCrcy as AmtToBePostponedInTransacCrcy,
SalesPricingDynamicItem.AmtToBeRejectedInTransacCrcy as AmtToBeRejectedInTransacCrcy,
//SalesPricingDynamicItem.BilledAmountInTransacCrcy as BilledAmountInTransacCrcy,
SalesPricingDynamicItem.CanceledAmountInTransacCrcy as CanceledAmountInTransacCrcy,
SalesPricingDynamicItem.OriginalAmountInTransacCrcy as OriginalAmountInTransacCrcy,
SalesPricingDynamicItem.TotalAmountInTransactionCrcy as OpenAmountInTransCrcy,
/*============= Associations =========================*/
SalesPricingDynamicItem._Material,
SalesPricingDynamicItem._DocumentCurrency,
DynamicItem._UnitOfMeasure,
DynamicItem._TransactionCurrency,
_ItemUsage,
_SalesDocumentItem,
_BillingControlCategory,
//_Employment,
_PersonWorkAgreement_1,
DynamicTotalFlow._RRBDynamicItemLongText
}
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