P_RO_SAFTSupplier
Supplier Data for RO SAFT
P_RO_SAFTSupplier is a Consumption CDS View that provides data about "Supplier Data for RO SAFT" in SAP S/4HANA. It reads from 8 data sources and exposes 40 fields with key fields SourceLedger, Ledger, CompanyCode, Supplier, TaxID5. Part of development package GLO_FIN_IS_SAFT_RO.
Data Sources (8)
| Source | Alias | Join Type |
|---|---|---|
| I_RO_SAFTAccountMapping | Account | inner |
| I_RO_SAFTAccountMapping | Account | inner |
| P_RO_SAFTOneTimeSupplier | ots | inner |
| P_RO_SAFTSuplrAcctBal | P_RO_SAFTSuplrAcctBal | inner |
| P_RO_SAFTSuplrAcctBal | P_RO_SAFTSuplrAcctBal | inner |
| I_Supplier | Supplier | inner |
| P_RO_SAFTSupplierVATNumber | SupplierTaxType | from |
| P_RO_SAFTSupplierVATNumber | SupplierTaxType | union_all |
Parameters (4)
| Name | Type | Default |
|---|---|---|
| P_FromPostingDate | dats | |
| P_ToPostingDate | dats | |
| P_FiscalYear | gjahr | |
| P_AlternativeGLAccountIsUsed | saft_ro_alt_gl_account_flag |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PROSAFTSUPPLIER | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.private | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_INCLUDED | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Supplier Data for RO SAFT | view |
Fields (40)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SourceLedger | Balance | SourceLedger | |
| KEY | Ledger | Balance | Ledger | |
| KEY | CompanyCode | Balance | CompanyCode | |
| KEY | Supplier | |||
| KEY | TaxID5 | P_RO_SAFTSupplierVATNumber | BPTaxLongNumber | |
| KEY | RO_SAFTStandardAccount | I_RO_SAFTAccountMapping | RO_SAFTStandardAccount | |
| GLAccount | Balance | GLAccount | ||
| BusinessPartner | ||||
| SupplierName | ||||
| CountryISOCode | ||||
| Region | Address | Region | ||
| PostalCode | Address | PostalCode | ||
| CityName | Address | CityName | ||
| StreetName | Address | StreetName | ||
| HouseNumber | Address | HouseNumber | ||
| Building | Address | Building | ||
| StartingBalanceAmtInCoCodeCrcy | ||||
| EndingBalanceAmtInCoCodeCrcy | ||||
| P_FromPostingDate | ||||
| P_ToPostingDate | ||||
| P_FiscalYear | ||||
| SourceLedger | ||||
| KEY | Ledger | Balance | Ledger | |
| KEY | CompanyCode | Balance | CompanyCode | |
| KEY | Supplier | |||
| KEY | TaxID5 | P_RO_SAFTOneTimeSupplier | VATRegistration | |
| KEY | RO_SAFTStandardAccount | I_RO_SAFTAccountMapping | RO_SAFTStandardAccount | |
| GLAccount | Balance | GLAccount | ||
| BusinessPartner | ||||
| SupplierName | P_RO_SAFTOneTimeSupplier | SupplierName | ||
| CountryISOCode | P_RO_SAFTOneTimeSupplier | CountryISOCode | ||
| Region | P_RO_SAFTOneTimeSupplier | Region | ||
| PostalCode | P_RO_SAFTOneTimeSupplier | PostalCode | ||
| CityName | P_RO_SAFTOneTimeSupplier | CityName | ||
| StreetName | P_RO_SAFTOneTimeSupplier | StreetName | ||
| HouseNumber | ||||
| Building | ||||
| StartingBalanceAmtInCoCodeCrcy | ||||
| EndingBalanceAmtInCoCodeCrcy | ||||
| CompanyCodeCurrency | Balance | CompanyCodeCurrency |
@AbapCatalog.sqlViewName: 'PROSAFTSUPPLIER'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@VDM.private:true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Supplier Data for RO SAFT'
define view P_RO_SAFTSupplier
with parameters
P_FromPostingDate : dats,
P_ToPostingDate : dats,
P_FiscalYear : gjahr,
P_AlternativeGLAccountIsUsed : saft_ro_alt_gl_account_flag
as select from P_RO_SAFTSupplierVATNumber as SupplierTaxType
inner join P_RO_SAFTSuplrAcctBal(
P_FromPostingDate: $parameters.P_FromPostingDate,
P_ToPostingDate: $parameters.P_ToPostingDate,
P_FiscalYear: $parameters.P_FiscalYear,
P_AlternativeGLAccountIsUsed: $parameters.P_AlternativeGLAccountIsUsed
) as Balance on Balance.Supplier = SupplierTaxType.Supplier
and Balance.FiscalYear = $parameters.P_FiscalYear
inner join I_Supplier as Supplier on Supplier.Supplier = SupplierTaxType.Supplier
inner join I_RO_SAFTAccountMapping as Account on Account.ChartOfAccounts = Balance.ActiveChartOfAccounts
and Account.GLAccount = Balance.ActiveGLAccount
left outer to one join I_Address_2 as Address on Supplier.AddressID = Address.AddressID
and Address.AddressRepresentationCode is initial
and Address.AddressPersonID is initial
{
key Balance.SourceLedger,
key Balance.Ledger,
key Balance.CompanyCode,
key max(Balance.Supplier) as Supplier,
key SupplierTaxType.BPTaxLongNumber as TaxID5,
key Account.RO_SAFTStandardAccount,
Balance.GLAccount,
max(Supplier._SupplierToBusinessPartner._BusinessPartner.BusinessPartner) as BusinessPartner,
cast(Supplier.BusinessPartnerName1 as abap.char(81)) as SupplierName,
cast( Address._Country.CountryISOCode as land1 ) as CountryISOCode,
Address.Region,
Address.PostalCode,
Address.CityName,
Address.StreetName,
Address.HouseNumber,
Address.Building,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
sum(Balance.StartingBalanceAmtInCoCodeCrcy) as StartingBalanceAmtInCoCodeCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
sum(Balance.EndingBalanceAmtInCoCodeCrcy) as EndingBalanceAmtInCoCodeCrcy,
@Semantics.currencyCode:true
Balance.CompanyCodeCurrency
}
where
SupplierTaxType.BPTaxLongNumber <> '0'
and SupplierTaxType.BPTaxLongNumber <> 'EXCLUDE'
and(
Balance.StartingBalanceAmtInCoCodeCrcy <> 0
or Balance.NumberOfItems > 0
)
group by
Balance.SourceLedger,
Balance.Ledger,
Balance.CompanyCode,
SupplierTaxType.BPTaxLongNumber,
Account.RO_SAFTStandardAccount,
Balance.GLAccount,
Supplier.BusinessPartnerName1,
Address._Country.CountryISOCode,
Address.Region,
Address.PostalCode,
Address.CityName,
Address.StreetName,
Address.HouseNumber,
Address.Building,
Balance.CompanyCodeCurrency
union all select from P_RO_SAFTSupplierVATNumber as SupplierTaxType
inner join P_RO_SAFTOneTimeSupplier as ots on ots.Supplier = SupplierTaxType.Supplier
inner join P_RO_SAFTSuplrAcctBal(
P_FromPostingDate: $parameters.P_FromPostingDate,
P_ToPostingDate: $parameters.P_ToPostingDate,
P_FiscalYear: $parameters.P_FiscalYear,
P_AlternativeGLAccountIsUsed: $parameters.P_AlternativeGLAccountIsUsed
) as Balance on Balance.CompanyCode = ots.CompanyCode
and Balance.Supplier = ots.Supplier
and Balance.VATRegistration = ots.VATRegistration
and Balance.FiscalYear = $parameters.P_FiscalYear
inner join I_RO_SAFTAccountMapping as Account on Account.ChartOfAccounts = Balance.ActiveChartOfAccounts
and Account.GLAccount = Balance.ActiveGLAccount
{
key Balance.SourceLedger,
key Balance.Ledger,
key Balance.CompanyCode,
key max(Balance.Supplier) as Supplier,
key ots.VATRegistration as TaxID5,
key Account.RO_SAFTStandardAccount,
Balance.GLAccount,
'' as BusinessPartner,
ots.SupplierName,
ots.CountryISOCode,
ots.Region,
ots.PostalCode,
ots.CityName,
ots.StreetName,
'' as HouseNumber,
'' as Building,
sum(Balance.StartingBalanceAmtInCoCodeCrcy) as StartingBalanceAmtInCoCodeCrcy,
sum(Balance.EndingBalanceAmtInCoCodeCrcy) as EndingBalanceAmtInCoCodeCrcy,
@Semantics.currencyCode:true
Balance.CompanyCodeCurrency
}
where
SupplierTaxType.BPTaxLongNumber = '0'
and(
Balance.StartingBalanceAmtInCoCodeCrcy <> 0
or Balance.NumberOfItems > 0
)
group by
Balance.SourceLedger,
Balance.Ledger,
Balance.CompanyCode,
ots.VATRegistration,
Account.RO_SAFTStandardAccount,
Balance.GLAccount,
ots.SupplierName,
ots.CountryISOCode,
ots.Region,
ots.PostalCode,
ots.CityName,
ots.StreetName,
Balance.CompanyCodeCurrency
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