C_SetlMgmtDocumentProcessFlow

DDL: C_SETLMGMTDOCUMENTPROCESSFLOW Type: view CONSUMPTION Package: WZRE

Settlement Management Document Process Flow

C_SetlMgmtDocumentProcessFlow is a Consumption CDS View that provides data about "Settlement Management Document Process Flow" in SAP S/4HANA. It reads from 8 data sources and exposes 334 fields with key fields SettlmtMgmtDocRelshpUUID, SettlmtPrecdgDocFlowNumber, SettlmtSubsqntDocFlowNumber, SettlmtPrecdgDocFlowNumber, SettlmtSubsqntDocFlowNumber. It has 7 associations to related views. Part of development package WZRE.

Data Sources (8)

SourceAliasJoin Type
R_BscCndnContrRefcdCndnContr R_BscCndnContrRefcdCndnContr union
R_ConditionContract R_ConditionContract union
R_ConditionContract R_ConditionContract union
R_SettlmtMgmtDocProcessFlow R_SettlmtMgmtDocProcessFlow from
R_SettlmtMgmtDocProcessFlow R_SettlmtMgmtDocProcessFlow union
R_SettlmtMgmtDocProcessFlow R_SettlmtMgmtDocProcessFlow union
R_SettlmtMgmtDocProcessFlow R_SettlmtMgmtDocProcessFlow union
R_SettlmtMgmtDocProcessFlow R_SettlmtMgmtDocProcessFlow union

Associations (7)

CardinalityTargetAliasCondition
[0..1] R_SettlmtMgmtDoc _PrecdgSettlmtDocument R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgSettlmtDocument.SettlmtMgmtDoc
[0..1] R_SettlmtMgmtDoc _SubsqntSettlmtDocument R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc = _SubsqntSettlmtDocument.SettlmtMgmtDoc
[0..*] C_SetlMgmtDocumentProcessFlow _PrecdgDocFlow $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber and $projection.SettlmtPrecdgDocCat = _PrecdgDocFlow.SettlmtSubsqntDocCat
[0..*] C_SetlMgmtDocumentProcessFlow _SubsqntDocFlow $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber and $projection.SettlmtSubsqntDocCat = _SubsqntDocFlow.SettlmtPrecdgDocCat
[0..1] R_ConditionContract _PrecdgConditionContract R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgConditionContract.ConditionContract
[0..1] R_PurchasingDocument _PrecdgPurchasingDocument R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgPurchasingDocument.PurchasingDocument
[0..1] R_TrdgContr _PrecdgTradingContract R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgTradingContract.TradingContract

Annotations (14)

NameValueLevelField
EndUserText.label Settlement Management Document Process Flow view
AccessControl.authorizationCheck #MANDATORY view
AbapCatalog.sqlViewName CWLFSMTPROCFLOW view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.dataMaintenance #DISPLAY_ONLY view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
Metadata.allowExtensions false view
Metadata.ignorePropagatedAnnotations true view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (334)

KeyFieldSource TableSource FieldDescription
KEY SettlmtMgmtDocRelshpUUID R_SettlmtMgmtDocProcessFlow SettlmtMgmtDocRelshpUUID
KEY SettlmtPrecdgDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDoc
KEY SettlmtSubsqntDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDoc
SettlmtPrecdgDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocItem
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat _PrecdgSettlmtDocument SettlmtProcessCat
SettlmtPrecdgBusProcCat _PrecdgSettlmtDocument SettlmtBusProcCat
SettlmtPrecdgDocPartnerCat _PrecdgSettlmtDocument SettlmtPartnerCat
SettlmtPrecdgActlSettlmtDate _PrecdgSettlmtDocument ActualSettlmtDate
SettlmtPrecdgSettlmtDteCat _PrecdgSettlmtDocument SettlmtDateCat
SettlmtPrecdgSalesOrg _PrecdgSettlmtDocument SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgSettlmtDocument DistributionChannel
SettlmtPrecdgDivision _PrecdgSettlmtDocument Division
SettlmtPrecdgPurgOrganization _PrecdgSettlmtDocument PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgSettlmtDocument PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgSettlmtDocument CompanyCode
SettlmtPrecdgSetlMgmtDocCat _PrecdgSettlmtDocument SettlmtMgmtDocCat
SettlmtPrecdgSettlmtDocType _PrecdgSettlmtDocument SettlmtDocType
SettlmtPrecdgPersCostCenter _PrecdgSettlmtDocument PersonnelCostCenter
SettlmtPrecdgCndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocItem
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat _SubsqntSettlmtDocument SettlmtProcessCat
SettlmtSubsqntBusProcCat _SubsqntSettlmtDocument SettlmtBusProcCat
SettlmtSubsqntDocPartnerCat _SubsqntSettlmtDocument SettlmtPartnerCat
SettlmtSubsqntActlSettlmtDate _SubsqntSettlmtDocument ActualSettlmtDate
SettlmtSubsqntSettlmtDteCat _SubsqntSettlmtDocument SettlmtDateCat
SettlmtSubsqntSalesOrg _SubsqntSettlmtDocument SalesOrganization
SettlmtSubsqntDistrChannel _SubsqntSettlmtDocument DistributionChannel
SettlmtSubsqntDivision _SubsqntSettlmtDocument Division
SettlmtSubsqntPurgOrganization _SubsqntSettlmtDocument PurchasingOrganization
SettlmtSubsqntPurgGroup _SubsqntSettlmtDocument PurchasingGroup
SettlmtSubsqntCompanyCode _SubsqntSettlmtDocument CompanyCode
SettlmtSubsqntSetlMgmtDocCat _SubsqntSettlmtDocument SettlmtMgmtDocCat
SettlmtSubsqntSettlmtDocType _SubsqntSettlmtDocument SettlmtDocType
SettlmtSubsqntPersCostCenter _SubsqntSettlmtDocument PersonnelCostCenter
SettlmtSubsqntCndnContrType
SettlmtMgmtUIDocBehvrCat R_SettlmtMgmtDocProcessFlow SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
KEY SettlmtPrecdgDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDoc
KEY SettlmtSubsqntDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDoc
SettlmtPrecdgDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocItem
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat _PrecdgSettlmtDocument SettlmtProcessCat
SettlmtPrecdgBusProcCat _PrecdgSettlmtDocument SettlmtBusProcCat
SettlmtPrecdgDocPartnerCat _PrecdgSettlmtDocument SettlmtPartnerCat
SettlmtPrecdgActlSettlmtDate _PrecdgSettlmtDocument ActualSettlmtDate
SettlmtPrecdgSettlmtDteCat _PrecdgSettlmtDocument SettlmtDateCat
SettlmtPrecdgSalesOrg _PrecdgSettlmtDocument SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgSettlmtDocument DistributionChannel
SettlmtPrecdgDivision _PrecdgSettlmtDocument Division
SettlmtPrecdgPurgOrganization _PrecdgSettlmtDocument PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgSettlmtDocument PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgSettlmtDocument CompanyCode
SettlmtPrecdgSetlMgmtDocCat _PrecdgSettlmtDocument SettlmtMgmtDocCat
SettlmtPrecdgSettlmtDocType _PrecdgSettlmtDocument SettlmtDocType
SettlmtPrecdgPersCostCenter _PrecdgSettlmtDocument PersonnelCostCenter
SettlmtPrecdgCndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocItem
SettlmtSubsqntDocCat R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocCat
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat
SettlmtSubsqntBusProcCat
SettlmtSubsqntDocPartnerCat
SettlmtSubsqntActlSettlmtDate
SettlmtSubsqntSettlmtDteCat
SettlmtSubsqntSalesOrg
SettlmtSubsqntDistrChannel
SettlmtSubsqntDivision
SettlmtSubsqntPurgOrganization
SettlmtSubsqntPurgGroup
SettlmtSubsqntCompanyCode
SettlmtSubsqntSetlMgmtDocCat
SettlmtSubsqntSettlmtDocType
SettlmtSubsqntPersCostCenter
SettlmtSubsqntCndnContrType
SettlmtMgmtUIDocBehvrCat R_SettlmtMgmtDocProcessFlow SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
KEY SettlmtPrecdgDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDoc
KEY SettlmtSubsqntDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDoc
SettlmtPrecdgDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocItem
SettlmtPrecdgDocCat R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocCat
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg _PrecdgConditionContract SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgConditionContract DistributionChannel
SettlmtPrecdgDivision _PrecdgConditionContract Division
SettlmtPrecdgPurgOrganization _PrecdgConditionContract PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgConditionContract PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgConditionContract CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter _PrecdgConditionContract CndnContrWorkerCostCenter
SettlmtPrecdgCndnContrType _PrecdgConditionContract CndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocItem
SettlmtSubsqntDocCat R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocCat
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat _SubsqntSettlmtDocument SettlmtProcessCat
SettlmtSubsqntBusProcCat _SubsqntSettlmtDocument SettlmtBusProcCat
SettlmtSubsqntDocPartnerCat _SubsqntSettlmtDocument SettlmtPartnerCat
SettlmtSubsqntActlSettlmtDate _SubsqntSettlmtDocument ActualSettlmtDate
SettlmtSubsqntSettlmtDteCat _SubsqntSettlmtDocument SettlmtDateCat
SettlmtSubsqntSalesOrg _SubsqntSettlmtDocument SalesOrganization
SettlmtSubsqntDistrChannel _SubsqntSettlmtDocument DistributionChannel
SettlmtSubsqntDivision _SubsqntSettlmtDocument Division
SettlmtSubsqntPurgOrganization _SubsqntSettlmtDocument PurchasingOrganization
SettlmtSubsqntPurgGroup _SubsqntSettlmtDocument PurchasingGroup
SettlmtSubsqntCompanyCode _SubsqntSettlmtDocument CompanyCode
SettlmtSubsqntSetlMgmtDocCat _SubsqntSettlmtDocument SettlmtMgmtDocCat
SettlmtSubsqntSettlmtDocType _SubsqntSettlmtDocument SettlmtDocType
SettlmtSubsqntPersCostCenter _SubsqntSettlmtDocument PersonnelCostCenter
SettlmtSubsqntCndnContrType
SettlmtMgmtUIDocBehvrCat R_SettlmtMgmtDocProcessFlow SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
CndnContrUUIDasSettlmtMgmtDocRelshpUUID
KEY SettlmtPrecdgDocFlowNumber _PrecdgContract ConditionContract
KEY SettlmtSubsqntDocFlowNumber R_ConditionContract ConditionContract
SettlmtPrecdgDocFlowItem
SettlmtPrecdgDocCat
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg _PrecdgContract SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgContract DistributionChannel
SettlmtPrecdgDivision _PrecdgContract Division
SettlmtPrecdgPurgOrganization _PrecdgContract PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgContract PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgContract CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter _PrecdgContract CndnContrWorkerCostCenter
SettlmtPrecdgCndnContrType _PrecdgContract CndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem
SettlmtSubsqntDocCat
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat
SettlmtSubsqntBusProcCat
SettlmtSubsqntDocPartnerCat
SettlmtSubsqntActlSettlmtDate
SettlmtSubsqntSettlmtDteCat
SettlmtSubsqntSalesOrg R_ConditionContract SalesOrganization
SettlmtSubsqntDistrChannel R_ConditionContract DistributionChannel
SettlmtSubsqntDivision R_ConditionContract Division
SettlmtSubsqntPurgOrganization R_ConditionContract PurchasingOrganization
SettlmtSubsqntPurgGroup R_ConditionContract PurchasingGroup
SettlmtSubsqntCompanyCode R_ConditionContract CompanyCode
SettlmtSubsqntSetlMgmtDocCat
SettlmtSubsqntSettlmtDocType
SettlmtSubsqntPersCostCenter
SettlmtSubsqntCndnContrType R_ConditionContract CndnContrType
SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
KEY SettlmtPrecdgDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDoc
KEY SettlmtSubsqntDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDoc
SettlmtPrecdgDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocItem
SettlmtPrecdgDocCat
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg
SettlmtPrecdgDistrChannel
SettlmtPrecdgDivision
SettlmtPrecdgPurgOrganization _PrecdgPurchasingDocument PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgPurchasingDocument PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgPurchasingDocument CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter
SettlmtPrecdgCndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocItem
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat _SubsqntSettlmtDocument SettlmtProcessCat
SettlmtSubsqntBusProcCat _SubsqntSettlmtDocument SettlmtBusProcCat
SettlmtSubsqntDocPartnerCat _SubsqntSettlmtDocument SettlmtPartnerCat
SettlmtSubsqntActlSettlmtDate _SubsqntSettlmtDocument ActualSettlmtDate
SettlmtSubsqntSettlmtDteCat _SubsqntSettlmtDocument SettlmtDateCat
SettlmtSubsqntSalesOrg _SubsqntSettlmtDocument SalesOrganization
SettlmtSubsqntDistrChannel _SubsqntSettlmtDocument DistributionChannel
SettlmtSubsqntDivision _SubsqntSettlmtDocument Division
SettlmtSubsqntPurgOrganization _SubsqntSettlmtDocument PurchasingOrganization
SettlmtSubsqntPurgGroup _SubsqntSettlmtDocument PurchasingGroup
SettlmtSubsqntCompanyCode _SubsqntSettlmtDocument CompanyCode
SettlmtSubsqntSetlMgmtDocCat _SubsqntSettlmtDocument SettlmtMgmtDocCat
SettlmtSubsqntSettlmtDocType _SubsqntSettlmtDocument SettlmtDocType
SettlmtSubsqntPersCostCenter _SubsqntSettlmtDocument PersonnelCostCenter
SettlmtSubsqntCndnContrType
SettlmtMgmtUIDocBehvrCat R_SettlmtMgmtDocProcessFlow SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
KEY SettlmtPrecdgDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDoc
KEY SettlmtSubsqntDocFlowNumber R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDoc
SettlmtPrecdgDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtPrecdgDocItem
SettlmtPrecdgDocCat
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat _PrecdgTradingContract TrdgContrBusProcessCategory
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg _PrecdgTradingContract SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgTradingContract DistributionChannel
SettlmtPrecdgDivision _PrecdgTradingContract OrganizationDivision
SettlmtPrecdgPurgOrganization _PrecdgTradingContract PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgTradingContract PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgTradingContract CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter
SettlmtPrecdgCndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem R_SettlmtMgmtDocProcessFlow SettlmtSubsqntDocItem
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat _SubsqntSettlmtDocument SettlmtProcessCat
SettlmtSubsqntBusProcCat _SubsqntSettlmtDocument SettlmtBusProcCat
SettlmtSubsqntDocPartnerCat _SubsqntSettlmtDocument SettlmtPartnerCat
SettlmtSubsqntActlSettlmtDate _SubsqntSettlmtDocument ActualSettlmtDate
SettlmtSubsqntSettlmtDteCat _SubsqntSettlmtDocument SettlmtDateCat
SettlmtSubsqntSalesOrg _SubsqntSettlmtDocument SalesOrganization
SettlmtSubsqntDistrChannel _SubsqntSettlmtDocument DistributionChannel
SettlmtSubsqntDivision _SubsqntSettlmtDocument Division
SettlmtSubsqntPurgOrganization _SubsqntSettlmtDocument PurchasingOrganization
SettlmtSubsqntPurgGroup _SubsqntSettlmtDocument PurchasingGroup
SettlmtSubsqntCompanyCode _SubsqntSettlmtDocument CompanyCode
SettlmtSubsqntSetlMgmtDocCat _SubsqntSettlmtDocument SettlmtMgmtDocCat
SettlmtSubsqntSettlmtDocType _SubsqntSettlmtDocument SettlmtDocType
SettlmtSubsqntPersCostCenter _SubsqntSettlmtDocument PersonnelCostCenter
SettlmtSubsqntCndnContrType
SettlmtMgmtUIDocBehvrCat R_SettlmtMgmtDocProcessFlow SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
CndnContrUUIDasSettlmtMgmtDocRelshpUUID
KEY SettlmtPrecdgDocFlowNumber _PrecdgContract BasicConditionContract
KEY SettlmtSubsqntDocFlowNumber R_ConditionContract ConditionContract
SettlmtPrecdgDocFlowItem
SettlmtPrecdgDocCat
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg _PrecdgContract SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgContract DistributionChannel
SettlmtPrecdgDivision _PrecdgContract Division
SettlmtPrecdgPurgOrganization _PrecdgContract PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgContract PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgContract CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter
SettlmtPrecdgCndnContrType _PrecdgContract CndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem
SettlmtSubsqntDocCat
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat
SettlmtSubsqntBusProcCat
SettlmtSubsqntDocPartnerCat
SettlmtSubsqntActlSettlmtDate
SettlmtSubsqntSettlmtDteCat
SettlmtSubsqntSalesOrg R_ConditionContract SalesOrganization
SettlmtSubsqntDistrChannel R_ConditionContract DistributionChannel
SettlmtSubsqntDivision R_ConditionContract Division
SettlmtSubsqntPurgOrganization R_ConditionContract PurchasingOrganization
SettlmtSubsqntPurgGroup R_ConditionContract PurchasingGroup
SettlmtSubsqntCompanyCode R_ConditionContract CompanyCode
SettlmtSubsqntSetlMgmtDocCat
SettlmtSubsqntSettlmtDocType
SettlmtSubsqntPersCostCenter
SettlmtSubsqntCndnContrType R_ConditionContract CndnContrType
SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
KEY SettlmtPrecdgDocFlowNumber _PrecdgContract BasicConditionContract
KEY SettlmtSubsqntDocFlowNumber _SubsqntContract ConditionContract
SettlmtPrecdgDocFlowItem
SettlmtPrecdgDocCat
SettlmtPrecdgDocCatName
SettlmtPrecdgProcessCat
SettlmtPrecdgBusProcCat
SettlmtPrecdgDocPartnerCat
SettlmtPrecdgActlSettlmtDate
SettlmtPrecdgSettlmtDteCat
SettlmtPrecdgSalesOrg _PrecdgContract SalesOrganization
SettlmtPrecdgDistrChannel _PrecdgContract DistributionChannel
SettlmtPrecdgDivision _PrecdgContract Division
SettlmtPrecdgPurgOrganization _PrecdgContract PurchasingOrganization
SettlmtPrecdgPurgGroup _PrecdgContract PurchasingGroup
SettlmtPrecdgCompanyCode _PrecdgContract CompanyCode
SettlmtPrecdgSetlMgmtDocCat
SettlmtPrecdgSettlmtDocType
SettlmtPrecdgPersCostCenter
SettlmtPrecdgCndnContrType _PrecdgContract CndnContrType
SettlmtPrecdgBscCndnContr
SettlmtSubsqntDocFlowItem
SettlmtSubsqntDocCat
SettlmtSubsqntDocCatName
SettlmtSubsqntProcessCat
SettlmtSubsqntBusProcCat
SettlmtSubsqntDocPartnerCat
SettlmtSubsqntActlSettlmtDate
SettlmtSubsqntSettlmtDteCat
SettlmtSubsqntSalesOrg _SubsqntContract SalesOrganization
SettlmtSubsqntDistrChannel _SubsqntContract DistributionChannel
SettlmtSubsqntDivision _SubsqntContract Division
SettlmtSubsqntPurgOrganization _SubsqntContract PurchasingOrganization
SettlmtSubsqntPurgGroup _SubsqntContract PurchasingGroup
SettlmtSubsqntCompanyCode _SubsqntContract CompanyCode
SettlmtSubsqntSetlMgmtDocCat
SettlmtSubsqntSettlmtDocType
SettlmtSubsqntPersCostCenter
SettlmtSubsqntCndnContrType _SubsqntContract CndnContrType
SettlmtMgmtUIDocBehvrCat
SettlmtDocFlowDataSource
_SubsqntDocFlow _SubsqntDocFlow
_PrecdgDocFlow _PrecdgDocFlow
@EndUserText.label: 'Settlement Management Document Process Flow'

@AccessControl: {
    authorizationCheck: #MANDATORY,
    privilegedAssociations: ['_PrecdgDocFlow', '_SubsqntDocFlow' ]
    }

@AbapCatalog: {
  sqlViewName: 'CWLFSMTPROCFLOW',
  compiler.compareFilter: true,
  preserveKey: true,
  dataMaintenance: #DISPLAY_ONLY
  }

@VDM.viewType: #CONSUMPTION



@ObjectModel: {
 usageType.sizeCategory: #XXL,
 usageType.dataClass: #MIXED,
 usageType.serviceQuality: #D
 }

@Metadata: {
  allowExtensions: false,
  ignorePropagatedAnnotations: true
}
@ClientHandling.algorithm: #SESSION_VARIABLE

@AccessControl.personalData.blocking: #NOT_REQUIRED

define root view C_SetlMgmtDocumentProcessFlow
  as select from R_SettlmtMgmtDocProcessFlow

  association [0..1] to R_SettlmtMgmtDoc              as _PrecdgSettlmtDocument  on  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgSettlmtDocument.SettlmtMgmtDoc

  association [0..1] to R_SettlmtMgmtDoc              as _SubsqntSettlmtDocument on  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc = _SubsqntSettlmtDocument.SettlmtMgmtDoc

  association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow          on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                                 and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

  association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow         on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                                 and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{
  key       R_SettlmtMgmtDocProcessFlow.SettlmtMgmtDocRelshpUUID          as SettlmtMgmtDocRelshpUUID,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc                  as SettlmtPrecdgDocFlowNumber,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc                 as SettlmtSubsqntDocFlowNumber,

            // preceding:

            R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocItem              as SettlmtPrecdgDocFlowItem,
            case when R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat < '08' or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat = '11'
                then _PrecdgSettlmtDocument.SettlmtDocCat
                else R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat
            end                                                           as SettlmtPrecdgDocCat,
            cast( '' as val_text )                                        as SettlmtPrecdgDocCatName,
            _PrecdgSettlmtDocument.SettlmtProcessCat                      as SettlmtPrecdgProcessCat,
            _PrecdgSettlmtDocument.SettlmtBusProcCat                      as SettlmtPrecdgBusProcCat,
            _PrecdgSettlmtDocument.SettlmtPartnerCat                      as SettlmtPrecdgDocPartnerCat,
            _PrecdgSettlmtDocument.ActualSettlmtDate                      as SettlmtPrecdgActlSettlmtDate,
            _PrecdgSettlmtDocument.SettlmtDateCat                         as SettlmtPrecdgSettlmtDteCat,
            _PrecdgSettlmtDocument.SalesOrganization                      as SettlmtPrecdgSalesOrg,
            _PrecdgSettlmtDocument.DistributionChannel                    as SettlmtPrecdgDistrChannel,
            _PrecdgSettlmtDocument.Division                               as SettlmtPrecdgDivision,
            _PrecdgSettlmtDocument.PurchasingOrganization                 as SettlmtPrecdgPurgOrganization,
            _PrecdgSettlmtDocument.PurchasingGroup                        as SettlmtPrecdgPurgGroup,
            _PrecdgSettlmtDocument.CompanyCode                            as SettlmtPrecdgCompanyCode,
            _PrecdgSettlmtDocument.SettlmtMgmtDocCat                      as SettlmtPrecdgSetlMgmtDocCat,
            _PrecdgSettlmtDocument.SettlmtDocType                         as SettlmtPrecdgSettlmtDocType,
            _PrecdgSettlmtDocument.PersonnelCostCenter                    as SettlmtPrecdgPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtPrecdgCndnContrType,
            cast( '' as abap.char(10) )                                   as SettlmtPrecdgBscCndnContr,

            // subsequent:

            R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocItem             as SettlmtSubsqntDocFlowItem,
            case when R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat < '08' or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat = '11'
            then _SubsqntSettlmtDocument.SettlmtDocCat
            else R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat
            end                                                           as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                        as SettlmtSubsqntDocCatName,
            _SubsqntSettlmtDocument.SettlmtProcessCat                     as SettlmtSubsqntProcessCat,
            _SubsqntSettlmtDocument.SettlmtBusProcCat                     as SettlmtSubsqntBusProcCat,
            _SubsqntSettlmtDocument.SettlmtPartnerCat                     as SettlmtSubsqntDocPartnerCat,
            _SubsqntSettlmtDocument.ActualSettlmtDate                     as SettlmtSubsqntActlSettlmtDate,
            _SubsqntSettlmtDocument.SettlmtDateCat                        as SettlmtSubsqntSettlmtDteCat,
            _SubsqntSettlmtDocument.SalesOrganization                     as SettlmtSubsqntSalesOrg,
            _SubsqntSettlmtDocument.DistributionChannel                   as SettlmtSubsqntDistrChannel,
            _SubsqntSettlmtDocument.Division                              as SettlmtSubsqntDivision,
            _SubsqntSettlmtDocument.PurchasingOrganization                as SettlmtSubsqntPurgOrganization,
            _SubsqntSettlmtDocument.PurchasingGroup                       as SettlmtSubsqntPurgGroup,
            _SubsqntSettlmtDocument.CompanyCode                           as SettlmtSubsqntCompanyCode,
            _SubsqntSettlmtDocument.SettlmtMgmtDocCat                     as SettlmtSubsqntSetlMgmtDocCat,
            _SubsqntSettlmtDocument.SettlmtDocType                        as SettlmtSubsqntSettlmtDocType,
            _SubsqntSettlmtDocument.PersonnelCostCenter                   as SettlmtSubsqntPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtSubsqntCndnContrType,
            R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat          as SettlmtMgmtUIDocBehvrCat,
            cast( 'WBRF' as abap.char(6) )                                as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow


}
where

  (
       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '01'
    or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '02'
    or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '03'
    or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '04'
    or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '05'
    or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '06'
  )

  and(
       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '01'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '02'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '03'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '04'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '05'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '06'
  )
  and  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc        is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc         is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat = ''

union select from R_SettlmtMgmtDocProcessFlow

association [0..1] to R_SettlmtMgmtDoc              as _PrecdgSettlmtDocument on  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgSettlmtDocument.SettlmtMgmtDoc

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow         on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                              and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow        on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                              and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{

  key          R_SettlmtMgmtDocProcessFlow.SettlmtMgmtDocRelshpUUID          as SettlmtMgmtDocRelshpUUID,
  key          R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc                  as SettlmtPrecdgDocFlowNumber,
  key          R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc                 as SettlmtSubsqntDocFlowNumber,


               // preceding:

               R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocItem              as SettlmtPrecdgDocFlowItem,
               case when R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat < '08' or R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat = '11'
                   then _PrecdgSettlmtDocument.SettlmtDocCat
                   else R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat
               end                                                           as SettlmtPrecdgDocCat,
               cast( '' as val_text )                                        as SettlmtPrecdgDocCatName,
               _PrecdgSettlmtDocument.SettlmtProcessCat                      as SettlmtPrecdgProcessCat,
               _PrecdgSettlmtDocument.SettlmtBusProcCat                      as SettlmtPrecdgBusProcCat,
               _PrecdgSettlmtDocument.SettlmtPartnerCat                      as SettlmtPrecdgDocPartnerCat,
               _PrecdgSettlmtDocument.ActualSettlmtDate                      as SettlmtPrecdgActlSettlmtDate,
               _PrecdgSettlmtDocument.SettlmtDateCat                         as SettlmtPrecdgSettlmtDteCat,
               _PrecdgSettlmtDocument.SalesOrganization                      as SettlmtPrecdgSalesOrg,
               _PrecdgSettlmtDocument.DistributionChannel                    as SettlmtPrecdgDistrChannel,
               _PrecdgSettlmtDocument.Division                               as SettlmtPrecdgDivision,
               _PrecdgSettlmtDocument.PurchasingOrganization                 as SettlmtPrecdgPurgOrganization,
               _PrecdgSettlmtDocument.PurchasingGroup                        as SettlmtPrecdgPurgGroup,
               _PrecdgSettlmtDocument.CompanyCode                            as SettlmtPrecdgCompanyCode,
               _PrecdgSettlmtDocument.SettlmtMgmtDocCat                      as SettlmtPrecdgSetlMgmtDocCat,
               _PrecdgSettlmtDocument.SettlmtDocType                         as SettlmtPrecdgSettlmtDocType,
               _PrecdgSettlmtDocument.PersonnelCostCenter                    as SettlmtPrecdgPersCostCenter,
               cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtPrecdgCndnContrType,
               cast( '' as abap.char(10) )                                   as SettlmtPrecdgBscCndnContr,

               // subsequent:

               R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocItem             as SettlmtSubsqntDocFlowItem,
               R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat              as SettlmtSubsqntDocCat,
               cast( '' as val_text )                                        as SettlmtSubsqntDocCatName,
               ''                                                            as SettlmtSubsqntProcessCat,
               ''                                                            as SettlmtSubsqntBusProcCat,
               ''                                                            as SettlmtSubsqntDocPartnerCat,
               ''                                                            as SettlmtSubsqntActlSettlmtDate,
               ''                                                            as SettlmtSubsqntSettlmtDteCat,
               ''                                                            as SettlmtSubsqntSalesOrg,
               ''                                                            as SettlmtSubsqntDistrChannel,
               ''                                                            as SettlmtSubsqntDivision,
               ''                                                            as SettlmtSubsqntPurgOrganization,
               ''                                                            as SettlmtSubsqntPurgGroup,
               ''                                                            as SettlmtSubsqntCompanyCode,
               ''                                                            as SettlmtSubsqntSetlMgmtDocCat,
               ''                                                            as SettlmtSubsqntSettlmtDocType,
               ''                                                            as SettlmtSubsqntPersCostCenter,
               cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtSubsqntCndnContrType,
               R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat          as SettlmtMgmtUIDocBehvrCat,
               cast( 'WBRF' as abap.char(6) )                                as SettlmtDocFlowDataSource,

               // associations:

               _SubsqntDocFlow,
               _PrecdgDocFlow
}
where

       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '07'

  and(
       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = 'A1'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = 'A2'
  )
  and  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc        is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc         is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat = ''


// Preceding Condition Contract

union select from R_SettlmtMgmtDocProcessFlow

association [0..1] to R_ConditionContract           as _PrecdgConditionContract on  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgConditionContract.ConditionContract

association [0..1] to R_SettlmtMgmtDoc              as _SubsqntSettlmtDocument  on  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc = _SubsqntSettlmtDocument.SettlmtMgmtDoc

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow           on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                                and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow          on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                                and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{
  key       R_SettlmtMgmtDocProcessFlow.SettlmtMgmtDocRelshpUUID          as SettlmtMgmtDocRelshpUUID,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc                  as SettlmtPrecdgDocFlowNumber,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc                 as SettlmtSubsqntDocFlowNumber,

            // preceding:

            R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocItem              as SettlmtPrecdgDocFlowItem,
            R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat               as SettlmtPrecdgDocCat,
            cast( '' as val_text )                                        as SettlmtPrecdgDocCatName,
            ''                                                            as SettlmtPrecdgProcessCat,
            ''                                                            as SettlmtPrecdgBusProcCat,
            ''                                                            as SettlmtPrecdgDocPartnerCat,
            ''                                                            as SettlmtPrecdgActlSettlmtDate,
            ''                                                            as SettlmtPrecdgSettlmtDteCat,
            _PrecdgConditionContract.SalesOrganization                    as SettlmtPrecdgSalesOrg,
            _PrecdgConditionContract.DistributionChannel                  as SettlmtPrecdgDistrChannel,
            _PrecdgConditionContract.Division                             as SettlmtPrecdgDivision,
            _PrecdgConditionContract.PurchasingOrganization               as SettlmtPrecdgPurgOrganization,
            _PrecdgConditionContract.PurchasingGroup                      as SettlmtPrecdgPurgGroup,
            _PrecdgConditionContract.CompanyCode                          as SettlmtPrecdgCompanyCode,
            ''                                                            as SettlmtPrecdgSetlMgmtDocCat,
            ''                                                            as SettlmtPrecdgSettlmtDocType,
            _PrecdgConditionContract.CndnContrWorkerCostCenter            as SettlmtPrecdgPersCostCenter,
            _PrecdgConditionContract.CndnContrType                        as SettlmtPrecdgCndnContrType,
            cast( '' as abap.char(10) )                                   as SettlmtPrecdgBscCndnContr,

            // subsequent:

            R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocItem             as SettlmtSubsqntDocFlowItem,
            R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat              as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                        as SettlmtSubsqntDocCatName,
            _SubsqntSettlmtDocument.SettlmtProcessCat                     as SettlmtSubsqntProcessCat,
            _SubsqntSettlmtDocument.SettlmtBusProcCat                     as SettlmtSubsqntBusProcCat,
            _SubsqntSettlmtDocument.SettlmtPartnerCat                     as SettlmtSubsqntDocPartnerCat,
            _SubsqntSettlmtDocument.ActualSettlmtDate                     as SettlmtSubsqntActlSettlmtDate,
            _SubsqntSettlmtDocument.SettlmtDateCat                        as SettlmtSubsqntSettlmtDteCat,
            _SubsqntSettlmtDocument.SalesOrganization                     as SettlmtSubsqntSalesOrg,
            _SubsqntSettlmtDocument.DistributionChannel                   as SettlmtSubsqntDistrChannel,
            _SubsqntSettlmtDocument.Division                              as SettlmtSubsqntDivision,
            _SubsqntSettlmtDocument.PurchasingOrganization                as SettlmtSubsqntPurgOrganization,
            _SubsqntSettlmtDocument.PurchasingGroup                       as SettlmtSubsqntPurgGroup,
            _SubsqntSettlmtDocument.CompanyCode                           as SettlmtSubsqntCompanyCode,
            _SubsqntSettlmtDocument.SettlmtMgmtDocCat                     as SettlmtSubsqntSetlMgmtDocCat,
            _SubsqntSettlmtDocument.SettlmtDocType                        as SettlmtSubsqntSettlmtDocType,
            _SubsqntSettlmtDocument.PersonnelCostCenter                   as SettlmtSubsqntPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtSubsqntCndnContrType,
            R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat          as SettlmtMgmtUIDocBehvrCat,
            cast( 'WBRF' as abap.char(6) )                                as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow
}
where

       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '70'

  and(
       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '01'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '02'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '03'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '04'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '05'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '06'
  )
  and  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc        is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc         is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat = ''

union select from        R_ConditionContract

  left outer to one join R_ConditionContract as _PrecdgContract on R_ConditionContract.PrecedingConditionDocument = _PrecdgContract.ConditionContract

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow  on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                       and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                       and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat


{

  key       R_ConditionContract.CndnContrUUID          as SettlmtMgmtDocRelshpUUID,
  key       _PrecdgContract.ConditionContract          as SettlmtPrecdgDocFlowNumber,
  key       R_ConditionContract.ConditionContract      as SettlmtSubsqntDocFlowNumber,


            // preceding:

            '000000'                                   as SettlmtPrecdgDocFlowItem,
            '70'                                       as SettlmtPrecdgDocCat,
            cast( '' as val_text )                     as SettlmtPrecdgDocCatName,
            ''                                         as SettlmtPrecdgProcessCat,
            ''                                         as SettlmtPrecdgBusProcCat,
            ''                                         as SettlmtPrecdgDocPartnerCat,
            ''                                         as SettlmtPrecdgActlSettlmtDate,
            ''                                         as SettlmtPrecdgSettlmtDteCat,
            _PrecdgContract.SalesOrganization          as SettlmtPrecdgSalesOrg,
            _PrecdgContract.DistributionChannel        as SettlmtPrecdgDistrChannel,
            _PrecdgContract.Division                   as SettlmtPrecdgDivision,
            _PrecdgContract.PurchasingOrganization     as SettlmtPrecdgPurgOrganization,
            _PrecdgContract.PurchasingGroup            as SettlmtPrecdgPurgGroup,
            _PrecdgContract.CompanyCode                as SettlmtPrecdgCompanyCode,
            ''                                         as SettlmtPrecdgSetlMgmtDocCat,
            ''                                         as SettlmtPrecdgSettlmtDocType,
            _PrecdgContract.CndnContrWorkerCostCenter  as SettlmtPrecdgPersCostCenter,
            _PrecdgContract.CndnContrType              as SettlmtPrecdgCndnContrType,
            cast( '' as abap.char(10) )                as SettlmtPrecdgBscCndnContr,

            // subsequent:

            '000000'                                   as SettlmtSubsqntDocFlowItem,
            '70'                                       as SettlmtSubsqntDocCat,
            cast( '' as val_text )                     as SettlmtSubsqntDocCatName,
            ''                                         as SettlmtSubsqntProcessCat,
            ''                                         as SettlmtSubsqntBusProcCat,
            ''                                         as SettlmtSubsqntDocPartnerCat,
            ''                                         as SettlmtSubsqntActlSettlmtDate,
            ''                                         as SettlmtSubsqntSettlmtDteCat,
            R_ConditionContract.SalesOrganization      as SettlmtSubsqntSalesOrg,
            R_ConditionContract.DistributionChannel    as SettlmtSubsqntDistrChannel,
            R_ConditionContract.Division               as SettlmtSubsqntDivision,
            R_ConditionContract.PurchasingOrganization as SettlmtSubsqntPurgOrganization,
            R_ConditionContract.PurchasingGroup        as SettlmtSubsqntPurgGroup,
            R_ConditionContract.CompanyCode            as SettlmtSubsqntCompanyCode,
            ''                                         as SettlmtSubsqntSetlMgmtDocCat,
            ''                                         as SettlmtSubsqntSettlmtDocType,
            ''                                         as SettlmtSubsqntPersCostCenter,
            R_ConditionContract.CndnContrType          as SettlmtSubsqntCndnContrType,
            ''                                         as SettlmtMgmtUIDocBehvrCat,
            cast( 'WCOCO' as abap.char(6) )            as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow

}
where
  R_ConditionContract.PrecedingConditionDocument is not initial


//Preceding Purchase Order/Contract

union select from R_SettlmtMgmtDocProcessFlow

association [0..1] to R_PurchasingDocument          as _PrecdgPurchasingDocument on  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgPurchasingDocument.PurchasingDocument

association [0..1] to R_SettlmtMgmtDoc              as _SubsqntSettlmtDocument   on  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc = _SubsqntSettlmtDocument.SettlmtMgmtDoc

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow            on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                                 and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow           on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                                 and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{
  key       R_SettlmtMgmtDocProcessFlow.SettlmtMgmtDocRelshpUUID          as SettlmtMgmtDocRelshpUUID,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc                  as SettlmtPrecdgDocFlowNumber,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc                 as SettlmtSubsqntDocFlowNumber,

            // preceding:

            R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocItem              as SettlmtPrecdgDocFlowItem,
            '17'                                                          as SettlmtPrecdgDocCat,
            // Cache the category signifier of the associated Purchasing Document into the DocFlow Category Name

            cast(
            case when _PrecdgPurchasingDocument.PurchasingDocumentCategory = 'F'
                   or _PrecdgPurchasingDocument.PurchasingDocumentCategory = 'K'
                   then _PrecdgPurchasingDocument.PurchasingDocumentCategory
              else ''
            end as val_text )                                             as SettlmtPrecdgDocCatName,
            ''                                                            as SettlmtPrecdgProcessCat,
            ''                                                            as SettlmtPrecdgBusProcCat,
            ''                                                            as SettlmtPrecdgDocPartnerCat,
            ''                                                            as SettlmtPrecdgActlSettlmtDate,
            ''                                                            as SettlmtPrecdgSettlmtDteCat,
            ''                                                            as SettlmtPrecdgSalesOrg,
            ''                                                            as SettlmtPrecdgDistrChannel,
            ''                                                            as SettlmtPrecdgDivision,
            _PrecdgPurchasingDocument.PurchasingOrganization              as SettlmtPrecdgPurgOrganization,
            _PrecdgPurchasingDocument.PurchasingGroup                     as SettlmtPrecdgPurgGroup,
            _PrecdgPurchasingDocument.CompanyCode                         as SettlmtPrecdgCompanyCode,
            ''                                                            as SettlmtPrecdgSetlMgmtDocCat,
            ''                                                            as SettlmtPrecdgSettlmtDocType,
            ''                                                            as SettlmtPrecdgPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtPrecdgCndnContrType,
            cast( '' as abap.char(10) )                                   as SettlmtPrecdgBscCndnContr,


            // subsequent:

            R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocItem             as SettlmtSubsqntDocFlowItem,
            case when R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat < '08' or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat = '11'
              then _SubsqntSettlmtDocument.SettlmtDocCat
              else R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat
            end                                                           as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                        as SettlmtSubsqntDocCatName,
            _SubsqntSettlmtDocument.SettlmtProcessCat                     as SettlmtSubsqntProcessCat,
            _SubsqntSettlmtDocument.SettlmtBusProcCat                     as SettlmtSubsqntBusProcCat,
            _SubsqntSettlmtDocument.SettlmtPartnerCat                     as SettlmtSubsqntDocPartnerCat,
            _SubsqntSettlmtDocument.ActualSettlmtDate                     as SettlmtSubsqntActlSettlmtDate,
            _SubsqntSettlmtDocument.SettlmtDateCat                        as SettlmtSubsqntSettlmtDteCat,
            _SubsqntSettlmtDocument.SalesOrganization                     as SettlmtSubsqntSalesOrg,
            _SubsqntSettlmtDocument.DistributionChannel                   as SettlmtSubsqntDistrChannel,
            _SubsqntSettlmtDocument.Division                              as SettlmtSubsqntDivision,
            _SubsqntSettlmtDocument.PurchasingOrganization                as SettlmtSubsqntPurgOrganization,
            _SubsqntSettlmtDocument.PurchasingGroup                       as SettlmtSubsqntPurgGroup,
            _SubsqntSettlmtDocument.CompanyCode                           as SettlmtSubsqntCompanyCode,
            _SubsqntSettlmtDocument.SettlmtMgmtDocCat                     as SettlmtSubsqntSetlMgmtDocCat,
            _SubsqntSettlmtDocument.SettlmtDocType                        as SettlmtSubsqntSettlmtDocType,
            _SubsqntSettlmtDocument.PersonnelCostCenter                   as SettlmtSubsqntPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtSubsqntCndnContrType,
            R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat          as SettlmtMgmtUIDocBehvrCat,
            cast( 'WBRF' as abap.char(6) )                                as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow

}
where

  (
       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '17'
  )

  and(
       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '01'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '02'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '03'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '04'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '05'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '06'
  )
  and  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc        is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc         is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat = ''

//Preceding Trading Contract

union select from R_SettlmtMgmtDocProcessFlow

association [0..1] to R_TrdgContr                   as _PrecdgTradingContract  on  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc = _PrecdgTradingContract.TradingContract

association [0..1] to R_SettlmtMgmtDoc              as _SubsqntSettlmtDocument on  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc = _SubsqntSettlmtDocument.SettlmtMgmtDoc

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow          on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                               and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow         on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                               and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{
  key       R_SettlmtMgmtDocProcessFlow.SettlmtMgmtDocRelshpUUID          as SettlmtMgmtDocRelshpUUID,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc                  as SettlmtPrecdgDocFlowNumber,
  key       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc                 as SettlmtSubsqntDocFlowNumber,

            // preceding:

            R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocItem              as SettlmtPrecdgDocFlowItem,
            '10'                                                          as SettlmtPrecdgDocCat,
            cast( '' as val_text )                                        as SettlmtPrecdgDocCatName,
            ''                                                            as SettlmtPrecdgProcessCat,
            _PrecdgTradingContract.TrdgContrBusProcessCategory            as SettlmtPrecdgBusProcCat,
            ''                                                            as SettlmtPrecdgDocPartnerCat,
            ''                                                            as SettlmtPrecdgActlSettlmtDate,
            ''                                                            as SettlmtPrecdgSettlmtDteCat,
            _PrecdgTradingContract.SalesOrganization                      as SettlmtPrecdgSalesOrg,
            _PrecdgTradingContract.DistributionChannel                    as SettlmtPrecdgDistrChannel,
            _PrecdgTradingContract.OrganizationDivision                   as SettlmtPrecdgDivision,
            _PrecdgTradingContract.PurchasingOrganization                 as SettlmtPrecdgPurgOrganization,
            _PrecdgTradingContract.PurchasingGroup                        as SettlmtPrecdgPurgGroup,
            _PrecdgTradingContract.CompanyCode                            as SettlmtPrecdgCompanyCode,
            ''                                                            as SettlmtPrecdgSetlMgmtDocCat,
            ''                                                            as SettlmtPrecdgSettlmtDocType,
            ''                                                            as SettlmtPrecdgPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtPrecdgCndnContrType,
            cast( '' as abap.char(10) )                                   as SettlmtPrecdgBscCndnContr,


            // subsequent:

            R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocItem             as SettlmtSubsqntDocFlowItem,
            case when R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat < '08' or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat = '11'
              then _SubsqntSettlmtDocument.SettlmtDocCat
              else R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat
            end                                                           as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                        as SettlmtSubsqntDocCatName,
            _SubsqntSettlmtDocument.SettlmtProcessCat                     as SettlmtSubsqntProcessCat,
            _SubsqntSettlmtDocument.SettlmtBusProcCat                     as SettlmtSubsqntBusProcCat,
            _SubsqntSettlmtDocument.SettlmtPartnerCat                     as SettlmtSubsqntDocPartnerCat,
            _SubsqntSettlmtDocument.ActualSettlmtDate                     as SettlmtSubsqntActlSettlmtDate,
            _SubsqntSettlmtDocument.SettlmtDateCat                        as SettlmtSubsqntSettlmtDteCat,
            _SubsqntSettlmtDocument.SalesOrganization                     as SettlmtSubsqntSalesOrg,
            _SubsqntSettlmtDocument.DistributionChannel                   as SettlmtSubsqntDistrChannel,
            _SubsqntSettlmtDocument.Division                              as SettlmtSubsqntDivision,
            _SubsqntSettlmtDocument.PurchasingOrganization                as SettlmtSubsqntPurgOrganization,
            _SubsqntSettlmtDocument.PurchasingGroup                       as SettlmtSubsqntPurgGroup,
            _SubsqntSettlmtDocument.CompanyCode                           as SettlmtSubsqntCompanyCode,
            _SubsqntSettlmtDocument.SettlmtMgmtDocCat                     as SettlmtSubsqntSetlMgmtDocCat,
            _SubsqntSettlmtDocument.SettlmtDocType                        as SettlmtSubsqntSettlmtDocType,
            _SubsqntSettlmtDocument.PersonnelCostCenter                   as SettlmtSubsqntPersCostCenter,
            cast( lpad( '', 4, '') as wcb_contract_type preserving type ) as SettlmtSubsqntCndnContrType,
            R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat          as SettlmtMgmtUIDocBehvrCat,
            cast( 'WBRF' as abap.char(6) )                                as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow

}
where

  (
       R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDocCat      = '10'
  )

  and(
       R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '01'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '02'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '03'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '04'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '05'
    or R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDocCat     = '06'
  )
  and  R_SettlmtMgmtDocProcessFlow.SettlmtSubsqntDoc        is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtPrecdgDoc         is not initial
  and  R_SettlmtMgmtDocProcessFlow.SettlmtMgmtUIDocBehvrCat = ''

// Basic Contracts

union select from        R_ConditionContract

  left outer to one join R_BasicConditionContract as _PrecdgContract on R_ConditionContract.BasicConditionContract = _PrecdgContract.BasicConditionContract

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow  on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                       and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                       and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{

  key       R_ConditionContract.CndnContrUUID                                   as SettlmtMgmtDocRelshpUUID,
  key       _PrecdgContract.BasicConditionContract                              as SettlmtPrecdgDocFlowNumber,
  key       R_ConditionContract.ConditionContract                               as SettlmtSubsqntDocFlowNumber,


            // preceding:

            '000000'                                                            as SettlmtPrecdgDocFlowItem,
            '70'                                                                as SettlmtPrecdgDocCat,
            cast( '' as val_text )                                              as SettlmtPrecdgDocCatName,
            ''                                                                  as SettlmtPrecdgProcessCat,
            ''                                                                  as SettlmtPrecdgBusProcCat,
            ''                                                                  as SettlmtPrecdgDocPartnerCat,
            ''                                                                  as SettlmtPrecdgActlSettlmtDate,
            ''                                                                  as SettlmtPrecdgSettlmtDteCat,
            _PrecdgContract.SalesOrganization                                   as SettlmtPrecdgSalesOrg,
            _PrecdgContract.DistributionChannel                                 as SettlmtPrecdgDistrChannel,
            _PrecdgContract.Division                                            as SettlmtPrecdgDivision,
            _PrecdgContract.PurchasingOrganization                              as SettlmtPrecdgPurgOrganization,
            _PrecdgContract.PurchasingGroup                                     as SettlmtPrecdgPurgGroup,
            _PrecdgContract.CompanyCode                                         as SettlmtPrecdgCompanyCode,
            ''                                                                  as SettlmtPrecdgSetlMgmtDocCat,
            ''                                                                  as SettlmtPrecdgSettlmtDocType,
            ''                                                                  as SettlmtPrecdgPersCostCenter,
            _PrecdgContract.CndnContrType                                       as SettlmtPrecdgCndnContrType,
            cast( R_ConditionContract.BasicConditionContract as abap.char(10) ) as SettlmtPrecdgBscCndnContr,

            // subsequent:

            '000000'                                                            as SettlmtSubsqntDocFlowItem,
            '70'                                                                as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                              as SettlmtSubsqntDocCatName,
            ''                                                                  as SettlmtSubsqntProcessCat,
            ''                                                                  as SettlmtSubsqntBusProcCat,
            ''                                                                  as SettlmtSubsqntDocPartnerCat,
            ''                                                                  as SettlmtSubsqntActlSettlmtDate,
            ''                                                                  as SettlmtSubsqntSettlmtDteCat,
            R_ConditionContract.SalesOrganization                               as SettlmtSubsqntSalesOrg,
            R_ConditionContract.DistributionChannel                             as SettlmtSubsqntDistrChannel,
            R_ConditionContract.Division                                        as SettlmtSubsqntDivision,
            R_ConditionContract.PurchasingOrganization                          as SettlmtSubsqntPurgOrganization,
            R_ConditionContract.PurchasingGroup                                 as SettlmtSubsqntPurgGroup,
            R_ConditionContract.CompanyCode                                     as SettlmtSubsqntCompanyCode,
            ''                                                                  as SettlmtSubsqntSetlMgmtDocCat,
            ''                                                                  as SettlmtSubsqntSettlmtDocType,
            ''                                                                  as SettlmtSubsqntPersCostCenter,
            R_ConditionContract.CndnContrType                                   as SettlmtSubsqntCndnContrType,
            ''                                                                  as SettlmtMgmtUIDocBehvrCat,
            cast( 'WCOCOH' as abap.char(6) )                                    as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow

}
where
  R_ConditionContract.BasicConditionContract is not initial

// Basic Contracts and subsequent documents

union select from        R_BscCndnContrRefcdCndnContr

  left outer to one join R_BasicConditionContract as _PrecdgContract  on R_BscCndnContrRefcdCndnContr.BasicConditionContract = _PrecdgContract.BasicConditionContract

  left outer to one join R_ConditionContract      as _SubsqntContract on R_BscCndnContrRefcdCndnContr.BscCndnContrRefcdCndnContr = _SubsqntContract.ConditionContract

association [0..*] to C_SetlMgmtDocumentProcessFlow as _PrecdgDocFlow  on  $projection.SettlmtPrecdgDocFlowNumber = _PrecdgDocFlow.SettlmtSubsqntDocFlowNumber
                                                                       and $projection.SettlmtPrecdgDocCat        = _PrecdgDocFlow.SettlmtSubsqntDocCat

association [0..*] to C_SetlMgmtDocumentProcessFlow as _SubsqntDocFlow on  $projection.SettlmtSubsqntDocFlowNumber = _SubsqntDocFlow.SettlmtPrecdgDocFlowNumber
                                                                       and $projection.SettlmtSubsqntDocCat        = _SubsqntDocFlow.SettlmtPrecdgDocCat

{

  key       R_BscCndnContrRefcdCndnContr.BscCndnContrRefcdCndnContrUUID     as SettlmtMgmtDocRelshpUUID,
  key       _PrecdgContract.BasicConditionContract                          as SettlmtPrecdgDocFlowNumber,
  key       _SubsqntContract.ConditionContract                              as SettlmtSubsqntDocFlowNumber,


            // preceding:

            '000000'                                                        as SettlmtPrecdgDocFlowItem,
            '70'                                                            as SettlmtPrecdgDocCat,
            cast( '' as val_text )                                          as SettlmtPrecdgDocCatName,
            ''                                                              as SettlmtPrecdgProcessCat,
            ''                                                              as SettlmtPrecdgBusProcCat,
            ''                                                              as SettlmtPrecdgDocPartnerCat,
            ''                                                              as SettlmtPrecdgActlSettlmtDate,
            ''                                                              as SettlmtPrecdgSettlmtDteCat,
            _PrecdgContract.SalesOrganization                               as SettlmtPrecdgSalesOrg,
            _PrecdgContract.DistributionChannel                             as SettlmtPrecdgDistrChannel,
            _PrecdgContract.Division                                        as SettlmtPrecdgDivision,
            _PrecdgContract.PurchasingOrganization                          as SettlmtPrecdgPurgOrganization,
            _PrecdgContract.PurchasingGroup                                 as SettlmtPrecdgPurgGroup,
            _PrecdgContract.CompanyCode                                     as SettlmtPrecdgCompanyCode,
            ''                                                              as SettlmtPrecdgSetlMgmtDocCat,
            ''                                                              as SettlmtPrecdgSettlmtDocType,
            ''                                                              as SettlmtPrecdgPersCostCenter,
            _PrecdgContract.CndnContrType                                   as SettlmtPrecdgCndnContrType,
            cast( _PrecdgContract.BasicConditionContract as abap.char(10) ) as SettlmtPrecdgBscCndnContr,

            // subsequent:

            '000000'                                                        as SettlmtSubsqntDocFlowItem,
            '70'                                                            as SettlmtSubsqntDocCat,
            cast( '' as val_text )                                          as SettlmtSubsqntDocCatName,
            ''                                                              as SettlmtSubsqntProcessCat,
            ''                                                              as SettlmtSubsqntBusProcCat,
            ''                                                              as SettlmtSubsqntDocPartnerCat,
            ''                                                              as SettlmtSubsqntActlSettlmtDate,
            ''                                                              as SettlmtSubsqntSettlmtDteCat,
            _SubsqntContract.SalesOrganization                              as SettlmtSubsqntSalesOrg,
            _SubsqntContract.DistributionChannel                            as SettlmtSubsqntDistrChannel,
            _SubsqntContract.Division                                       as SettlmtSubsqntDivision,
            _SubsqntContract.PurchasingOrganization                         as SettlmtSubsqntPurgOrganization,
            _SubsqntContract.PurchasingGroup                                as SettlmtSubsqntPurgGroup,
            _SubsqntContract.CompanyCode                                    as SettlmtSubsqntCompanyCode,
            ''                                                              as SettlmtSubsqntSetlMgmtDocCat,
            ''                                                              as SettlmtSubsqntSettlmtDocType,
            ''                                                              as SettlmtSubsqntPersCostCenter,
            _SubsqntContract.CndnContrType                                  as SettlmtSubsqntCndnContrType,
            ''                                                              as SettlmtMgmtUIDocBehvrCat,
            cast( 'WCOCOI' as abap.char(6) )                                as SettlmtDocFlowDataSource,

            // associations:

            _SubsqntDocFlow,
            _PrecdgDocFlow

}
where
  R_BscCndnContrRefcdCndnContr.BscCndnContrRefcdCndnContr is not initial