R_WorkAssignmentPayment
Payment for Workforce Person
R_WorkAssignmentPayment is a Composite CDS View that provides data about "Payment for Workforce Person" in SAP S/4HANA. It reads from 4 data sources (I_CompanyCode, R_WorkAssignmentBP_1, R_WorkAssignment, I_SupplierCompany) and exposes 29 fields with key fields WorkAssignmentUUID, BankIdentification. It has 4 associations to related views. Part of development package WFD_WORKER_FACTSHEET_BL.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_CompanyCode | _CompanyCode | inner |
| R_WorkAssignmentBP_1 | PaymentBP | from |
| R_WorkAssignment | R_WorkAssignment | inner |
| I_SupplierCompany | VendorMaster | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | R_PaymentMethodText | _PaymentMethodText | _PaymentMethodText.PaymentMethodInEmplCentral = $projection.PaymentMethodInEmplCentral and _PaymentMethodText.Language = $session.system_language |
| [0..1] | I_PaymentMethodText | _FinancePaymentMethodText | _FinancePaymentMethodText.Country = $projection.CompanyCodeCountry and _FinancePaymentMethodText.PaymentMethod = $projection.PaymentMethod and _FinancePaymentMethodText.Language = $session.system_language |
| [0..1] | I_CountryText | _CountryText | $projection.BankCountryKey = _CountryText.Country and _CountryText.Language = $session.system_language |
| [0..1] | I_CurrencyText | _CurrencyText | $projection.Currency = _CurrencyText.Currency and _CurrencyText.Language = $session.system_language |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | Payment for Workforce Person | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view |
Fields (29)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | WorkAssignmentUUID | relationUUID | BusinessPartnerUUID | |
| KEY | BankIdentification | Bank | BankIdentification | |
| EmployeeInternalID | R_WorkAssignmentBP_1 | WorkAssignmentBusinessPartner | ||
| EmploymentInternalID | R_WorkAssignmentBP_1 | WorkforceAssignment | ||
| WorkforcePersonExternalID | R_WorkAssignmentBP_1 | WorkforcePersonExternalID | ||
| BankAccountHolderName | Bank | BankAccountHolderName | ||
| BankAccountName | Bank | BankAccountName | ||
| BankControlKey | Bank | BankControlKey | ||
| BankCountryKey | Bank | BankCountryKey | ||
| Bank | Bank | BankNumber | ||
| BankName | Bank | BankName | ||
| BankAccount | Bank | BankAccount | ||
| IBAN | Bank | IBAN | ||
| SWIFTCode | Bank | SWIFTCode | ||
| PaymentMethodsList | I_SupplierCompany | PaymentMethodsList | ||
| PaymentMethodInEmplCentral | _PaymentMethod | PaymentMethodInEmplCentral | ||
| datsendasValidityEndDate | ||||
| datsendasValidityStartDate | ||||
| BankReference | ||||
| Currency | I_CompanyCode | Currency | ||
| CompanyCode | I_SupplierCompany | CompanyCode | ||
| CompanyCodeCountry | I_CompanyCode | Country | ||
| PaymentMethod | ||||
| BusinessPartner | Bank | BusinessPartner | ||
| _WorkAssignment | _WorkAssignment | |||
| _CountryText | _CountryText | |||
| _CurrencyText | _CurrencyText | |||
| _FinancePaymentMethodText | _FinancePaymentMethodText | |||
| _PaymentMethodText | _PaymentMethodText |
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Payment for Workforce Person'
@Metadata.ignorePropagatedAnnotations: true
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MIXED
}
define view entity R_WorkAssignmentPayment
// as select from R_WorkAssignmentBP as PaymentBP
as select from R_WorkAssignmentBP_1 as PaymentBP
left outer to one join I_BusinessPartner as relationUUID on relationUUID.BusinessPartner = PaymentBP.WorkAssignmentBusinessPartner
left outer to one join I_Supplier_to_BusinessPartner as vendor on vendor.BusinessPartnerUUID = relationUUID.BusinessPartnerUUID
left outer to one join I_BusinessPartnerBank as Bank on Bank.BusinessPartner = PaymentBP.WorkAssignmentBusinessPartner
//Get Company Code Country
inner join R_WorkAssignment on R_WorkAssignment.WorkAssignmentUUID = relationUUID.BusinessPartnerUUID
inner join I_CompanyCode as _CompanyCode on _CompanyCode.CompanyCode = R_WorkAssignment.CompanyCode
inner join I_SupplierCompany as VendorMaster on VendorMaster.Supplier = vendor.Supplier
and VendorMaster.CompanyCode = R_WorkAssignment.CompanyCode
left outer to one join R_PaymentMethod as _PaymentMethod on _PaymentMethod.CompanyCodeCountry = _CompanyCode.Country
and _PaymentMethod.BankCountryKey = Bank.BankCountryKey
and _PaymentMethod.PaymentMethod = VendorMaster.PaymentMethodsList
//Payment Method Text
association [0..1] to R_PaymentMethodText as _PaymentMethodText on _PaymentMethodText.PaymentMethodInEmplCentral = $projection.PaymentMethodInEmplCentral
and _PaymentMethodText.Language = $session.system_language
//FI Payment Method Text
association [0..1] to I_PaymentMethodText as _FinancePaymentMethodText on _FinancePaymentMethodText.Country = $projection.CompanyCodeCountry //TBD $projection.BankCountryKey
and _FinancePaymentMethodText.PaymentMethod = $projection.PaymentMethod
and _FinancePaymentMethodText.Language = $session.system_language
association [0..1] to I_CountryText as _CountryText on $projection.BankCountryKey = _CountryText.Country
and _CountryText.Language = $session.system_language
association [0..1] to I_CurrencyText as _CurrencyText on $projection.Currency = _CurrencyText.Currency
and _CurrencyText.Language = $session.system_language
association to parent R_WorkAssignment as _WorkAssignment on $projection.WorkAssignmentUUID = _WorkAssignment.WorkAssignmentUUID
and $projection.EmploymentInternalID = _WorkAssignment.WorkAssignment
// pernr addition
{
key relationUUID.BusinessPartnerUUID as WorkAssignmentUUID,
key Bank.BankIdentification as BankIdentification,
PaymentBP.WorkAssignmentBusinessPartner as EmployeeInternalID,
PaymentBP.WorkforceAssignment as EmploymentInternalID,
PaymentBP.WorkforcePersonExternalID as WorkforcePersonExternalID,
Bank.BankAccountHolderName as BankAccountHolderName,
Bank.BankAccountName as BankAccountName,
Bank.BankControlKey as BankControlKey,
Bank.BankCountryKey as BankCountryKey,
Bank.BankNumber as Bank,
Bank.BankName as BankName,
Bank.BankAccount as BankAccount,
Bank.IBAN as IBAN,
Bank.SWIFTCode as SWIFTCode,
VendorMaster.PaymentMethodsList as PaymentMethodsList, //where cond
_PaymentMethod.PaymentMethodInEmplCentral,
// cast ( substring( cast(Bank.ValidityEndDate as abap.char( 17 ) ), 1, 8 ) as endda ) as ValidityEndDate,
@Semantics.businessDate.to: true
case when Bank.ValidityEndDate != 00010101000000
then tstmp_to_dats(Bank.ValidityEndDate,'UTC', $session.client, 'NULL')
else cast ( '99991231' as abap.dats)
end as ValidityEndDate,
// cast ( substring( cast(Bank.ValidityStartDate as abap.char( 17 ) ), 1, 8 ) as begda ) as ValidityStartDate,
@Semantics.businessDate.from: true
case when Bank.ValidityStartDate != 00010101000000
then tstmp_to_dats(Bank.ValidityStartDate,'UTC', $session.client, 'NULL')
else cast ( '00010101' as abap.dats )
end as ValidityStartDate,
cast(Bank.BankAccountReferenceText as refbk) as BankReference,
//Company Currency.
_CompanyCode.Currency,
VendorMaster.CompanyCode as CompanyCode,
_CompanyCode.Country as CompanyCodeCountry,
//FI Payment Method (T, P, F)
//cast( VendorMaster.PaymentMethodsList as wfd_payment_method ) as WorkerPaymentMethod,
cast( VendorMaster.PaymentMethodsList as farp_schzw_bseg ) as PaymentMethod,
// relationUUID.AuthorizationGroup as WorkforceAuthorizationGroup,
// cast( lpad('',80,' ') as /shcm/pay_currency ) as WrkFrcPaymentCurrency,
// cast( lpad('',80,' ') as wfd_pay_currency ) as WrkFrcPaymentCurrency,
Bank.BusinessPartner,
_WorkAssignment,
_CountryText,
_CurrencyText,
_FinancePaymentMethodText,
_PaymentMethodText
}
where
VendorMaster.PaymentMethodsList <> ''
and relationUUID.BusinessPartnerCategory = '1'
and(
Bank.BankNumber is not null
or Bank.BankAccount is not null
or Bank.IBAN is not null
or VendorMaster.CompanyCode is not null
)
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