C_SalesOrderWithoutChargeFS

DDL: C_SALESORDERWITHOUTCHARGEFS SQL: CORDWOCHARGEFS Type: view CONSUMPTION Package: ODATA_SD_SALESORDER_UI

Sales Order without Charge

C_SalesOrderWithoutChargeFS is a Consumption CDS View that provides data about "Sales Order without Charge" in SAP S/4HANA. It reads from 1 data source (I_SalesOrderWithoutCharge) and exposes 44 fields with key field SalesOrderWithoutCharge. It has 7 associations to related views. Part of development package ODATA_SD_SALESORDER_UI.

Data Sources (1)

SourceAliasJoin Type
I_SalesOrderWithoutCharge OrderWOCharge from

Associations (7)

CardinalityTargetAliasCondition
[0..1] C_SoldToValueHelp _SoldToPartyVH $projection.SoldToParty = _SoldToPartyVH.Customer
[0..*] C_SalesOrderWithoutChargeItmFS _SalesOrderWithoutChargeItmFS $projection.SalesOrderWithoutCharge = _SalesOrderWithoutChargeItmFS.SalesOrderWithoutCharge
[0..*] C_SDDocumentPartnerCard _SDDocumentPartnerCard $projection.SalesOrderWithoutCharge = _SDDocumentPartnerCard.SDDocument and _SDDocumentPartnerCard.SDDocumentItem = '000000'
[0..1] I_SlsOrdWthoutChrgPartner _ShipToParty OrderWOCharge.SalesOrderWithoutCharge = _ShipToParty.SalesOrderWithoutCharge and _ShipToParty.PartnerFunction = 'WE'
[0..1] C_SalesDocumentUserVH _CreatedByUser OrderWOCharge.CreatedByUser = _CreatedByUser.UserID
[0..1] C_SalesDocumentUserVH _LastChangedByUser OrderWOCharge.LastChangedByUser = _LastChangedByUser.UserID
[1] E_SalesDocumentBasic _Extension $projection.SalesOrderWithoutCharge = _Extension.SalesDocument

Annotations (18)

NameValueLevelField
AbapCatalog.sqlViewName CORDWOCHARGEFS view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
EndUserText.label Sales Order without Charge view
Search.searchable true view
ObjectModel.representativeKey SalesOrderWithoutCharge view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #CONSUMPTION view
UI.headerInfo.typeName Sales Order Without Charge view
UI.headerInfo.typeNamePlural Sales Orders Without Charge view
UI.headerInfo.title.type #STANDARD view
UI.headerInfo.title.value SalesDocumentTypeName view
Consumption.semanticObject SalesOrderWithoutCharge view

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY SalesOrderWithoutCharge I_SalesOrderWithoutCharge SalesOrderWithoutCharge
SalesOrderWithoutChargeType I_SalesOrderWithoutCharge SalesOrderWithoutChargeType
SoldToParty I_SalesOrderWithoutCharge SoldToParty
SoldToPartyName
ShipToParty
ShipToPartyName
OverallSDProcessStatus I_SalesOrderWithoutCharge OverallSDProcessStatus
OverallTotalDeliveryStatus I_SalesOrderWithoutCharge OverallTotalDeliveryStatus
OverallSDDocumentRejectionSts I_SalesOrderWithoutCharge OverallSDDocumentRejectionSts
SDDocumentReason I_SalesOrderWithoutCharge SDDocumentReason
SalesDocApprovalStatus I_SalesOrderWithoutCharge SalesDocApprovalStatus
int1asOrdWthoutChrgApprvlStsCritlty
SlsOrdWthoutChrgApprvlReason I_SalesOrderWithoutCharge SlsOrdWthoutChrgApprvlReason
TotalNetAmount I_SalesOrderWithoutCharge TotalNetAmount
TransactionCurrency I_SalesOrderWithoutCharge TransactionCurrency
DivisionName1astxt_vtrberasSalesAreaDesc
SalesOrganization I_SalesOrderWithoutCharge SalesOrganization
OrganizationDivision I_SalesOrderWithoutCharge OrganizationDivision
DistributionChannel I_SalesOrderWithoutCharge DistributionChannel
ResponsibleEmployee
ResponsibleEmployeeName
PurchaseOrderByCustomer I_SalesOrderWithoutCharge PurchaseOrderByCustomer
CustomerPurchaseOrderDate I_SalesOrderWithoutCharge CustomerPurchaseOrderDate
int1asDeliveryBlockCriticality
OverallDeliveryBlockStatus I_SalesOrderWithoutCharge OverallDeliveryBlockStatus
DeliveryBlockReason I_SalesOrderWithoutCharge DeliveryBlockReason
SalesOrderWithoutChargeDate I_SalesOrderWithoutCharge SalesOrderWithoutChargeDate
CreatedByUser I_SalesOrderWithoutCharge CreatedByUser
CreationDate I_SalesOrderWithoutCharge CreationDate
LastChangedByUser I_SalesOrderWithoutCharge LastChangedByUser
_SoldToPartyVH _SoldToPartyVH
_ShipToParty _ShipToParty
_SalesOrderWithoutChargeItmFS _SalesOrderWithoutChargeItmFS
_SDDocumentPartnerCard _SDDocumentPartnerCard
_OverallSDProcessStatus _OverallSDProcessStatus
_OverallTotalDeliveryStatus _OverallTotalDeliveryStatus
_OverallSDDocumentRejectionSts _OverallSDDocumentRejectionSts
_SDDocumentReason _SDDocumentReason
_DeliveryBlockReason _DeliveryBlockReason
_TransactionCurrency _TransactionCurrency
_SalesDocApprovalStatus _SalesDocApprovalStatus
_SlsOrdWthoutChrgApprvlReason _SlsOrdWthoutChrgApprvlReason
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
@AbapCatalog.sqlViewName: 'CORDWOCHARGEFS'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AccessControl.privilegedAssociations: [ '_SDDocumentPartnerCard' ]

@EndUserText.label: 'Sales Order without Charge'
@Search.searchable: true
@ObjectModel: {
   semanticKey: ['SalesOrderWithoutCharge'],
   representativeKey: 'SalesOrderWithoutCharge',
   usageType.serviceQuality: #C,
   usageType.sizeCategory: #M,
   usageType.dataClass: #TRANSACTIONAL
}



@VDM.viewType: #CONSUMPTION

@UI.headerInfo: {
      typeName:         'Sales Order Without Charge',
      typeNamePlural:   'Sales Orders Without Charge',
      title: {
            type:   #STANDARD,
            value:  'SalesDocumentTypeName'
        }
    }

@Consumption.semanticObject: 'SalesOrderWithoutCharge'
define view C_SalesOrderWithoutChargeFS
  as select from I_SalesOrderWithoutCharge as OrderWOCharge
  association [0..1] to C_SoldToValueHelp              as _SoldToPartyVH                on  $projection.SoldToParty = _SoldToPartyVH.Customer
  association [0..*] to C_SalesOrderWithoutChargeItmFS as _SalesOrderWithoutChargeItmFS on  $projection.SalesOrderWithoutCharge = _SalesOrderWithoutChargeItmFS.SalesOrderWithoutCharge
  association [0..*] to C_SDDocumentPartnerCard        as _SDDocumentPartnerCard        on  $projection.SalesOrderWithoutCharge   = _SDDocumentPartnerCard.SDDocument
                                                                                        and _SDDocumentPartnerCard.SDDocumentItem = '000000'
  association [0..1] to I_SlsOrdWthoutChrgPartner      as _ShipToParty                  on  OrderWOCharge.SalesOrderWithoutCharge = _ShipToParty.SalesOrderWithoutCharge
                                                                                        and _ShipToParty.PartnerFunction          = 'WE'
  association [0..1] to C_SalesDocumentUserVH          as _CreatedByUser                on  OrderWOCharge.CreatedByUser = _CreatedByUser.UserID

  association [0..1] to C_SalesDocumentUserVH          as _LastChangedByUser            on  OrderWOCharge.LastChangedByUser = _LastChangedByUser.UserID
  //Extension Association

  association [1]    to E_SalesDocumentBasic           as _Extension                    on  $projection.SalesOrderWithoutCharge = _Extension.SalesDocument
{

      @Search.defaultSearchElement: true
      @Search.ranking: #HIGH
      @Consumption.semanticObject: 'SalesOrderWithoutCharge'
      @UI.lineItem: {position:10, importance: #HIGH}
      @UI:{fieldGroup:{ qualifier: 'Customer', position: 10 ,importance: #HIGH}
      }
  key OrderWOCharge.SalesOrderWithoutCharge,

      concat_with_space(
      OrderWOCharge._SalesOrderWithoutChargeType._Text[1: Language=$session.system_language].SalesDocumentTypeName,
      ltrim(SalesOrderWithoutCharge, '0'), 1)                                                         as SalesDocumentTypeName,

      OrderWOCharge.SalesOrderWithoutChargeType,

      @UI:{fieldGroup:{ qualifier: 'Customer', position: 20 ,importance: #HIGH},
      textArrangement: #TEXT_FIRST
      }
      @Consumption.semanticObject: 'Customer'
      @ObjectModel.foreignKey.association: '_SoldToPartyVH'
      @ObjectModel.text.element: ['SoldToPartyName']
      OrderWOCharge.SoldToParty,

      @UI.hidden: true
      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOWOC_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                         as SoldToPartyName,

      @UI:{fieldGroup:{ qualifier: 'Customer', position: 30 ,importance: #HIGH},
      textArrangement: #TEXT_FIRST
      }
      @Consumption.semanticObject: 'Customer'
      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_Customer_VH',
                    element: 'Customer' }
       }]
      @ObjectModel.text.element: ['ShipToPartyName']
      cast (  _ShipToParty.Customer as kunwe )                                                        as ShipToParty,
      @UI.hidden: true
      @Semantics.text:true
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOWOC_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                         as ShipToPartyName,

      @UI:{ fieldGroup:{ qualifier: 'Status1', position: 10 ,importance: #HIGH },
            textArrangement: #TEXT_ONLY}
      OrderWOCharge.OverallSDProcessStatus,

      @UI:{ fieldGroup:{ qualifier: 'Status1', position: 20 ,importance: #HIGH },
            textArrangement: #TEXT_ONLY}
      OrderWOCharge.OverallTotalDeliveryStatus,

      @UI:{ fieldGroup:{ qualifier: 'Status2', position: 10 ,importance: #HIGH },
            textArrangement: #TEXT_ONLY}
      OrderWOCharge.OverallSDDocumentRejectionSts,

      @UI:{ fieldGroup:{ qualifier: 'Status2', position: 20 ,importance: #HIGH }}
      OrderWOCharge.SDDocumentReason,

      @UI:{
      fieldGroup:{qualifier: 'Approval', position: 10 ,importance: #HIGH, criticality: 'OrdWthoutChrgApprvlStsCritlty'},
      textArrangement: #TEXT_ONLY
      }
      OrderWOCharge.SalesDocApprovalStatus,

      @UI.hidden: true
      cast(
        case
          when OrderWOCharge.SalesDocApprovalStatus  = 'A' then  2 -- | 2: yellow colour
          when OrderWOCharge.SalesDocApprovalStatus  = 'B' then  3 -- | 3: green colour
          when OrderWOCharge.SalesDocApprovalStatus  = 'C' then  1 -- | 1: red colour
          when OrderWOCharge.SalesDocApprovalStatus  = 'D' then  2 -- | 2: yellow colour
                                                           else  0 -- | 0: neutral
        end  as abap.int1
      )                                                                                               as OrdWthoutChrgApprvlStsCritlty,

      @UI:{
      fieldGroup:{qualifier: 'Approval', position: 20 ,importance: #HIGH },
      textArrangement: #TEXT_ONLY
      }
      OrderWOCharge.SlsOrdWthoutChrgApprvlReason,

      @Semantics.amount.currencyCode: 'TransactionCurrency'
      @UI:{
      dataPoint:{description:'Net Amount'}
      }
      OrderWOCharge.TotalNetAmount,
      OrderWOCharge.TransactionCurrency,


      // ----- General Information Facet -----



      @UI: {
      identification: {position:10,  importance: #HIGH},
      fieldGroup: {qualifier: 'OrgData', position: 10, importance: #HIGH}
      }
      cast(
            concat_with_space(
              concat(
                concat(
                  OrderWOCharge._SalesOrganization._Text[1: Language=$session.system_language].SalesOrganizationName,
                  concat_with_space(',',OrderWOCharge._DistributionChannel._Text[1: Language=$session.system_language].DistributionChannelName,1)
                ),
                ','
              ),
              OrderWOCharge._OrganizationDivision._Text[1: Language=$session.system_language].DivisionName,1)
              as txt_vtrber )                                                                         as SalesAreaDesc,

      OrderWOCharge.SalesOrganization,
      OrderWOCharge.OrganizationDivision,
      OrderWOCharge.DistributionChannel,

      @UI: { fieldGroup: {qualifier: 'OrgData', position: 20, importance: #HIGH, label:'Employee Responsible'}}
      @ObjectModel: { text.element: ['ResponsibleEmployeeName']}
      @Consumption.semanticObject: 'Employee'
      cast( OrderWOCharge._Partner[ PartnerFunction = 'ZM' ].Personnel as resp_empl preserving type ) as ResponsibleEmployee,

      @Semantics.text: true
      @UI.hidden: true
      @Search.defaultSearchElement: false // without this annotation the search does not work (needed for local testing and START)

      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_SOWOC_UI_PARTNER_UTIL'
      cast('' as ad_namtext )                                                                         as ResponsibleEmployeeName,

      @UI: {
           fieldGroup: {qualifier: 'CustRef', position: 20, importance: #HIGH}
          }
      OrderWOCharge.PurchaseOrderByCustomer,

      @UI: {
       fieldGroup: {qualifier: 'CustRef', position: 30, importance: #HIGH}
      }
      OrderWOCharge.CustomerPurchaseOrderDate,

      @UI.hidden: true
      cast(
      case
        when OrderWOCharge.DeliveryBlockReason != '' then 1
        else 0
      end  as abap.int1
      )                                                                                               as DeliveryBlockCriticality,

      OrderWOCharge.OverallDeliveryBlockStatus,

      @UI:{ fieldGroup: {qualifier: 'OrderData', position: 10, importance: #HIGH, criticality: 'DeliveryBlockCriticality'}}
      OrderWOCharge.DeliveryBlockReason,

      @UI: {
       fieldGroup: {qualifier: 'OrderData', position: 10, importance: #HIGH}
      }
      OrderWOCharge.SalesOrderWithoutChargeDate,

      //Admin fields

      @UI: {
        fieldGroup: [{qualifier: 'AdminData', position: 10, importance: #HIGH}],
        textArrangement: #TEXT_FIRST
      }
      @ObjectModel.foreignKey.association: '_CreatedByUser'
      OrderWOCharge.CreatedByUser,
      @UI: { fieldGroup: [{qualifier: 'AdminData', position: 20, importance: #HIGH} ] }
      @Semantics.systemDate.createdAt: true
      OrderWOCharge.CreationDate,
      @UI: {
        fieldGroup: [{qualifier: 'AdminData', position: 30, importance: #HIGH} ],
        textArrangement: #TEXT_FIRST
      }
      @ObjectModel.foreignKey.association: '_LastChangedByUser'
      OrderWOCharge.LastChangedByUser,
      @UI: { fieldGroup: [{ qualifier: 'AdminData', position: 40, importance: #HIGH } ] }
      case tstmp_is_valid(cast(OrderWOCharge.LastChangeDateTime as abap.dec(15,0)))
        when 0 then cast( dats_tims_to_tstmp( OrderWOCharge.CreationDate, OrderWOCharge.CreationTime, 'UTC', $session.client, 'NULL' ) as last_changed_date_time )
        else cast( OrderWOCharge.LastChangeDateTime as last_changed_date_time )
      end                                                                                             as LastChangeDateTime,

      // Associations

      _SoldToPartyVH,
      _ShipToParty,
      _SalesOrderWithoutChargeItmFS,
      _SDDocumentPartnerCard,
      _OverallSDProcessStatus,
      _OverallTotalDeliveryStatus,
      _OverallSDDocumentRejectionSts,
      _SDDocumentReason,
      _DeliveryBlockReason,
      _TransactionCurrency,
      _SalesDocApprovalStatus,
      _SlsOrdWthoutChrgApprvlReason,
      _CreatedByUser,
      _LastChangedByUser
}