C_OutboundDeliveryFs

DDL: C_OUTBOUNDDELIVERYFS SQL: COUTBDELIVFS Type: view CONSUMPTION Package: ODATA_LE_SHP_OBDLV_OBJPAGE

Outbound Delivery Object Page

C_OutboundDeliveryFs is a Consumption CDS View that provides data about "Outbound Delivery Object Page" in SAP S/4HANA. It reads from 1 data source (I_OutboundDelivery) and exposes 85 fields with key field OutboundDelivery. It has 6 associations to related views. Part of development package ODATA_LE_SHP_OBDLV_OBJPAGE.

Data Sources (1)

SourceAliasJoin Type
I_OutboundDelivery OutboundDelivery from

Associations (6)

CardinalityTargetAliasCondition
[0..*] C_SDDocumentPartnerCard _Partner $projection.OutboundDelivery = _Partner.SDDocument and _Partner.SDDocumentItem = '000000'
[0..*] C_OutboundDeliveryItemFs _OutboundDeliveryItemFs $projection.OutboundDelivery = _OutboundDeliveryItemFs.OutboundDelivery
[0..1] I_OverallPickingStatus _OverallPickingStatus $projection.OverallPickingStatus = _OverallPickingStatus.OverallPickingStatus
[1] E_DeliveryDocument _Extension $projection.OutboundDelivery = _Extension.DeliveryDocument
[0..1] C_SDDocumentPartnerCard _ShipToPartyPartnerCard OutboundDelivery.OutboundDelivery = _ShipToPartyPartnerCard.SDDocument and _ShipToPartyPartnerCard.PartnerFunction = 'WE' and _ShipToPartyPartnerCard.SDDocumentItem is initial
[0..1] C_SDDocumentPartnerCard _SoldToPartyPartnerCard OutboundDelivery.OutboundDelivery = _SoldToPartyPartnerCard.SDDocument and _SoldToPartyPartnerCard.PartnerFunction = 'AG' and _SoldToPartyPartnerCard.SDDocumentItem is initial

Annotations (20)

NameValueLevelField
AbapCatalog.sqlViewName COUTBDELIVFS view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Outbound Delivery Object Page view
Search.searchable true view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey OutboundDelivery view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
UI.headerInfo.typeName Outbound Delivery view
UI.headerInfo.typeNamePlural Outbound Deliveries view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.value OutboundDelivery view
UI.headerInfo.description.value DeliveryDocumentTypeName view
Consumption.semanticObject OutboundDelivery view

Fields (85)

KeyFieldSource TableSource FieldDescription
KEY OutboundDelivery OutboundDelivery
DeliveryDocumentTypeName
ShipToParty ShipToParty
ShipToPartyFullName Full Name Ship-to Party
SoldToParty SoldToParty
SoldToPartyFullName Full Name Sold-to Party
ShippingPoint ShippingPoint
OverallSDProcessStatusDesc
int1asOvrlSDProcessStatusCriticality
DeliveryDate DeliveryDate
int1asDeliveryDateCriticality
SalesOrganization SalesOrganization
HeaderGrossWeight
HeaderNetWeight HeaderNetWeight
HeaderWeightUnit HeaderWeightUnit
HeaderVolume HeaderVolume
HeaderVolumeUnit HeaderVolumeUnit
DocumentDate DocumentDate
DeliveryDocumentType
PickingDate PickingDate
int1asPickingDateCriticality
TransportationPlanningDate
LoadingDate LoadingDate
PlannedGoodsIssueDate
int1asPlannedGIDateCriticality
ActualGoodsMovementDate
OverallPickingStatus
OverallWarehouseActivityStatus OverallWarehouseActivityStatus Warehouse Management Status
OverallPickingConfStatus OverallPickingConfStatus Pick Confirmation Status
OverallPackingStatus OverallPackingStatus Packing Status
OverallGoodsMovementStatus OverallGoodsMovementStatus Goods Movement Status
int1asOvrlGdsMovementStsCriticality
DelivAdvncdShipgRcvgRlvnce DelivAdvncdShipgRcvgRlvnce Advanced Shipping and Receiving Relevance
ReadyForWarehouseExecStatus ReadyForWarehouseExecStatus Warehouse Execution Status
OverallChmlCmplncStatus OverallChmlCmplncStatus Product Marketability Status
int1asOvrlChmlCmplncStsCriticality
OverallDangerousGoodsStatus OverallDangerousGoodsStatus Dangerous Goods Status
int1asOvrlDngrsGdsStsCriticality
OverallSafetyDataSheetStatus OverallSafetyDataSheetStatus Safety Data Sheet Status
IntcoExtTransfOfCtrlDteTmeTmzn IntcoExtTransfOfCtrlDteTmeTmzn External Time Zone
IntcoExtActlTransfOfCtrlDteTme IntcoExtActlTransfOfCtrlDteTme
IntcoExtPlndTransfOfCtrlDteTme IntcoExtPlndTransfOfCtrlDteTme
IntcoIntTransfOfCtrlDteTmeTmzn IntcoIntTransfOfCtrlDteTmeTmzn Internal Time Zone
IntcoIntActlTransfOfCtrlDteTme IntcoIntActlTransfOfCtrlDteTme
IntcoIntPlndTransfOfCtrlDteTme IntcoIntPlndTransfOfCtrlDteTme
ExtPlndTransfOfCtrlFrmdDTVal External Planned Date
ExtActlTransfOfCtrlFrmdDTVal External Actual Date
IntPlndTransfOfCtrlFrmdDTVal Internal Planned Date
IntActlTransfOfCtrlFrmdDTVal Internal Actual Date
int1asOvrlSftyDataSheetStsCritlty
EU_DeliveryARCStatus EU_DeliveryARCStatus Excise Tax ARC Status
IsActive
ExciseMovementIsActive
IntTransfOfCtrlDteAreRelevant
ExtTransfOfCtrlDteAreRelevant
ProposedDeliveryRoute ProposedDeliveryRoute
OvrlTrdCmplncLegalCtrlChkSts OvrlTrdCmplncLegalCtrlChkSts Legal Control Check Status
OverallTrdCmplncEmbargoSts OverallTrdCmplncEmbargoSts
OvrlTrdCmplncSnctndListChkSts OvrlTrdCmplncSnctndListChkSts Watch List Screening Status
TradeComplianceIsInactive
_Partner _Partner
_ShipToPartyPartnerCard _ShipToPartyPartnerCard
_SoldToPartyPartnerCard _SoldToPartyPartnerCard
_ShipToParty _ShipToParty
_SoldToParty _SoldToParty
_ShippingPoint _ShippingPoint
_OverallPickingStatus _OverallPickingStatus
_OvrlWarehouseActyStatus _OvrlWarehouseActyStatus
_OverallPickingConfStatus _OverallPickingConfStatus
_OverallPackingStatus _OverallPackingStatus
_OverallGoodsMovementStatus _OverallGoodsMovementStatus
_OverallTrdCmplncEmbargoSts _OverallTrdCmplncEmbargoSts
_OvrlTrdCmplncSnctndListChkSts _OvrlTrdCmplncSnctndListChkSts
_OvrlTrdCmplncLegalCtrlChkSts _OvrlTrdCmplncLegalCtrlChkSts
_OutboundDeliveryItemFs _OutboundDeliveryItemFs
_SalesOrganization _SalesOrganization
_OverallChmlCmplncStatus _OverallChmlCmplncStatus
_OverallDangerousGoodsStatus _OverallDangerousGoodsStatus
_OvrlSftyDataSheetSts _OvrlSftyDataSheetSts
_ExternalTCOTimezone _ExternalTCOTimezone
_InternalTCOTimezone _InternalTCOTimezone
_ExciseTaxStatus _ExciseTaxStatus
_WarehouseExecutionStatus _WarehouseExecutionStatus
_DelivAdvncdShipgRcvgRlvnce _DelivAdvncdShipgRcvgRlvnce
_ProposedDeliveryRoute _ProposedDeliveryRoute
@AbapCatalog.sqlViewName: 'COUTBDELIVFS'
@ClientHandling.algorithm:#SESSION_VARIABLE
@VDM.viewType: #CONSUMPTION
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck:#CHECK
@AccessControl.privilegedAssociations: [ '_Partner', '_ShipToParty', '_SoldToParty', '_ShipToPartyPartnerCard', '_SoldToPartyPartnerCard' ]
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@EndUserText.label: 'Outbound Delivery Object Page'
@Search.searchable: true

@ObjectModel: {
   compositionRoot: true,
   semanticKey: ['OutboundDelivery'],
   representativeKey: 'OutboundDelivery',
   usageType.dataClass: #MIXED,
   usageType.serviceQuality: #D,
   usageType.sizeCategory: #XL
}

@UI.headerInfo: {
     typeName:     'Outbound Delivery',
     typeNamePlural: 'Outbound Deliveries',
     title: {
           type:   #STANDARD,
           value:  'OutboundDelivery'
    },
    description.value: 'DeliveryDocumentTypeName'
}

@Consumption.semanticObject: 'OutboundDelivery'

define view C_OutboundDeliveryFs
  as select from I_OutboundDelivery as OutboundDelivery
  association [0..*] to C_SDDocumentPartnerCard  as _Partner                on  $projection.OutboundDelivery = _Partner.SDDocument
                                                                            and _Partner.SDDocumentItem      = '000000'
  association [0..*] to C_OutboundDeliveryItemFs as _OutboundDeliveryItemFs on  $projection.OutboundDelivery = _OutboundDeliveryItemFs.OutboundDelivery
  association [0..1] to I_OverallPickingStatus   as _OverallPickingStatus   on  $projection.OverallPickingStatus = _OverallPickingStatus.OverallPickingStatus
  association [1]    to E_DeliveryDocument       as _Extension              on  $projection.OutboundDelivery = _Extension.DeliveryDocument

  association [0..1] to C_SDDocumentPartnerCard  as _ShipToPartyPartnerCard on  OutboundDelivery.OutboundDelivery = _ShipToPartyPartnerCard.SDDocument
                                                                            and _ShipToPartyPartnerCard.PartnerFunction      = 'WE'
                                                                            and _ShipToPartyPartnerCard.SDDocumentItem       is initial
  association [0..1] to C_SDDocumentPartnerCard  as _SoldToPartyPartnerCard on  OutboundDelivery.OutboundDelivery = _SoldToPartyPartnerCard.SDDocument
                                                                            and _SoldToPartyPartnerCard.PartnerFunction      = 'AG'
                                                                            and _SoldToPartyPartnerCard.SDDocumentItem       is initial
{

      // ********** FACET DEFINITION **********

      @UI.facet:[
        //Filter Facets

        { id:'GenericFilter',
          purpose: #FILTER,
          type: #FIELDGROUP_REFERENCE,
          targetQualifier: 'GenericFilter' },

        //Header Facets

        { id: 'HeaderFacet-Column1',
          purpose: #HEADER ,
          type: #FIELDGROUP_REFERENCE,
          // label: '',

          targetQualifier: 'HeaderColumn1',
          position: 10 },

        { id: 'HeaderFacet-Column2',
          purpose: #HEADER ,
          type: #FIELDGROUP_REFERENCE,
          // label: '',

          targetQualifier: 'HeaderColumn2',
          position: 20 },

        { id: 'HeaderFacet-DeliveryDate',
          purpose: #HEADER ,
          type: #DATAPOINT_REFERENCE,
          // label: 'Delivery Date',

          targetQualifier: 'DeliveryDate',
          position: 30 },

        // Body Facets

        // Facet 'General Infromation' - Parent (collection)

         { id:              'GeneralInformation',
           type:            #COLLECTION,
           label:           'General Information',
           position:        10 },

             // Facet for Fieldgroup 'General Info Block 1' - nested inside 'General Information'

             { id:              'GeneralInfoBlock1-ID',
               type:            #FIELDGROUP_REFERENCE,
               //label:           'Fieldgroup ',

               parentId:        'GeneralInformation', // Places this facet into 'General Information'

               targetQualifier: 'GeneralInfoBlock1',
               position:         10 },

              // Facet for Fieldgroup 'General Info Block 2' - nested inside 'General Information'

             { id:              'GeneralInfoBlock2-ID',
               type:            #FIELDGROUP_REFERENCE,
               //label:           'Fieldgroup ',

               parentId:        'GeneralInformation', // Places this facet into 'General Information'

               targetQualifier: 'GeneralInfoBlock2',
               position:         20 },

              // Facet for Fieldgroup 'General Info Block 3' - nested inside 'General Information'

             { id:              'GeneralInfoBlock3-ID',
               type:            #FIELDGROUP_REFERENCE,
               //label:           'Fieldgroup ',

               parentId:        'GeneralInformation', // Places this facet into 'General Information'

               targetQualifier: 'GeneralInfoBlock3',
               position:         30 },

               // Facet for Fieldgroup 'General Info Block 3' - nested inside 'General Information'

             { id:              'FG:TradeCompliance-ID',
               type:            #FIELDGROUP_REFERENCE,
               label:           'Trade Compliance Status',
               parentId:        'GeneralInformation', // Places this facet into 'General Information'

               targetQualifier: 'FG:TradeCompliance',
               position:         40 },

         // Facet 'Items'

         {  id: 'Items-ID',
            type: #LINEITEM_REFERENCE,
            label: 'Items',
            targetQualifier: 'OBDL_FS_Facet:Items',
            position: 20 ,
            targetElement: '_OutboundDeliveryItemFs' },

         // Facet 'Business Partners'

         {  id: 'BusinessPartners-ID',
            type: #CONTACT_REFERENCE,
            label: 'Business Partners',
            targetQualifier: 'Facet:BusinessPartners',
            position: 30 ,
            targetElement: '_Partner' },

         // Facet 'Output Management'

         {  id: 'OutputManagement',
            type: #COLLECTION,
            label: 'Output',
            position: 40
            }

      ]

      //Header

      //**********************************************************************************************

      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @UI.lineItem:[{position:1}]
      @UI.fieldGroup: { qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }
      @Consumption.semanticObject: 'OutboundDelivery'
  key OutboundDelivery,

      @UI.hidden: true
      cast( OutboundDelivery._DeliveryDocumentType._Text[1: Language=$session.system_language].DeliveryDocumentTypeName as bezei20) as DeliveryDocumentTypeName,

      @UI.fieldGroup: [ { qualifier: 'HeaderColumn1', position: 10, importance: #HIGH },
                        { qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @Consumption.semanticObject: 'Customer'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'D_CustomerCVH', element: 'Customer' } } ]
      @UI.textArrangement: #TEXT_FIRST
      @ObjectModel.text.element: ['ShipToPartyFullName']
      ShipToParty,

      @EndUserText.label: 'Full Name Ship-to Party'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_PARTNER_FULLNAME_F0233A'
      cast('' as ad_namtext )                                                                                                       as ShipToPartyFullName,

      @UI.fieldGroup: [{ qualifier: 'HeaderColumn1', position: 20, importance: #HIGH },
                       { qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @Consumption.semanticObject: 'Customer'
      @Consumption.valueHelpDefinition: [ { entity: { name: 'D_CustomerCVH', element: 'Customer' } } ]
      @UI.textArrangement: #TEXT_FIRST
      @ObjectModel.text.element: ['SoldToPartyFullName']
      SoldToParty,

      @EndUserText.label: 'Full Name Sold-to Party'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_PARTNER_FULLNAME_F0233A'
      cast('' as ad_namtext )                                                                                                       as SoldToPartyFullName,


      @UI.fieldGroup: [{ qualifier: 'HeaderColumn2', position: 20, importance: #MEDIUM},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @Consumption.valueHelpDefinition: [ { entity: { name: 'I_ShippingPointStdVH', element: 'ShippingPoint' } } ]
      @UI.textArrangement: #TEXT_FIRST
      ShippingPoint,

      @UI.fieldGroup: [{qualifier: 'HeaderColumn2', position: 10, importance: #MEDIUM, criticality: 'OvrlSDProcessStatusCriticality'},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      //      _OverallSDProcessStatusText.OverallSDProcessStatusDesc,

      cast(_OverallSDProcessStatus._Text[1: Language=$session.system_language].OverallSDProcessStatusDesc as gbstk_name)            as OverallSDProcessStatusDesc,

      @UI.hidden
      cast(
          case OverallSDProcessStatus
            when '' then 0
            when 'A' then 2
            when 'B' then 2
            when 'C' then 3
            else 0
          end as abap.int1
      )                                                                                                                             as OvrlSDProcessStatusCriticality,


      @UI:{ dataPoint:{ description: 'Delivery Date' , criticality: 'DeliveryDateCriticality', criticalityRepresentation: #WITH_ICON} }
      @UI.fieldGroup: [{qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      DeliveryDate,

      @UI.hidden
      cast(
          case
            when  OutboundDelivery.DeliveryDate < $session.system_date  and OverallSDProcessStatus != 'C' then 1
            else
              case
                when OutboundDelivery.DeliveryDate = $session.system_date  and OverallSDProcessStatus != 'C' then 2
                else
                  case
                    when OutboundDelivery.DeliveryDate > $session.system_date  and OverallSDProcessStatus != 'C' then 3
                    else 0
                  end
              end
          end as abap.int1
      )                                                                                                                             as DeliveryDateCriticality,


      //General Information

      //**********************************************************************************************

      @UI.fieldGroup: [
                       { qualifier: 'GeneralInfoBlock1', position: 10,  importance: #HIGH},
                       //{qualifier: 'HeaderColumn2', position: 20,  importance: #HIGH},

                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      SalesOrganization,

      @UI.fieldGroup: {qualifier: 'GeneralInfoBlock1', position: 20, importance: #HIGH}
      @Semantics.quantity: { unitOfMeasure: 'HeaderWeightUnit'}
      @Consumption.filter.hidden: true
      cast (HeaderGrossWeight as le_brgew)                                                                                          as HeaderGrossWeight,

      @UI.fieldGroup: {qualifier: 'GeneralInfoBlock1', position: 30, importance: #HIGH}
      @Consumption.filter.hidden: true
      @Semantics.quantity: { unitOfMeasure: 'HeaderWeightUnit'}
      HeaderNetWeight,

      @Semantics.unitOfMeasure: true
      @Consumption.filter.hidden: true
      HeaderWeightUnit,

      @UI.fieldGroup: {qualifier: 'GeneralInfoBlock1', position: 40,  importance: #HIGH}
      @Semantics.quantity: { unitOfMeasure: 'HeaderVolumeUnit'}
      @Consumption.filter.hidden: true
      HeaderVolume,

      @Semantics.unitOfMeasure: true
      @Consumption.filter.hidden: true
      HeaderVolumeUnit,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock2', position: 5, importance: #HIGH},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      DocumentDate,

      @ObjectModel.text.element: ['DeliveryDocumentTypeName']
      @UI.fieldGroup: {qualifier: 'GeneralInfoBlock1', position: 60,  importance: #HIGH}
      OutboundDelivery._DeliveryDocumentType.DeliveryDocumentType                                                                   as DeliveryDocumentType,

      @UI.fieldGroup: [{  qualifier: 'GeneralInfoBlock2',
                          position: 10,
                          importance: #HIGH,
                          criticality: 'PickingDateCriticality',
                          criticalityRepresentation: #WITHOUT_ICON },
                       {  qualifier: 'GenericFilter',
                          groupLabel: 'Outbound Delivery' }
                      ]
      PickingDate,

      @UI.hidden
      cast(
          case
            when OverallPickingStatus = '' then 0
            else
              case
                when  OutboundDelivery.PickingDate < $session.system_date and (OverallPickingStatus = 'A' or OverallPickingStatus = 'B')  then 1
                else
                  case
                    when OutboundDelivery.PickingDate = $session.system_date and (OverallPickingStatus = 'A' or OverallPickingStatus = 'B') then 2
                    else
                      case
                        when OutboundDelivery.PickingDate > $session.system_date and (OverallPickingStatus = 'A' or OverallPickingStatus = 'B') then 3
                        else 0
                      end
                  end
             end
          end as abap.int1
      )                                                                                                                             as PickingDateCriticality,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock2', position: 20, importance: #HIGH},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      cast( TransportationPlanningDate as tddat_plan)                                                                               as TransportationPlanningDate,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock2', position: 30, importance: #HIGH},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      LoadingDate,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock2',
                        position: 40,
                        importance: #HIGH,
                        criticality: 'PlannedGIDateCriticality',
                        criticalityRepresentation: #WITHOUT_ICON },
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      cast(PlannedGoodsIssueDate as wadak_plan)                                                                                     as PlannedGoodsIssueDate,

      @UI.hidden
      cast(
           case
            when OverallGoodsMovementStatus = 'C' then 0
            else
              case
                when OutboundDelivery.PlannedGoodsIssueDate < $session.system_date and OverallGoodsMovementStatus != 'C' then 1
                else
                  case
                    when OutboundDelivery.PlannedGoodsIssueDate = $session.system_date and OverallGoodsMovementStatus != 'C' then 2
                    else
                      case
                        when OutboundDelivery.PlannedGoodsIssueDate > $session.system_date and OverallGoodsMovementStatus != 'C' then 3
                        else 0
                      end
                  end
             end
          end as abap.int1
      )                                                                                                                             as PlannedGIDateCriticality,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock2',
                        position: 50,
                        importance: #HIGH,
                        criticality: 'ActualGIDateCriticality',
                        criticalityRepresentation: #WITHOUT_ICON },
                       {qualifier: 'GenericFilter',
                        groupLabel: 'Outbound Delivery' }
                      ]
      cast(ActualGoodsMovementDate as vdm_actualgmdate)                                                                             as ActualGoodsMovementDate,

      @UI.hidden
      case
        when OutboundDelivery.ActualGoodsMovementDate = '00000000' then 0
        else
          case
            when  OutboundDelivery.ActualGoodsMovementDate > OutboundDelivery.PlannedGoodsIssueDate then 1
            else
              case
                when OutboundDelivery.ActualGoodsMovementDate = OutboundDelivery.PlannedGoodsIssueDate then 2
                else
                  case
                    when OutboundDelivery.ActualGoodsMovementDate < OutboundDelivery.PlannedGoodsIssueDate then 3
                    else 0
                  end
              end
          end
      end                                                                                                                           as ActualGIDateCriticality,

      //Warehouse

      //**********************************************************************************************


      @Consumption.filter.hidden: true
      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 10, importance: #HIGH},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @ObjectModel.foreignKey.association: '_OverallPickingStatus'
      cast(OverallPickingStatus as kostk_code)                                                                                      as OverallPickingStatus,

      @Consumption.filter.hidden: true
      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 20, importance: #HIGH, label: 'Warehouse Management Status'},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @EndUserText.label: 'Warehouse Management Status'
      OverallWarehouseActivityStatus,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 30, importance: #HIGH, label: 'Pick Confirmation Status'},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @EndUserText.label: 'Pick Confirmation Status'
      OverallPickingConfStatus,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 40, importance: #HIGH, label: 'Packing Status'},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @EndUserText.label: 'Packing Status'
      OverallPackingStatus,

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 50, importance: #HIGH, label: 'Goods Movement Status',  criticality: 'OvrlGdsMovementStsCriticality'},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      @EndUserText.label: 'Goods Movement Status'
      OverallGoodsMovementStatus,

      @UI.hidden
      cast(
          case OverallGoodsMovementStatus
            when '' then 0
            when 'A' then 2
            when 'B' then 2
            when 'C' then 3
            else 0
         end as abap.int1
      )                                                                                                                             as OvrlGdsMovementStsCriticality,


      @ObjectModel.foreignKey.association: '_DelivAdvncdShipgRcvgRlvnce'
      @UI.fieldGroup: [ {qualifier: 'GeneralInfoBlock3', position: 100, importance: #HIGH},
                        {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' } ]
      @EndUserText.label: 'Advanced Shipping and Receiving Relevance'
      DelivAdvncdShipgRcvgRlvnce,


      @ObjectModel.foreignKey.association: '_WarehouseExecutionStatus'
      @UI.fieldGroup: [ {qualifier: 'GeneralInfoBlock3', position: 110, importance: #HIGH},
                        {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' } ]
      @EndUserText.label: 'Warehouse Execution Status'
      ReadyForWarehouseExecStatus,

      //Product Compliance Fields

      //**********************************************************************************************


      //Product Marketability

      @ObjectModel.foreignKey.association:'_OverallChmlCmplncStatus'
      @EndUserText.label: 'Product Marketability Status'
      @UI.fieldGroup: [//{qualifier: 'GeneralInfoBlock3',position: 60},

                       {qualifier: 'GeneralInfoBlock3',position: 60, criticality: 'OvrlChmlCmplncStsCriticality', criticalityRepresentation: #WITHOUT_ICON},
                       {qualifier: 'GenericFilter', groupLabel: 'Outbound Delivery' }]
      OverallChmlCmplncStatus,

      @UI.hidden
      cast(
        case OverallChmlCmplncStatus
          when '' then 0  //not relevant

          when 'A' then 3 //Approved

          when 'C' then 1 //Blocked Not Marketable

          when 'D' then 1 //Blocked Not Approved

          else 0
        end as abap.int1)                                                                                                           as OvrlChmlCmplncStsCriticality,

      //Dangerous Goods

      @ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
      @EndUserText.label: 'Dangerous Goods Status'
      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 70, criticality: 'OvrlDngrsGdsStsCriticality', criticalityRepresentation: #WITHOUT_ICON }]
      OverallDangerousGoodsStatus,

      @UI.hidden
      cast(
      case OverallDangerousGoodsStatus
        when '' then 0  //No Dangerous Goods, Not Relevant

        when 'A' then 3 //Ok Dangerous Goods Transport Allowed

        when 'B' then 2 //Warning dangerous Goods Transport Restricted

        when 'D' then 1 //Blocked - Dangerous Goods Transport Forbidden

        else 0
      end as abap.int1 )                                                                                                            as OvrlDngrsGdsStsCriticality,

      //Safety Data Sheet

      @ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
      @EndUserText.label: 'Safety Data Sheet Status '
      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 80 , criticality: 'OvrlSftyDataSheetStsCritlty', criticalityRepresentation: #WITHOUT_ICON}]
      OverallSafetyDataSheetStatus,






      @ObjectModel.foreignKey.association: '_ExternalTCOTimezone'
      @EndUserText.label: 'External Time Zone'
      IntcoExtTransfOfCtrlDteTmeTmzn,
      IntcoExtActlTransfOfCtrlDteTme,
      IntcoExtPlndTransfOfCtrlDteTme,

      @ObjectModel.foreignKey.association: '_InternalTCOTimezone'
      @EndUserText.label: 'Internal Time Zone'
      IntcoIntTransfOfCtrlDteTmeTmzn,
      IntcoIntActlTransfOfCtrlDteTme,
      IntcoIntPlndTransfOfCtrlDteTme,

      @EndUserText.label: 'External Planned Date'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_FORMAT_TCD'
      cast ('' as char0064)                                                                                                         as ExtPlndTransfOfCtrlFrmdDTVal,

      @EndUserText.label: 'External Actual Date'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_FORMAT_TCD'
      cast ('' as char0064)                                                                                                         as ExtActlTransfOfCtrlFrmdDTVal,

      @EndUserText.label: 'Internal Planned Date'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_FORMAT_TCD'
      cast ('' as char0064)                                                                                                         as IntPlndTransfOfCtrlFrmdDTVal,

      @EndUserText.label: 'Internal Actual Date'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_FORMAT_TCD'
      cast ('' as char0064)                                                                                                         as IntActlTransfOfCtrlFrmdDTVal,





      @UI.hidden
      cast (
      case OverallSafetyDataSheetStatus
        when '' then 0  //Ok - Not Relevant

        when 'A' then 3 //Ok - Approved

        when 'B' then 2 //Warning

        when 'D' then 1 //Blocked

        else 0
      end as abap.int1 )                                                                                                            as OvrlSftyDataSheetStsCritlty,


      //EMCS Integration - Excise Tax

      @UI.fieldGroup: [{qualifier: 'GeneralInfoBlock3', position: 90 }]
      @EndUserText.label: 'Excise Tax ARC Status'
      @ObjectModel.foreignKey.association: '_ExciseTaxStatus'
      EU_DeliveryARCStatus,


      @UI.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_OUTPUT_ACTIVE'
      cast('' as char005)                                                                                                           as IsActive, //is active flag for output control



      @UI.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_EMCS_ACTIVE'
      cast('' as xfeld)                                                                                                             as ExciseMovementIsActive,


      @UI.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_TCD_RELEVANT'
      cast('' as xfeld)                                                                                                             as IntTransfOfCtrlDteAreRelevant,

      @UI.hidden: true
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_TCD_RELEVANT'
      cast('' as xfeld)                                                                                                             as ExtTransfOfCtrlDteAreRelevant,


      @ObjectModel.foreignKey.association: '_ProposedDeliveryRoute'
      @UI.fieldGroup: {qualifier: 'GeneralInfoBlock1', position: 70,  importance: #HIGH}
      ProposedDeliveryRoute,

      //Trade Compliance Status

      @UI: { fieldGroup: [{
          qualifier: 'FG:TradeCompliance',
          position: 120,
          importance: #HIGH, hidden: #(TradeComplianceIsInactive) }],
  textArrangement: #TEXT_FIRST }
      @EndUserText.label: 'Legal Control Check Status'
      @ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
      OvrlTrdCmplncLegalCtrlChkSts,
      @UI: { fieldGroup: [{
        qualifier: 'FG:TradeCompliance',
        position: 130,
        importance: #HIGH, hidden: #(TradeComplianceIsInactive)  }],
  textArrangement: #TEXT_FIRST }
      @ObjectModel.foreignKey.association: '_OverallTrdCmplncEmbargoSts'
      OverallTrdCmplncEmbargoSts,
      @UI: { fieldGroup: [{
        qualifier: 'FG:TradeCompliance',
        position: 140,
        importance: #HIGH, hidden: #(TradeComplianceIsInactive)  }],
  textArrangement: #TEXT_FIRST }
      @EndUserText.label: 'Watch List Screening Status'
      @ObjectModel.foreignKey.association: '_OvrlTrdCmplncSnctndListChkSts'
      OvrlTrdCmplncSnctndListChkSts,

      @UI.hidden: true
      @Semantics.booleanIndicator: true
      @ObjectModel.readOnly: true
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_LE_TRADE_COMPL_RELEVANT'
      cast('' as boole_d preserving type )                                                                                          as TradeComplianceIsInactive,


      //Associations

      _Partner,
      @Consumption.filter.hidden: true
      _ShipToPartyPartnerCard,
      @Consumption.filter.hidden: true
      _SoldToPartyPartnerCard,
      @Consumption.filter.hidden: true
      _ShipToParty,
      @Consumption.filter.hidden: true
      _SoldToParty,
      @Consumption.filter.hidden: true
      _ShippingPoint,
      @Consumption.filter.hidden: true
      _OverallPickingStatus,
      @Consumption.filter.hidden: true
      _OvrlWarehouseActyStatus,
      @Consumption.filter.hidden: true
      _OverallPickingConfStatus,
      @Consumption.filter.hidden: true
      _OverallPackingStatus,
      @Consumption.filter.hidden: true
      _OverallGoodsMovementStatus,
      @Consumption.filter.hidden: true
      _OverallTrdCmplncEmbargoSts,
      @Consumption.filter.hidden: true
      _OvrlTrdCmplncSnctndListChkSts,
      @Consumption.filter.hidden: true
      _OvrlTrdCmplncLegalCtrlChkSts,
      _OutboundDeliveryItemFs,
      @Consumption.filter.hidden: true
      _SalesOrganization,
      @Consumption.filter.hidden: true
      _OverallChmlCmplncStatus,
      @Consumption.filter.hidden: true
      _OverallDangerousGoodsStatus,
      @Consumption.filter.hidden: true
      _OvrlSftyDataSheetSts,
      @Consumption.filter.hidden: true
      _ExternalTCOTimezone,
      @Consumption.filter.hidden: true
      _InternalTCOTimezone,
      @Consumption.filter.hidden: true
      _ExciseTaxStatus,
      @Consumption.filter.hidden: true
      _WarehouseExecutionStatus,
      @Consumption.filter.hidden: true
      _DelivAdvncdShipgRcvgRlvnce,
      @Consumption.filter.hidden: true
      _ProposedDeliveryRoute

}