I_TranspChargeObject

DDL: I_TRANSPCHARGEOBJECT Type: view_entity BASIC

Transportation Charge Object

I_TranspChargeObject is a Basic CDS View that provides data about "Transportation Charge Object" in SAP S/4HANA. It reads from 1 data source (/scmtms/d_tchrgr) and exposes 19 fields with key field TransportationChargesObjUUID. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
/scmtms/d_tchrgr /scmtms/d_tchrgr from

Associations (6)

CardinalityTargetAliasCondition
[0..*] I_TranspChargeItem _TranspChargeItem $projection.TransportationChargesObjUUID = _TranspChargeItem.TransportationChargesObjUUID
[0..1] I_InvoicingStatus _InvoicingStatus $projection.InvoicingStatus = _InvoicingStatus.InvoicingStatus
[0..1] I_TranspChargeCalcStatus _TranspChargeCalcStatus $projection.TranspChargeCalcStatus = _TranspChargeCalcStatus.TranspChargeCalcStatus
[0..1] I_CarrierInvoicingStatus _CarrierInvoicingStatus $projection.CarrierInvoicingStatus = _CarrierInvoicingStatus.CarrierInvoicingStatus
[0..1] I_Currency _TranspChargeDocumentCurrency $projection.TranspChargeDocumentCurrency = _TranspChargeDocumentCurrency.Currency
[0..1] I_Currency _TranspChargeLocalCurrency $projection.TranspChargeLocalCurrency = _TranspChargeLocalCurrency.Currency

Annotations (9)

NameValueLevelField
EndUserText.label Transportation Charge Object view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey TransportationChargesObjUUID view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #NONE view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY TransportationChargesObjUUID
TranspChargeHostDocumentUUID host_key
TranspChargeDocumentCurrency doc_currency
TranspChrgTotalAmtInDocCrcy
TranspChrgNetAmtInDocCrcy
TranspChargeLocalCurrency lcl_currency
TranspChrgTotalAmtInLoclCrcy
TranspChargeCalculationDateTme calcdate_tstmp
InvoicingStatus
TranspChargeCalcStatus calc_status
CarrierInvoicingStatus car_invoicing
TranspChargeUsage tcusagecd085
ExchangeRateDate exchdate_doc
_TranspChargeItem _TranspChargeItem
_InvoicingStatus _InvoicingStatus
_TranspChargeCalcStatus _TranspChargeCalcStatus
_CarrierInvoicingStatus _CarrierInvoicingStatus
_TranspChargeDocumentCurrency _TranspChargeDocumentCurrency
_TranspChargeLocalCurrency _TranspChargeLocalCurrency
@EndUserText:   {label:              'Transportation Charge Object'}
//@ClientHandling.algorithm: #SESSION_VARIABLE

//@AbapCatalog:   { sqlViewName:        'ITCHRGOBJECT',

//                  compiler:           {compareFilter: true}}

@ObjectModel:   {compositionRoot:     true,
                 representativeKey:  'TransportationChargesObjUUID',
                 usageType:          {serviceQuality: #C,
                                      sizeCategory:   #XL,
                                      dataClass:      #TRANSACTIONAL}}
@VDM:           {viewType:           #BASIC,
                 lifecycle.contract.type: #NONE}
@AccessControl: {authorizationCheck: #PRIVILEGED_ONLY,
                 privilegedAssociations:  [ '_TranspChargeItem' ]}

define view entity I_TranspChargeObject
  as select from /scmtms/d_tchrgr
  /* Business Object related Node Associations*/
  association [0..*] to I_TranspChargeItem       as _TranspChargeItem             on $projection.TransportationChargesObjUUID = _TranspChargeItem.TransportationChargesObjUUID
  /* Foreign Key and Text Associations */
  association [0..1] to I_InvoicingStatus        as _InvoicingStatus              on $projection.InvoicingStatus = _InvoicingStatus.InvoicingStatus
  association [0..1] to I_TranspChargeCalcStatus as _TranspChargeCalcStatus       on $projection.TranspChargeCalcStatus = _TranspChargeCalcStatus.TranspChargeCalcStatus
  association [0..1] to I_CarrierInvoicingStatus as _CarrierInvoicingStatus       on $projection.CarrierInvoicingStatus = _CarrierInvoicingStatus.CarrierInvoicingStatus
  association [0..1] to I_Currency               as _TranspChargeDocumentCurrency on $projection.TranspChargeDocumentCurrency = _TranspChargeDocumentCurrency.Currency
  association [0..1] to I_Currency               as _TranspChargeLocalCurrency    on $projection.TranspChargeLocalCurrency = _TranspChargeLocalCurrency.Currency
{
  key cast(db_key as /scmtms/vdm_chrg_obj_db_key preserving type)                 as TransportationChargesObjUUID,
      host_key                                                                    as TranspChargeHostDocumentUUID, //foreign key association not unique (SFIR/CFIR) --> maybe: Create ZZI_TranspChargeObjectSFIR and CFIR with host_key foreign key

      @ObjectModel.foreignKey.association: '_TranspChargeDocumentCurrency'
      //      @Semantics.currencyCode:true // S4CE 1902

      doc_currency                                                                as TranspChargeDocumentCurrency,
      @Semantics.amount.currencyCode: 'TranspChargeDocumentCurrency' // S4CE 1902

      //cast(total_amount as /scmtms/amount preserving type) * 10000                as TranspChrgTotalAmtInDocCrcy, // S4CE 1902

      cast( cast( total_amount as abap.dec(31,6) ) * 10000 as abap.curr(31,2) )   as TranspChrgTotalAmtInDocCrcy,

      @Semantics.amount.currencyCode: 'TranspChargeDocumentCurrency'
      cast( cast( net_amount as abap.dec(31,6) ) * 10000 as abap.curr(31,2) )     as TranspChrgNetAmtInDocCrcy,

      @ObjectModel.foreignKey.association: '_TranspChargeLocalCurrency'
      //      @Semantics.currencyCode:true // S4CE 1902

      lcl_currency                                                                as TranspChargeLocalCurrency,
      @Semantics.amount.currencyCode: 'TranspChargeLocalCurrency' // S4CE 1902

      //cast(net_amount_lcl as /scmtms/amount preserving type) * 10000              as TranspChrgTotalAmtInLoclCrcy, // S4CE 1902

      cast( cast( net_amount_lcl as abap.dec(31,6) ) * 10000 as abap.curr(31,2) ) as TranspChrgTotalAmtInLoclCrcy,
      calcdate_tstmp                                                              as TranspChargeCalculationDateTme,
      @ObjectModel.foreignKey.association: '_InvoicingStatus'
      cast( invoicing   as transpchargepostingstatus )                            as InvoicingStatus,
      @ObjectModel.foreignKey.association: '_TranspChargeCalcStatus'
      calc_status                                                                 as TranspChargeCalcStatus,
      @ObjectModel.foreignKey.association: '_CarrierInvoicingStatus'
      car_invoicing                                                               as CarrierInvoicingStatus,
      tcusagecd085                                                                as TranspChargeUsage,
      exchdate_doc                                                                as ExchangeRateDate,
      /* Associations */
      _TranspChargeItem,
      _InvoicingStatus,
      _TranspChargeCalcStatus,
      _CarrierInvoicingStatus,
      _TranspChargeDocumentCurrency,
      _TranspChargeLocalCurrency
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/SCMTMS/D_TCHRGR"
],
"ASSOCIATED":
[
"I_CARRIERINVOICINGSTATUS",
"I_CURRENCY",
"I_INVOICINGSTATUS",
"I_TRANSPCHARGECALCSTATUS",
"I_TRANSPCHARGEITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/