C_SlsDocFlfmtDelivDoc

DDL: C_SLSDOCFLFMTDELIVDOC SQL: CSOFDELIVDOC Type: view CONSUMPTION

Sales Doc Fulfillment: Delivery Document

C_SlsDocFlfmtDelivDoc is a Consumption CDS View that provides data about "Sales Doc Fulfillment: Delivery Document" in SAP S/4HANA. It reads from 1 data source (I_DeliveryDocument) and exposes 130 fields with key field DeliveryDocument. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_DeliveryDocument DelivDoc from

Associations (1)

CardinalityTargetAliasCondition
[0..1] E_DeliveryDocument _Extension $projection.DeliveryDocument = _Extension.DeliveryDocument

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #S view
EndUserText.label Sales Doc Fulfillment: Delivery Document view
VDM.viewType #CONSUMPTION view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName CSOFDELIVDOC view

Fields (130)

KeyFieldSource TableSource FieldDescription
KEY DeliveryDocument I_DeliveryDocument DeliveryDocument
DeliveryDocumentType I_DeliveryDocument DeliveryDocumentType
ShippingPoint I_DeliveryDocument ShippingPoint
ShippingPointName
SalesOrganization I_DeliveryDocument SalesOrganization
CompleteDeliveryIsDefined I_DeliveryDocument CompleteDeliveryIsDefined
DeliveryBlockReason I_DeliveryDocument DeliveryBlockReason
HeaderGrossWeight I_DeliveryDocument HeaderGrossWeight
HeaderWeightUnit I_DeliveryDocument HeaderWeightUnit
TotalNumberOfPackage I_DeliveryDocument TotalNumberOfPackage
ActualDeliveryAmount DelivDocItemAmount ActualDeliveryAmount
TransactionCurrency DelivDocItemAmount TransactionCurrency
SoldToParty I_DeliveryDocument SoldToParty
SoldToPartyName
CustomerClassification
AddressID
AddressObjectType SoldToPartyAddressInfo AddressObjectType
AddressPersonID SoldToPartyAddressInfo AddressPersonID
ShipToParty
ShipToPartyName
AddressIDasShipToPartyAddressID
ShipToPartyAddressObjectType ShipToPartyAddressInfo AddressObjectType
ShipToPartyAddressPersonID ShipToPartyAddressInfo AddressPersonID
BillToParty
BillToPartyName
PayerParty Partner PayerParty
PayerPartyName
PickingDate I_DeliveryDocument PickingDate
LoadingDate I_DeliveryDocument LoadingDate
ShippingType I_DeliveryDocument ShippingType
DeliveryDate I_DeliveryDocument DeliveryDate
TransportationPlanningDate
ShippingCondition I_DeliveryDocument ShippingCondition
PlannedGoodsIssueDate
ActualGoodsMovementDate
ProofOfDeliveryDate ProofOfDeliveryDate
BillingDocumentDate I_DeliveryDocument BillingDocumentDate
OverallSDProcessStatus I_DeliveryDocument OverallSDProcessStatus
TransportationPlanningStatus I_DeliveryDocument TransportationPlanningStatus
OverallDelivReltdBillgStatus
OverallGoodsMovementStatus I_DeliveryDocument OverallGoodsMovementStatus
OverallWarehouseActivityStatus
OverallProofOfDeliveryStatus I_DeliveryDocument OverallProofOfDeliveryStatus
OverallPackingStatus I_DeliveryDocument OverallPackingStatus
OverallPickingStatus I_DeliveryDocument OverallPickingStatus
HdrGeneralIncompletionStatus I_DeliveryDocument HdrGeneralIncompletionStatus
HeaderDelivIncompletionStatus I_DeliveryDocument HeaderDelivIncompletionStatus
HeaderBillgIncompletionStatus I_DeliveryDocument HeaderBillgIncompletionStatus
HeaderPackingIncompletionSts I_DeliveryDocument HeaderPackingIncompletionSts
HeaderPickgIncompletionStatus
HdrGoodsMvtIncompletionStatus
OvrlItmGeneralIncompletionSts I_DeliveryDocument OvrlItmGeneralIncompletionSts
OvrlItmDelivIncompletionSts I_DeliveryDocument OvrlItmDelivIncompletionSts
OvrlItmPackingIncompletionSts I_DeliveryDocument OvrlItmPackingIncompletionSts
OvrlItmPickingIncompletionSts
OvrlItmGdsMvtIncompletionSts
CentralCreditCheckStatus
FinDocCreditCheckStatus I_DeliveryDocument FinDocCreditCheckStatus
ExprtInsurCreditCheckStatus I_DeliveryDocument ExprtInsurCreditCheckStatus
PaytAuthsnCreditCheckSts I_DeliveryDocument PaytAuthsnCreditCheckSts
OverallChmlCmplncStatus
OverallDangerousGoodsStatus
OverallSafetyDataSheetStatus
OverallTrdCmplncEmbargoSts
OvrlTrdCmplncSnctndListChkSts
OvrlTrdCmplncLegalCtrlChkSts
int1asDeliveryBlockReasonCriticality
int1asCentralCreditChkStsCriticality
int1asPaytAuthCrdtChkStsCriticality
int1asFinDocCrdtCheckStsCriticality
int1asExprtInsurCrdtChkStsCritlty
int1asHdrGenIncompltnStsCriticality
int1asHdrDelivIncompltnStsCritlty
int1asHdrPickingIncompltnStsCritlty
int1asHdrPackgIncompltnStsCritlty
int1asHdrGdsMvtIncompltnStsCritlty
int1asHdrBillgIncompltnStsCritlty
int1asOvrlItmGenIncompltnStsCritlty
int1asOvrlItmDelivIncompltnCritlty
int1asOvrlItmPickingIncompltnCritlty
int1asOvrlItmPackgIncompltnCritlty
int1asOvrlItmGdsMvtIncompltnCritlty
int1asOvrlDelivReltdBillgStsCritlty
int1asTransportationPlngStsCritlty
int1asOverallPickingStsCriticality
int1asOvrlGdsMovementStsCriticality
int1asOvrlChmlCmplncStsCriticality
int1asOvrlDngrsGdsStsCriticality
int1asOvrlSftyDataSheetStsCritlty
int1asOvrlTrdCmplncEmbargoStsCritlty
int1asOvrlTrdCmplncSnctndListCritlty
int1asOvrlTrdCmplncLglCtrlStsCritlty
TradeComplianceIsActive
_DeliveryDocumentType _DeliveryDocumentType
_SalesOrganization _SalesOrganization
_DeliveryBlockReason _DeliveryBlockReason
_HeaderWeightUnit _HeaderWeightUnit
_TransactionCurrency DelivDocItemAmount _TransactionCurrency
_ShippingType _ShippingType
_ShippingCondition _ShippingCondition
_CustomerClassification
_OverallSDProcessStatus _OverallSDProcessStatus
_OverallGoodsMovementStatus _OverallGoodsMovementStatus
_TransportationPlanningSts _TransportationPlanningSts
_OverallDelivReltdBillgStatus _OverallDelivReltdBillgStatus
_OvrlWarehouseActyStatus _OvrlWarehouseActyStatus
_OverallProofOfDeliveryStatus _OverallProofOfDeliveryStatus
_OverallPackingStatus _OverallPackingStatus
_OverallPickingStatus _OverallPickingStatus
_HdrGeneralIncompletionStatus _HdrGeneralIncompletionStatus
_HeaderDelivIncompletionStatus _HeaderDelivIncompletionStatus
_HeaderBillgIncompletionStatus _HeaderBillgIncompletionStatus
_HeaderPackingIncompletionSts _HeaderPackingIncompletionSts
_HeaderPickgIncompletionStatus _HeaderPickgIncompletionStatus
_HdrGoodsMvtIncompletionStatus _HdrGoodsMvtIncompletionStatus
_OvrlItmGeneralIncompletionSts _OvrlItmGeneralIncompletionSts
_OvrlItmPackingIncompletionSts _OvrlItmPackingIncompletionSts
_OvrlItmPickingIncompletionSts _OvrlItmPickingIncompletionSts
_OvrlItmDelivIncompletionSts _OvrlItmDelivIncompletionSts
_OvrlItmGdsMvtIncompletionSts _OvrlItmGdsMvtIncompletionSts
_CentralCreditCheckStatus _CentralCreditCheckStatus
_FinDocCreditCheckStatus _FinDocCreditCheckStatus
_ExprtInsurCreditCheckStatus _ExprtInsurCreditCheckStatus
_PaytAuthsnCreditCheckSts _PaytAuthsnCreditCheckSts
_OverallChmlCmplncStatus _OverallChmlCmplncStatus
_OverallDangerousGoodsStatus _OverallDangerousGoodsStatus
_OvrlSftyDataSheetSts _OvrlSftyDataSheetSts
_OverallTrdCmplncEmbargoSts _OverallTrdCmplncEmbargoSts
_OvrlTrdCmplncSnctndListChkSts _OvrlTrdCmplncSnctndListChkSts
_OvrlTrdCmplncLegalCtrlChkSts _OvrlTrdCmplncLegalCtrlChkSts
@ClientHandling.algorithm: #SESSION_VARIABLE 
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #S

@EndUserText.label: 'Sales Doc Fulfillment: Delivery Document'
@VDM.viewType: #CONSUMPTION
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'CSOFDELIVDOC'

define view C_SlsDocFlfmtDelivDoc
as
select from I_DeliveryDocument as DelivDoc

left outer to one join P_SlsDocFlfmtDeliveryDoc1 as DelivDocItemAmount
           on DelivDoc.DeliveryDocument = DelivDocItemAmount.DeliveryDocument 

left outer to one join I_SDDocStandardPartner   as Partner
           on DelivDoc.DeliveryDocument = Partner.SDDocument            
         
left outer to one join  I_SDDocumentCompletePartners     as SoldToPartyAddressInfo      on DelivDoc.DeliveryDocument = SoldToPartyAddressInfo.SDDocument 
                                                                                        and SoldToPartyAddressInfo.SDDocumentItem = '000000'
                                                                                        and SoldToPartyAddressInfo.PartnerFunction = 'AG'   
           
left outer to one join  I_SDDocumentCompletePartners     as ShipToPartyAddressInfo      on DelivDoc.DeliveryDocument = ShipToPartyAddressInfo.SDDocument --AT 21.09.2018: new CE1902
                                                                                        and ShipToPartyAddressInfo.SDDocumentItem = '000000'
                                                                                        and ShipToPartyAddressInfo.PartnerFunction = 'WE'             
  
//Extensibility

  association [0..1] to E_DeliveryDocument as _Extension on $projection.DeliveryDocument = _Extension.DeliveryDocument        
              
{
   //Key

   key DelivDoc.DeliveryDocument,
   DelivDoc.DeliveryDocumentType,
   
   //Delivery

   @Consumption.valueHelpDefinition: [{ entity:  { name: 'I_ShippingPointStdVH', element: 'ShippingPoint' }}]
   @ObjectModel.text.element: [ 'ShippingPointName' ]
   DelivDoc.ShippingPoint,
   @UI.hidden: true
   DelivDoc._ShippingPoint._Text[1:Language=$session.system_language].ShippingPointName,
   DelivDoc.SalesOrganization,
   DelivDoc.CompleteDeliveryIsDefined,
   DelivDoc.DeliveryBlockReason,

   @DefaultAggregation: #NONE
   @Semantics.quantity.unitOfMeasure: 'HeaderWeightUnit'
   DelivDoc.HeaderGrossWeight,
   @Semantics.unitOfMeasure: true
   @ObjectModel.foreignKey.association: '_HeaderWeightUnit' 
   DelivDoc.HeaderWeightUnit,
      
   @DefaultAggregation: #NONE
   DelivDoc.TotalNumberOfPackage,
   
   @Semantics.amount.currencyCode: 'TransactionCurrency'
   @DefaultAggregation: #NONE
   DelivDocItemAmount.ActualDeliveryAmount as ActualDeliveryAmount,
   @Semantics.currencyCode:true
   @ObjectModel.foreignKey.association: '_TransactionCurrency'
   DelivDocItemAmount.TransactionCurrency,
      
   //Partner

   @ObjectModel.text.element:  [ 'SoldToPartyFullName' ]         
   DelivDoc.SoldToParty, 
   @Semantics.text: true  
   cast (DelivDoc._SoldToParty.CustomerName as vdm_sold_to_name) as SoldToPartyName,
   
 -- AT30.09.2021: changes for BP Adoption (CE2202)    --*FullName
   --cast(_SoldToParty._StandardAddress.FullName as fullnamesoldtoparty)                as SoldToPartyFullName, --old modeling (no document address, no multiple address)    
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_FULLNAME'
   cast( '' as fullnamesoldtoparty )                                      as SoldToPartyFullName,       
-- AT30.09.2021: end
   
   
   DelivDoc._SoldToParty.CustomerClassification,
   
   //_SoldToParty.AddressID,

-- AT19.05.2021: changes for BP Adoption (CE2108)    --*FormattedAddress   
   SoldToPartyAddressInfo.AddressID,
   SoldToPartyAddressInfo.AddressObjectType,
   SoldToPartyAddressInfo.AddressPersonID,     
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_ADDRESS'
   cast( ' ' as formattedaddresssoldtoparty  )as SoldToPartyFormattedAddress,
-- AT19.05.2021: end

   @ObjectModel.text.element:  [ 'ShipToPartyFullName' ] 
   DelivDoc.ShipToParty,
   @Semantics.text: true  
   cast (DelivDoc._ShipToParty.CustomerName as ship_to_name)     as ShipToPartyName,

 -- AT30.09.2021: changes for BP Adoption (CE2202)    --*FullName
   --cast (_ShipToParty._StandardAddress.FullName as fullnameshiptoparty)               as ShipToPartyFullName, --old modeling (no document address, no multiple address)    
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_FULLNAME'
   cast( '' as fullnameshiptoparty )                                      as ShipToPartyFullName,       
-- AT30.09.2021: end


   
-- AT19.05.2021: changes for BP Adoption (CE2108)    --*FormattedAddress      
   ShipToPartyAddressInfo.AddressID as ShipToPartyAddressID,
   ShipToPartyAddressInfo.AddressObjectType as ShipToPartyAddressObjectType,
   ShipToPartyAddressInfo.AddressPersonID as ShipToPartyAddressPersonID,
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_ADDRESS'
   cast( ' ' as formattedaddressshiptoparty  )as ShipToPartyFormattedAddress,                             --AT 29.09.2018: new CE1902
-- AT19.05.2021: end

   @ObjectModel.text.element: [ 'ShipToPartyCountryName' ]
    -- AT30.09.2021: changes for BP Adoption (CE2202)   
   --cast (_ShipToParty._StandardAddress.Country as shiptopartycountry)  as ShipToPartyCountry, --old modeling (no document address, no multiple address)    
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_COUNTRYNAME'
   cast( '' as shiptopartycountry )                                      as ShipToPartyCountry   ,    
-- AT30.09.2021: end
         
   @Semantics.text: true 
    -- AT30.09.2021: changes for BP Adoption (CE2202)  
   --cast (_ShipToParty._StandardAddress._Country._Text[1: Language = $session.system_language].CountryName as shiptopartycountryname)  as ShipToPartyCountryName, --old modeling (no document address, no multiple address)    
   @ObjectModel.readOnly: true
   @ObjectModel.virtualElement: true
   @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_COUNTRYNAME'
   cast( '' as shiptopartycountryname )                                      as ShipToPartyCountryName   ,    
-- AT30.09.2021: end   

   @ObjectModel.text.element:  [ 'BillToPartyName' ]
   Partner.BillToParty,
   @Semantics.text: true  
   cast (Partner._BillToParty.CustomerName as bill_to_name) as BillToPartyName, 

   @ObjectModel.text.element:  [ 'PayerPartyName' ]
   Partner.PayerParty,
   @Semantics.text: true   
   cast (Partner._PayerParty.CustomerName as payer_name) as PayerPartyName,   
        
   // Pick Pack Load

   DelivDoc.PickingDate,
   DelivDoc.LoadingDate,
     
   //Shipping

   DelivDoc.ShippingType,
   DelivDoc.DeliveryDate,
   cast(DelivDoc.TransportationPlanningDate as tddat_plan) as TransportationPlanningDate,
   DelivDoc.ShippingCondition,
   cast(DelivDoc.PlannedGoodsIssueDate as wadak_plan) as PlannedGoodsIssueDate,
   cast(ActualGoodsMovementDate as vdm_actualgmdate) as ActualGoodsMovementDate,
   ProofOfDeliveryDate,
   
   //Billing

   DelivDoc.BillingDocumentDate,
  
   // Status

   DelivDoc.OverallSDProcessStatus,
   DelivDoc.TransportationPlanningStatus,
   @ObjectModel.foreignKey.association: '_OverallDelivReltdBillgStatus'
   cast(DelivDoc.OverallDelivReltdBillgStatus as deliv_rel_billg_status preserving type) as OverallDelivReltdBillgStatus,
   DelivDoc.OverallGoodsMovementStatus,
   @ObjectModel.foreignKey.association: '_OvrlWarehouseActyStatus'   
   cast(DelivDoc.OverallWarehouseActivityStatus as vdm_lvstk preserving type) as OverallWarehouseActivityStatus,
   DelivDoc.OverallProofOfDeliveryStatus,
   DelivDoc.OverallPackingStatus,
   DelivDoc.OverallPickingStatus,
   DelivDoc.HdrGeneralIncompletionStatus,
   DelivDoc.HeaderDelivIncompletionStatus,
   DelivDoc.HeaderBillgIncompletionStatus, 
   DelivDoc.HeaderPackingIncompletionSts,
   @ObjectModel.foreignKey.association: '_HeaderPickgIncompletionStatus'
   cast(DelivDoc.HeaderPickgIncompletionStatus as hdr_pickg_incompletion_status preserving type ) as HeaderPickgIncompletionStatus, 
   @ObjectModel.foreignKey.association: '_HdrGoodsMvtIncompletionStatus'
   cast(DelivDoc.HdrGoodsMvtIncompletionStatus as hdr_gdsmvt_incompletion_status preserving type) as HdrGoodsMvtIncompletionStatus,
   DelivDoc.OvrlItmGeneralIncompletionSts,
   DelivDoc.OvrlItmDelivIncompletionSts, 
   DelivDoc.OvrlItmPackingIncompletionSts,
   @ObjectModel.foreignKey.association: '_OvrlItmPickingIncompletionSts'
   cast(DelivDoc.OvrlItmPickingIncompletionSts as ovrlitm_pickg_incompltn_sts preserving type ) as OvrlItmPickingIncompletionSts ,
   @ObjectModel.foreignKey.association: '_OvrlItmGdsMvtIncompletionSts'
   cast(DelivDoc.OvrlItmGdsMvtIncompletionSts as ovrlitm_gdsmvt_incompltn_sts preserving type ) as OvrlItmGdsMvtIncompletionSts , 
   @ObjectModel.foreignKey.association: '_CentralCreditCheckStatus'
   cast(DelivDoc.CentralCreditCheckStatus as central_credit_check_status preserving type) as  CentralCreditCheckStatus,
   DelivDoc.FinDocCreditCheckStatus,
   DelivDoc.ExprtInsurCreditCheckStatus, 
   DelivDoc.PaytAuthsnCreditCheckSts,  
   @ObjectModel.foreignKey.association: '_OverallChmlCmplncStatus'
   cast(DelivDoc.OverallChmlCmplncStatus as mon_tdd_total_pcsta preserving type) as OverallChmlCmplncStatus,
   @ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
   cast(DelivDoc.OverallDangerousGoodsStatus as mon_tdd_total_dgsta preserving type) as OverallDangerousGoodsStatus,
   @ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'   
   cast(DelivDoc.OverallSafetyDataSheetStatus as mon_tdd_total_sdssta preserving type) as OverallSafetyDataSheetStatus,     
   @ObjectModel.foreignKey.association: '_OverallTrdCmplncEmbargoSts'
   cast(DelivDoc.OverallTrdCmplncEmbargoSts as totembargochksts preserving type) as OverallTrdCmplncEmbargoSts, 
   @ObjectModel.foreignKey.association: '_OvrlTrdCmplncSnctndListChkSts'
   cast(DelivDoc.OvrlTrdCmplncSnctndListChkSts as totwatchlistscrngchksts preserving type) as OvrlTrdCmplncSnctndListChkSts, 
   @ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
   cast(DelivDoc.OvrlTrdCmplncLegalCtrlChkSts as totlglctrlchksts preserving type) as OvrlTrdCmplncLegalCtrlChkSts,  
   
   //Criticality

    @UI.hidden: true    
    cast(  
    case
    when DeliveryBlockReason <> ''                                        then 1  
                                                                          else 9 // no icon

    end as abap.int1
    )    as DeliveryBlockReasonCriticality, 
    
    @UI.hidden: true      
    cast(
    case
    when DelivDoc.CentralCreditCheckStatus = 'D'
      or DelivDoc.CentralCreditCheckStatus = 'A'                          then 3   //D - Released, A - Approved

    when DelivDoc.CentralCreditCheckStatus = ''                           then 0  // '' - not performed

                                                                          else 1  
    end as abap.int1
    )    as CentralCreditChkStsCriticality,
    
        @UI.hidden: true      
    cast(
    case
    when PaytAuthsnCreditCheckSts = 'D'
      or PaytAuthsnCreditCheckSts = 'A'                                   then 3  //D - Released, A - Approved

      when PaytAuthsnCreditCheckSts = ''                                  then 0  // '' - not performed

                                                                          else 1  
    end as abap.int1
    )    as PaytAuthCrdtChkStsCriticality, 
    
    @UI.hidden: true      
    cast(
    case
    when FinDocCreditCheckStatus = 'D'
      or FinDocCreditCheckStatus = 'A'                                    then 3   //D - Released, A - Approved

    when FinDocCreditCheckStatus = ''                                     then 0
                                                                          else 1  
    end as abap.int1
    )    as FinDocCrdtCheckStsCriticality, 
    
    @UI.hidden: true      
    cast(
    case
    when ExprtInsurCreditCheckStatus = 'D'
      or ExprtInsurCreditCheckStatus = 'A'                                then 3  //D - Released, A - Approved

    when ExprtInsurCreditCheckStatus = ''                                 then 0  // '' - not performed

                                                                          else 1  
    end as abap.int1
    )    as ExprtInsurCrdtChkStsCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when HdrGeneralIncompletionStatus <> 'C'                              then 1  // C - Complete

                                                                          else 3  
    end as abap.int1
    )    as HdrGenIncompltnStsCriticality,
    
    @UI.hidden: true      
    cast(
    case
    when HeaderDelivIncompletionStatus <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as HdrDelivIncompltnStsCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when HeaderPickgIncompletionStatus <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as HdrPickingIncompltnStsCritlty,
    
    @UI.hidden: true      
   cast(
   case
    when HeaderPackingIncompletionSts <> 'C'                               then 1  // C - Complete

                                                                          else 3  
   end as abap.int1
   )    as HdrPackgIncompltnStsCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when HdrGoodsMvtIncompletionStatus <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as HdrGdsMvtIncompltnStsCritlty,  
    
    @UI.hidden: true      
    cast(
    case
    when HeaderBillgIncompletionStatus <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as HdrBillgIncompltnStsCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when OvrlItmGeneralIncompletionSts <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as OvrlItmGenIncompltnStsCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when OvrlItmDelivIncompletionSts <> 'C'                                then 1  // C - Complete

                                                                           else 3  
    end as abap.int1
    )    as OvrlItmDelivIncompltnCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when OvrlItmPickingIncompletionSts <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as OvrlItmPickingIncompltnCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when OvrlItmPackingIncompletionSts <> 'C'                               then 1  // C - Complete

                                                                            else 3  
    end as abap.int1
    )    as OvrlItmPackgIncompltnCritlty,
    
    @UI.hidden: true      
    cast(
    case
    when OvrlItmGdsMvtIncompletionSts <> 'C'                               then 1  // C - Complete

                                                                           else 3 
    end as abap.int1
    )    as OvrlItmGdsMvtIncompltnCritlty,

    @UI.hidden: true      
    cast(
    case
    when OverallDelivReltdBillgStatus = 'C'                                                            then 3
    when OverallDelivReltdBillgStatus = ''                                                             then 0  // C - Fully Invoiced & '' - not rel. for bill

    when OverallDelivReltdBillgStatus = 'A' and DelivDoc.BillingDocumentDate < $session.system_date 
      or OverallDelivReltdBillgStatus = 'B' and DelivDoc.BillingDocumentDate < $session.system_date    then 1    
                                                                                                       else 2  
    end as abap.int1
    )    as OvrlDelivReltdBillgStsCritlty,
    
   @UI.hidden: true      
    cast(
    case
    when TransportationPlanningStatus = 'C'                                                                           then 3
      when TransportationPlanningStatus = ''                                                                          then 0  // C - Complete transp. planning & '' - not rel. transp plan

      when TransportationPlanningStatus = 'A' and DelivDoc.TransportationPlanningDate < $session.system_date 
      or TransportationPlanningStatus = 'B' and DelivDoc.TransportationPlanningDate < $session.system_date            then 1  
                                                                                                                      else 2  
    end as abap.int1
    )    as TransportationPlngStsCritlty,
    
    @UI.hidden: true   
    cast(   
    case
    when OverallPickingStatus = 'C'                                                    then 3
    when OverallPickingStatus = ''                                                     then 0 // C - fully picked & '' - not rel for picking     

    when OverallPickingStatus = 'A' and DelivDoc.PickingDate < $session.system_date 
      or OverallPickingStatus = 'B' and DelivDoc.PickingDate < $session.system_date    then 1          
                                                                                       else 2
    end as abap.int1
    )    as OverallPickingStsCriticality,
        
    @UI.hidden: true      
    cast(
    case
    when OverallGoodsMovementStatus = 'C'                                                                  then 3
      when OverallGoodsMovementStatus = ''                                                                 then 0  // C - Completet & '' - not yet started  

      when OverallGoodsMovementStatus = 'A' and DelivDoc.ActualGoodsMovementDate < $session.system_date 
      or OverallGoodsMovementStatus = 'B' and DelivDoc.ActualGoodsMovementDate < $session.system_date      then 1     
                                                                                                           else 2
    end as abap.int1
    )    as OvrlGdsMovementStsCriticality,
    
    @UI.hidden: true      
    cast(
    case
    when OverallChmlCmplncStatus = 'A'                                   then 3  // Approved

    when OverallChmlCmplncStatus = ''                                    then 0  // No Check

                                                                         else 1  // Blocked, Approval Rejected          

    end as abap.int1
    )    as OvrlChmlCmplncStsCriticality, 
    
    @UI.hidden: true      
    cast(
    case
    when OverallDangerousGoodsStatus = 'A'                              then 3  // Transport allowed                               

    when OverallDangerousGoodsStatus = '' or  
         OverallDangerousGoodsStatus = 'B'                              then 0  // Not relevant for Checks, Warning

 
                                                                        else 1  // Blocked                                        

    end as abap.int1
    )    as OvrlDngrsGdsStsCriticality, 
    
    @UI.hidden: true      
    cast(
    case
    when OverallSafetyDataSheetStatus  = 'A'                            then 3  // Ok approved                               

    when OverallSafetyDataSheetStatus  = '' or  
         OverallSafetyDataSheetStatus  = 'B'                            then 0  // Not relevant for Checks, Warning

                                                                        else 1  // Blocked                                        

    end as abap.int1
    )    as OvrlSftyDataSheetStsCritlty,     
    
     @UI.hidden: true      
    cast(
    case
    when OverallTrdCmplncEmbargoSts  = 'A'                            then 3  // Released                              

    when OverallTrdCmplncEmbargoSts  = ''                             then 0  // Not relevant for Checks

                                                                      else 1  // Partially Pending, Partially Blocked, Pending, Blocked                                        

    end as abap.int1
    )    as OvrlTrdCmplncEmbargoStsCritlty, 
    
    @UI.hidden: true      
    cast(
    case
    when OvrlTrdCmplncSnctndListChkSts = 'A'                          then 3  // Released                              

    when OvrlTrdCmplncSnctndListChkSts = ''                           then 0  // Not relevant for Checks

                                                                      else 1  // Partially Pending, Partially Blocked, Pending, Blocked                                        

    end as abap.int1
    )    as OvrlTrdCmplncSnctndListCritlty, 
    
    @UI.hidden: true      
    cast(
    case
    when OvrlTrdCmplncLegalCtrlChkSts = 'A'                           then 3  // Released                              

    when OvrlTrdCmplncLegalCtrlChkSts = ''                            then 0  // Not relevant for Checks

                                                                      else 1  // Partially Pending, Partially Blocked, Pending, Blocked                                        

    end as abap.int1
    )    as OvrlTrdCmplncLglCtrlStsCritlty,  
    
    @UI.hidden: true
    @Semantics.booleanIndicator: true    
    @ObjectModel.virtualElement
    @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOF_TRADE_COMPL_RELE'
    cast('' as boole_d preserving type )                             as TradeComplianceIsActive,  

   //Associations    

   _DeliveryDocumentType,
   _SalesOrganization,
   _DeliveryBlockReason,
   _HeaderWeightUnit,
    DelivDocItemAmount._TransactionCurrency,    
   _ShippingType,
   _ShippingCondition,
   DelivDoc._SoldToParty._CustomerClassification,  
   _OverallSDProcessStatus,  
   _OverallGoodsMovementStatus,
   _TransportationPlanningSts,
   _OverallDelivReltdBillgStatus,
   _OvrlWarehouseActyStatus,
   _OverallProofOfDeliveryStatus,
   _OverallPackingStatus,
   _OverallPickingStatus,
   _HdrGeneralIncompletionStatus,
   _HeaderDelivIncompletionStatus,
   _HeaderBillgIncompletionStatus,
   _HeaderPackingIncompletionSts,
   _HeaderPickgIncompletionStatus,
   _HdrGoodsMvtIncompletionStatus,
   _OvrlItmGeneralIncompletionSts,
   _OvrlItmPackingIncompletionSts,
   _OvrlItmPickingIncompletionSts,
   _OvrlItmDelivIncompletionSts,
   _OvrlItmGdsMvtIncompletionSts,
   _CentralCreditCheckStatus, 
   _FinDocCreditCheckStatus,
   _ExprtInsurCreditCheckStatus,
   _PaytAuthsnCreditCheckSts,
   _OverallChmlCmplncStatus,
   _OverallDangerousGoodsStatus,
   _OvrlSftyDataSheetSts, 
   _OverallTrdCmplncEmbargoSts,
   _OvrlTrdCmplncSnctndListChkSts, 
   _OvrlTrdCmplncLegalCtrlChkSts
    
    }
  

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_DELIVERYDOCUMENT",
"I_SDDOCSTANDARDPARTNER",
"I_SDDOCUMENTCOMPLETEPARTNERS",
"I_SHIPPINGPOINT",
"I_SHIPPINGPOINTTEXT",
"P_SLSDOCFLFMTDELIVERYDOC1"
],
"ASSOCIATED":
[
"E_DELIVERYDOCUMENT",
"I_CENTRALCREDITCHECKSTATUS",
"I_CURRENCY",
"I_CUSTOMERCLASSIFICATION",
"I_DELIVERYBLOCKREASON",
"I_DELIVERYDOCUMENTTYPE",
"I_EXPRTINSURCREDITCHECKSTATUS",
"I_FINDOCCREDITCHECKSTATUS",
"I_HDRBILLGINCOMPLETIONSTATUS",
"I_HDRDELIVINCOMPLETIONSTATUS",
"I_HDRGENINCOMPLETIONSTATUS",
"I_HDRGOODSMVTINCOMPLTNSTATUS",
"I_HDRPACKINGINCOMPLTNSTATUS",
"I_HDRPICKGINCOMPLTNSTATUS",
"I_OVERALLDELIVCHMLCMPLNCSTS",
"I_OVERALLDELIVRELTDBILLGSTS",
"I_OVERALLGOODSMOVEMENTSTATUS",
"I_OVERALLPACKINGSTATUS",
"I_OVERALLPICKINGSTATUS",
"I_OVERALLPROOFOFDELIVSTATUS",
"I_OVERALLSDPROCESSSTATUS",
"I_OVRLDELIVDNGRSGDSSTS",
"I_OVRLDELIVSFTYDATASHTSTS",
"I_OVRLITMDELIVINCOMPLETIONSTS",
"I_OVRLITMGDSMVTINCOMPLTNSTS",
"I_OVRLITMGENINCOMPLETIONSTS",
"I_OVRLITMPACKINGINCOMPLTNSTS",
"I_OVRLITMPICKINGINCOMPLTNSTS",
"I_OVRLTRADECMPLNCEMBARGOSTATUS",
"I_OVRLTRDCMPLNCLEGALCTRLCHKSTS",
"I_OVRLWAREHOUSEACTYSTATUS",
"I_OVTRDCMPLNCSNCTNDLISTCHKSTS",
"I_PAYTAUTHSNCREDITCHECKSTS",
"I_SALESORGANIZATION",
"I_SHIPPINGCONDITION",
"I_SHIPPINGTYPE",
"I_TRANSPORTATIONPLANNINGSTS",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_CUSTOMER",
"I_DELIVERYDOCUMENT",
"P_SLSDOCFLFMTDELIVERYDOC1"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/