I_SubscriptionContractItem

DDL: I_SUBSCRIPTIONCONTRACTITEM Type: view_entity COMPOSITE

Subscription Contract Item

I_SubscriptionContractItem is a Composite CDS View that provides data about "Subscription Contract Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 143 fields with key fields SubscriptionContract, SubscriptionContractItem. It has 21 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceDocumentItemEnhcd from

Associations (21)

CardinalityTargetAliasCondition
[1] I_SubscriptionContract _SubscriptionContract $projection.SubscriptionContract = _SubscriptionContract.SubscriptionContract
[0..1] I_SubscrpnContrItmExtRef _ExternalReference $projection.SubscriptionContract = _ExternalReference.SubscriptionContract and $projection.SubscriptionContractItem = _ExternalReference.SubscriptionContractItem
[0..1] I_CrsCtlgUsableMappingVersion _CrsCtlgUsableMappingVersion $projection.Product = _CrsCtlgUsableMappingVersion.Product and $projection.CrsCatalogMappingVersionNumber = _CrsCtlgUsableMappingVersion.CrsCatalogMappingVersionNumber
[0..1] I_CABillgCycle _BillgCycle $projection.CABillgCycle = _BillgCycle.CABillgCycle
[0..1] I_CABillgCycle _BillgPlanCycle $projection.SubscrpnContrItmBillgPlnCyc = _BillgPlanCycle.CABillgCycle
[0..1] I_SbscrContrItmCanclnPty _SbscrContrItmCanclnPty $projection.SbscrContrItemCanclnParty = _SbscrContrItmCanclnPty.SbscrContrItemCanclnParty
[0..1] I_SbscrContrItmCanclnRsn _SbscrContrItmCanclnRsn $projection.SbscrContrItemCanclnReason = _SbscrContrItmCanclnRsn.SbscrContrItemCanclnReason
[0..1] I_SrvcTransMasterAgreementItem _SrvcTransMasterAgreementItem $projection.CustMgmtMasterAgreement = _SrvcTransMasterAgreementItem.SrvcTransMstrAgrmtID and $projection.CustMgmtMstrAgrmtItem = _SrvcTransMasterAgreementItem.SrvcTransMstrAgrmtItem
[0..1] I_SrvcTransMasterAgreementItem _SbscrShContrSvTrMtAgrItm $projection.SbscrShContrSvTrMtAgrItmUUID = _SbscrShContrSvTrMtAgrItm.SrvcTransMstrAgrmtItemUUID
[0..1] I_CAPartnerSettlementRule _CAPartnerSettlementRule $projection.CAPartnerSettlementRule = _CAPartnerSettlementRule.CAPartnerSettlementRule
[0..1] I_SubscrpnContrItmShrngGrp _SubscrpnContrItmShrngGrp $projection.SubscrpnContractSharingGroupID = _SubscrpnContrItmShrngGrp.SubscrpnContractSharingGroupID
[0..1] I_SubscrpnContrItmActvtnSts _SubscrpnContrItmActvtnSts $projection.SubscrpnContrActivationStatus = _SubscrpnContrItmActvtnSts.SubscrpnContrActivationStatus
[0..1] I_ServiceDocumentStatus _SubscrpnContrItmItemStatus $projection.SubscriptionContractItemStatus = _SubscrpnContrItmItemStatus.ServiceDocumentStatus
[0..1] I_SrvcDocDurationUnitText _SrvcDocDurationUnitText $projection.SbscrContrItmRcrChrDurUnit = _SrvcDocDurationUnitText.SrvcDocDurationUnit and _SrvcDocDurationUnitText.Language = $session.system_language
[0..1] I_SubscrpnProdSpec _SubscrpnProdSpec $projection.Product = _SubscrpnProdSpec.Product
[1..1] I_Product _SubscrpnProductSpecification $projection.SubscrpnProductSpecification = _SubscrpnProductSpecification.Product
[0..1] I_ContractAccountPartner _ContractAccountPartner $projection.ContractAccount = _ContractAccountPartner.ContractAccount and $projection.SoldToParty = _ContractAccountPartner.BusinessPartner
[0..1] I_SubscrpnContrItmWthdrwlRsn _SubscrpnContrItmWthdrwlRsn $projection.SubscrpnContrItmWthdrwlRsn = _SubscrpnContrItmWthdrwlRsn.SubscrpnContrItmWthdrwlRsn
[0..1] I_SubscrpnContrItmRfndType _SubscrpnContrItmRfndType $projection.SubscrpnContrItmRfndType = _SubscrpnContrItmRfndType.SubscrpnContrItmRfndType
[0..1] I_WBSElementBasicData _WBSElementBasicData $projection.WBSElementExternalID = _WBSElementBasicData.WBSElementExternalID
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000266' and $projection.SubscriptionContract = _Extension.ServiceOrderItem and $projection.SubscriptionContractItem = _Extension.ServiceLineExternalID

Annotations (9)

NameValueLevelField
EndUserText.label Subscription Contract Item view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey SubscriptionContractItem view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view

Fields (143)

KeyFieldSource TableSource FieldDescription
KEY SubscriptionContract ServiceDocument
KEY SubscriptionContractItem ServiceDocumentItem
ServiceObjectType ServiceObjectType
ServiceDocumentType ServiceDocumentType
SubscrpnContractItemCategory ServiceDocItemCategory
Product Product
Quantity ServiceDocumentItemQuantity
QuantityUnit ServiceDocItemQuantityUnit
TransactionCurrency TransactionCurrency
SubscrpnContrItmGrossAmount ServiceDocItemGrossAmount
SubscrpnContrItmNetAmount ServiceDocumentItemNetAmount
SubscrpnContrItmTaxAmount ServiceDocumentItemTaxAmount
SbscrContrItmRecrrgChrgNetAmt SrvcDocItmRecrrgChrgNetAmount
SbscrContrItmRecrrgChrgTaxAmt SrvcDocItmRecrrgChrgTaxAmount
SbscrContrItmRecrrgChrgGrssAmt SrvcDocItmRecrrgChrgGrossAmt
PaymentTerms PaymentTerms
PaymentMethod PaymentMethod
CAPartnerSettlementRule CAPartnerSettlementRule
SubscriptionContrItmDesc ServiceDocumentItemDescription
SubscriptionContractUUID ServiceDocumentUUID
SubscriptionContractItemUUID ServiceDocumentItemUUID
SubscrpnContrItmCharUUID ServiceDocumentItemCharUUID
ParentSubscrpnContractItemUUID ParentServiceDocumentItemUUID
SubscrpnOrdProdSelType SubscrpnOrdProdSelType
Language Language
SalesOrganization SalesOrganization
DistributionChannel DistributionChannel
Division Division
SalesOffice SalesOffice
SalesGroup SalesGroup
SalesOrganizationOrgUnitID SalesOrganizationOrgUnitID
SalesOfficeOrgUnitID SalesOfficeOrgUnitID
SalesGroupOrgUnitID SalesGroupOrgUnitID
ServiceOrganization ServiceOrganization
SubscrpnContractItemIsRejected ServiceDocumentItemIsRejected
SubscriptionContractItemStatus ServiceDocumentItemStatus
SubscrpnContrItmHasError ServiceDocumentItemHasError
SubscrpnContrItmCrdtSts SrvcDocItemCreditStatus
SubscrpnContrActivationStatus SubscrpnContrActivationStatus
SubscrpnContrTimeSliceStatus SubscrpnContrTimeSliceStatus
SbscrContrItmCanclnProcedure SrvcDocItmCanclnProcedure
SbscrContrItemCanclnReason ServiceDocumentItmCanclnReason
SbscrContrItemCanclnParty ServiceDocumentItemCanclnParty
SubscrpnContrItmRjcnRsn ServiceDocItemRejectionReason
SubscrpnContrItmStartDateTime ServiceContrItemStartDateTime
SubscrpnContrItmEndDateTime ServiceContrItemEndDateTime
SbscrContrTimeSliceStrtDteTme SrvcDocItmTmeSliceStrtDteTme
SubscrpnContrAutoRnwlIsActv SubscrpnContrAutoRnwlIsActv
SubscrpnContrItmRnwlDteTme SrvcContrItemRenewalDateTime
SrvcContrItemRnwlDuration SrvcContrItemRnwlDuration
SrvcContrItemRnwlDurationUnit SrvcContrItemRnwlDurationUnit
SrvcContrItemExtensionDuration SrvcContrItemExtensionDuration
SrvcContrItemExtnDurationUnit SrvcContrItemExtnDurationUnit
PurchaseOrderByCustomer PurchaseOrderByCustomer
PurchaseOrderByShipToParty PurchaseOrderByShipToParty
SrvcTransChangeProcess SrvcTransChangeProcess
SrvcTransChangeProcessType SrvcTransChangeProcessType
SrvcTransChangeProcessGroup ChangeProcessGroup
SoldToParty SoldToParty
ShipToParty ShipToParty
BillToParty BillToParty
PayerParty PayerParty
ContactPersonBusinessPartnerId ContactPerson
RespEmployeeBusinessPartnerId ResponsibleEmployee
ContractAccount ContractAccount
CABillgCycle CABillgCycle
CrsCatalogMappingVersionNumber CrsCatalogMappingVersionNumber
SbscrContrItmRecrrgChrgDurn SrvcDocItmRecrrgChrgDuration
SbscrContrItmRcrChrDurUnit SrvcDocItmRecrrgChrgDurnUnit
CustMgmtMasterAgreement CustMgmtMasterAgreement
CustMgmtMstrAgrmtItem CustMgmtMstrAgrmtItem
CustMgmtMstrAgrmtParentItem CustMgmtMstrAgrmtParentItem
SbscrShContrSvTrMtAgrItmUUID SbscrShContrSvTrMtAgrItmUUID
SbscrShContrSvTrMtAgrItmCstPrd SbscrShContrSvTrMtAgrItmCstPrd
SvTrMtAgrItmIsFxdConfign SvTrMtAgrItmIsFxdConfign
SubscrpnContrItmBillgPlnCyc SubscrpnContrItmBillgPlnCyc
SharingContractID SharingContractID
SubscrpnContractSharingGroupID SubscrpnContractSharingGroupID
ConfigurationNumber ConfigurationNumber
SubscrpnContrItemIsPhased BusSolutionQtnItemIsPhased
SbscrContrItmPhasedPrdcssrItm BusSolnQtnItmPhasedPrdcssrItem
SubscrpnContrItmPostgDte PostingDate
SubscrpnContrItmCrtedByUsr ServiceDocItemCreatedByUser
SubscrpnContrItmChgdByUsr ServiceDocItemChangedByUser
SubscrpnContrItmCrtnDteTme ServiceDocItemCreationDateTime
SubscrpnContrItmChgdDteTme ServiceDocItemChangedDateTime
SubscrpnContrItmPrtnRefItm SrvcDocItmPartReferenceItem
SubscrpnContrItmApptRefObjUUID SrvcDocItmApptRefObjectUUID
SubscrpnContrItmApptRefItm SrvcDocItmApptReferenceItem
SubscrpnContrItmIsWithdrawn SrvcDocItemIsWithdrawn
SubscrpnContrItmWthdrwlRsn SrvcDocItemWithdrawalReason
SubscrpnContrItmRfndType SrvcDocItemRefundType
SbscrContrItmAcctAssgmtObjType SrvcDocItmAcctAssgmtObjectType
SbscrContrItmAcctAssgmtObject SrvcDocItmAcctAssgmtObject
SubscrpnContrSubitemOrigin SrvcDocSubitemOrigin
SubscrpnContrItmBillgPlnType SrvcDocBillingPlanType
_ServiceObjType _ServiceObjType
_SubscriptionContract _SubscriptionContract
_ParentServiceDocItem_2 _ParentServiceDocItem_2
_SalesUnit _SalesUnit
_Product _Product
_SoldToParty _SoldToParty
_ShipToParty _ShipToParty
_BillToParty _BillToParty
_PayerParty _PayerParty
_RespEmployee _RespEmployee
_ContactPerson _ContactPerson
_ContractAccountPartner _ContractAccountPartner
_SalesOrganization _SalesOrganization
_SalesOffice _SalesOffice
_SalesGroup _SalesGroup
_SalesOrganizationOrgUnit_2 _SalesOrganizationOrgUnit_2
_SalesOfficeOrgUnit_2 _SalesOfficeOrgUnit_2
_SalesGroupOrgUnit_2 _SalesGroupOrgUnit_2
_DistributionChannel _DistributionChannel
_Division _Division
_ServiceOrganizationOrgUnit_2 _ServiceOrganizationOrgUnit_2
_TransactionCurrency _TransactionCurrency
_PaymentTerms _PaymentTerms
_PaymentMethod _PaymentMethod
_SrvcContrItemRnwlDurationUnit _SrvcContrItemRnwlDurationUnit
_SrvcContrItemExtnDurationUnit _SrvcContrItemExtnDurationUnit
_SrvcTransMasterAgreementItem _SrvcTransMasterAgreementItem
_SbscrShContrSvTrMtAgrItm _SbscrShContrSvTrMtAgrItm
_CrsCtlgUsableMappingVersion _CrsCtlgUsableMappingVersion
_BillgCycle _BillgCycle
_BillgPlanCycle _BillgPlanCycle
_TechResource _TechResource
_ExternalReference _ExternalReference
_CAPartnerSettlementRule _CAPartnerSettlementRule
_SubscrpnContrItmShrngGrp _SubscrpnContrItmShrngGrp
_SrvcDocDurationUnitText _SrvcDocDurationUnitText
_SubscrpnProdSpec _SubscrpnProdSpec
_SubscrpnProductSpecification _SubscrpnProductSpecification
_SubscrpnContrItmActvtnSts _SubscrpnContrItmActvtnSts
_SubscrpnContrItmItemStatus _SubscrpnContrItmItemStatus
_SrvcDocItemCreditStatus _SrvcDocItemCreditStatus
_SbscrContrItmCanclnPty _SbscrContrItmCanclnPty
_SbscrContrItmCanclnRsn _SbscrContrItmCanclnRsn
_ServiceDocItemRejectionReason _ServiceDocItemRejectionReason
_SubscrpnContrItmWthdrwlRsn _SubscrpnContrItmWthdrwlRsn
_SubscrpnContrItmRfndType _SubscrpnContrItmRfndType
_WBSElementBasicData _WBSElementBasicData
@EndUserText.label: 'Subscription Contract Item'

@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #SAP_INTERNAL_API
}

@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}

@ObjectModel: {
   representativeKey: 'SubscriptionContractItem',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}

@Metadata.ignorePropagatedAnnotations: true

/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] } */
define view entity I_SubscriptionContractItem
  as select from I_ServiceDocumentItemEnhcd as ServiceDocumentItemEnhcd

  association [1]    to I_SubscriptionContract         as _SubscriptionContract         on  $projection.SubscriptionContract = _SubscriptionContract.SubscriptionContract


  association [0..1] to I_SubscrpnContrItmExtRef       as _ExternalReference            on  $projection.SubscriptionContract     = _ExternalReference.SubscriptionContract
                                                                                        and $projection.SubscriptionContractItem = _ExternalReference.SubscriptionContractItem

  association [0..1] to I_CrsCtlgUsableMappingVersion  as _CrsCtlgUsableMappingVersion  on  $projection.Product                        = _CrsCtlgUsableMappingVersion.Product
                                                                                        and $projection.CrsCatalogMappingVersionNumber = _CrsCtlgUsableMappingVersion.CrsCatalogMappingVersionNumber

  association [0..1] to I_CABillgCycle                 as _BillgCycle                   on  $projection.CABillgCycle = _BillgCycle.CABillgCycle

  association [0..1] to I_CABillgCycle                 as _BillgPlanCycle               on  $projection.SubscrpnContrItmBillgPlnCyc = _BillgPlanCycle.CABillgCycle

  association [0..1] to I_SbscrContrItmCanclnPty       as _SbscrContrItmCanclnPty       on  $projection.SbscrContrItemCanclnParty = _SbscrContrItmCanclnPty.SbscrContrItemCanclnParty

  association [0..1] to I_SbscrContrItmCanclnRsn       as _SbscrContrItmCanclnRsn       on  $projection.SbscrContrItemCanclnReason = _SbscrContrItmCanclnRsn.SbscrContrItemCanclnReason

  association [0..1] to I_SrvcTransMasterAgreementItem as _SrvcTransMasterAgreementItem on  $projection.CustMgmtMasterAgreement = _SrvcTransMasterAgreementItem.SrvcTransMstrAgrmtID
                                                                                        and $projection.CustMgmtMstrAgrmtItem   = _SrvcTransMasterAgreementItem.SrvcTransMstrAgrmtItem

  association [0..1] to I_SrvcTransMasterAgreementItem as _SbscrShContrSvTrMtAgrItm     on  $projection.SbscrShContrSvTrMtAgrItmUUID = _SbscrShContrSvTrMtAgrItm.SrvcTransMstrAgrmtItemUUID


  association [0..1] to I_CAPartnerSettlementRule      as _CAPartnerSettlementRule      on  $projection.CAPartnerSettlementRule = _CAPartnerSettlementRule.CAPartnerSettlementRule

  association [0..1] to I_SubscrpnContrItmShrngGrp     as _SubscrpnContrItmShrngGrp     on  $projection.SubscrpnContractSharingGroupID = _SubscrpnContrItmShrngGrp.SubscrpnContractSharingGroupID

  association [0..1] to I_SubscrpnContrItmActvtnSts    as _SubscrpnContrItmActvtnSts    on  $projection.SubscrpnContrActivationStatus = _SubscrpnContrItmActvtnSts.SubscrpnContrActivationStatus

  association [0..1] to I_ServiceDocumentStatus        as _SubscrpnContrItmItemStatus   on  $projection.SubscriptionContractItemStatus = _SubscrpnContrItmItemStatus.ServiceDocumentStatus

  association [0..1] to I_SrvcDocDurationUnitText      as _SrvcDocDurationUnitText      on  $projection.SbscrContrItmRcrChrDurUnit = _SrvcDocDurationUnitText.SrvcDocDurationUnit
                                                                                        and _SrvcDocDurationUnitText.Language      = $session.system_language

  association [0..1] to I_SubscrpnProdSpec             as _SubscrpnProdSpec             on  $projection.Product = _SubscrpnProdSpec.Product

  association [1..1] to I_Product                      as _SubscrpnProductSpecification on  $projection.SubscrpnProductSpecification = _SubscrpnProductSpecification.Product

  association [0..1] to I_ContractAccountPartner       as _ContractAccountPartner       on  $projection.ContractAccount = _ContractAccountPartner.ContractAccount
                                                                                        and $projection.SoldToParty     = _ContractAccountPartner.BusinessPartner

  association [0..1] to I_SubscrpnContrItmWthdrwlRsn   as _SubscrpnContrItmWthdrwlRsn   on  $projection.SubscrpnContrItmWthdrwlRsn = _SubscrpnContrItmWthdrwlRsn.SubscrpnContrItmWthdrwlRsn

  association [0..1] to I_SubscrpnContrItmRfndType     as _SubscrpnContrItmRfndType     on  $projection.SubscrpnContrItmRfndType = _SubscrpnContrItmRfndType.SubscrpnContrItmRfndType

  association [0..1] to I_WBSElementBasicData          as _WBSElementBasicData          on  $projection.WBSElementExternalID = _WBSElementBasicData.WBSElementExternalID


  association [0..1] to E_ServiceDocumentItem          as _Extension                    on  _Extension.ServiceCategory           = 'BUS2000266'
                                                                                        and $projection.SubscriptionContract     = _Extension.ServiceOrderItem
                                                                                        and $projection.SubscriptionContractItem = _Extension.ServiceLineExternalID

{
      @ObjectModel.foreignKey.association: '_SubscriptionContract'
  key ServiceDocument                as SubscriptionContract,
  key ServiceDocumentItem            as SubscriptionContractItem,

      //  DATA MIGRATION OF CI_CONTRACT_ID TO SUBSCRIPTIONCONTRACTEXTERNALID

      case
      when SubscriptionContractExternalID is initial or
           SubscriptionContractExternalID is null then ServiceDocumentItemEnhcd.SubscriptionContract
      when SubscriptionContractExternalID is not initial or
           SubscriptionContractExternalID is not null then SubscriptionContractExternalID
      else ServiceDocumentItemEnhcd.SubscriptionContract
      end                            as SubscriptionContractExternalID,


      @ObjectModel.foreignKey.association: '_ServiceObjType'
      ServiceObjectType,
      ServiceDocumentType,
      ServiceDocItemCategory         as SubscrpnContractItemCategory,
      @ObjectModel.foreignKey.association: '_Product'
      Product,

      @ObjectModel.foreignKey.association: '_SubscrpnProductSpecification'
      case
       when _SubscrpnProdSpec.Product is null then ''
       when _SubscrpnProdSpec.Product is not null then Product
      end                            as SubscrpnProductSpecification,

      /* QUANTITY */
      @Semantics: { quantity : {unitOfMeasure: 'QuantityUnit'} }
      ServiceDocumentItemQuantity    as Quantity,
      @ObjectModel.foreignKey.association: '_SalesUnit'
      ServiceDocItemQuantityUnit     as QuantityUnit,

      /* AMOUNTS */
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      TransactionCurrency,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceDocItemGrossAmount      as SubscrpnContrItmGrossAmount,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceDocumentItemNetAmount   as SubscrpnContrItmNetAmount,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceDocumentItemTaxAmount   as SubscrpnContrItmTaxAmount,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      SrvcDocItmRecrrgChrgNetAmount  as SbscrContrItmRecrrgChrgNetAmt,

      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      SrvcDocItmRecrrgChrgTaxAmount  as SbscrContrItmRecrrgChrgTaxAmt,


      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      SrvcDocItmRecrrgChrgGrossAmt   as SbscrContrItmRecrrgChrgGrssAmt,

      /* PRICING */
      @ObjectModel.foreignKey.association: '_PaymentTerms'
      PaymentTerms,
      @ObjectModel.foreignKey.association: '_PaymentMethod'
      PaymentMethod,
      @ObjectModel.foreignKey.association: '_CAPartnerSettlementRule'
      CAPartnerSettlementRule,

      /* ITEM DETAILS */
      ServiceDocumentItemDescription as SubscriptionContrItmDesc,
      @Semantics.uuid: true
      ServiceDocumentUUID            as SubscriptionContractUUID,
      @Semantics.uuid: true
      ServiceDocumentItemUUID        as SubscriptionContractItemUUID,
      @Semantics.uuid: true
      ServiceDocumentItemCharUUID    as SubscrpnContrItmCharUUID,
      @Semantics.uuid: true
      ParentServiceDocumentItemUUID  as ParentSubscrpnContractItemUUID,
      SubscrpnOrdProdSelType,

      @Semantics.booleanIndicator: true
      case
       when SubscrpnOrdProdSelType = 'M' then 'X'
       when SubscrpnOrdProdSelType <>  'M' then ''
      end                            as SubscrpnContrItmIsMainItem,
      Language,

      /* ORGANIZATIONAL UNITS WITH THE S/4 SD CODES */
      SalesOrganization,
      DistributionChannel,
      Division,
      SalesOffice,
      SalesGroup,

      /* ORGANIZATION UNIT */
      SalesOrganizationOrgUnitID,
      SalesOfficeOrgUnitID,
      SalesGroupOrgUnitID,
      ServiceOrganization,

      /* STATUS */
      @Semantics.booleanIndicator: true
      case
       when SubscrpnContrActivationStatus = 'E' then 'X'
       when SubscrpnContrActivationStatus <> 'E'  then ''
      end                            as SubscrpnContractItemIsActive,

      @Semantics.booleanIndicator: true
      ServiceDocumentItemIsRejected  as SubscrpnContractItemIsRejected,

      @ObjectModel.foreignKey.association: '_SubscrpnContrItmItemStatus'
      ServiceDocumentItemStatus      as SubscriptionContractItemStatus,
      @Semantics.booleanIndicator: true
      ServiceDocumentItemHasError    as SubscrpnContrItmHasError,
      @ObjectModel.foreignKey.association: '_SrvcDocItemCreditStatus'
      SrvcDocItemCreditStatus        as SubscrpnContrItmCrdtSts,
      @ObjectModel.foreignKey.association: '_SubscrpnContrItmActvtnSts'
      SubscrpnContrActivationStatus,
      SubscrpnContrTimeSliceStatus,

      /* CANCELLATION */
      SrvcDocItmCanclnProcedure      as SbscrContrItmCanclnProcedure,
      @ObjectModel.foreignKey.association: '_SbscrContrItmCanclnRsn'
      ServiceDocumentItmCanclnReason as SbscrContrItemCanclnReason,
      @ObjectModel.foreignKey.association: '_SbscrContrItmCanclnPty'
      ServiceDocumentItemCanclnParty as SbscrContrItemCanclnParty,

      @ObjectModel.foreignKey.association: '_ServiceDocItemRejectionReason'
      ServiceDocItemRejectionReason  as SubscrpnContrItmRjcnRsn,
      @Semantics.booleanIndicator: true
      case
       when ServiceDocumentItemCanclnParty = '' then ''
       when ServiceDocumentItemCanclnParty <> '' then 'X'
      end                            as SubscrpnContrItmIsCancelled,


      /* DATES */
      @Semantics.dateTime:true
      case
       when ServiceDocumentItemCanclnParty = '' then 0
       when ServiceDocumentItemCanclnParty <> '' then ServiceContrItemEndDateTime
      end                            as SubscrpnContrItmCanclnDteTme,



      @Semantics.dateTime:true
      ServiceContrItemStartDateTime  as SubscrpnContrItmStartDateTime,

      @Semantics.dateTime:true
      ServiceContrItemEndDateTime    as SubscrpnContrItmEndDateTime,

      @Semantics.dateTime:true
      SrvcDocItmTmeSliceStrtDteTme   as SbscrContrTimeSliceStrtDteTme,

      @Semantics.dateTime:true
      //      SrvcDocItmTmeSliceEndDteTme    as SbscrContrTimeSliceEndDteTme,

      case
       when SrvcDocItmTmeSliceEndDteTme = 99991231235959 then 0
       when SrvcDocItmTmeSliceEndDteTme <>  99991231235959 then SrvcDocItmTmeSliceEndDteTme
      end                            as SbscrContrTimeSliceEndDteTme,


      /* AUTO RENEWAL */
      SubscrpnContrAutoRnwlIsActv    as SubscrpnContrAutoRnwlIsActv,
      @Semantics.dateTime:true
      SrvcContrItemRenewalDateTime   as SubscrpnContrItmRnwlDteTme,
      @Semantics: { quantity : {unitOfMeasure: 'SrvcContrItemRnwlDurationUnit'} }
      SrvcContrItemRnwlDuration,
      @ObjectModel.foreignKey.association: '_SrvcContrItemRnwlDurationUnit'
      SrvcContrItemRnwlDurationUnit,

      @Semantics: { quantity : {unitOfMeasure: 'SrvcContrItemExtnDurationUnit'} }
      SrvcContrItemExtensionDuration,
      @ObjectModel.foreignKey.association: '_SrvcContrItemExtnDurationUnit'
      SrvcContrItemExtnDurationUnit,

      /* EXTERNAL REFERENCE*/
      PurchaseOrderByCustomer,
      PurchaseOrderByShipToParty,

      /* CHANGE PROCESS */
      SrvcTransChangeProcess,
      SrvcTransChangeProcessType,
      ChangeProcessGroup             as SrvcTransChangeProcessGroup,

      /* PARTNER */
      SoldToParty,
      ShipToParty,
      BillToParty,
      PayerParty,

      @ObjectModel.foreignKey.association: '_ContactPerson'
      ContactPerson                  as ContactPersonBusinessPartnerId,
      @ObjectModel.foreignKey.association: '_RespEmployee'
      ResponsibleEmployee            as RespEmployeeBusinessPartnerId,

      ContractAccount,

      /* SUBSCRIPTION SPECIFIC */
      CABillgCycle,
      CrsCatalogMappingVersionNumber,

      SrvcDocItmRecrrgChrgDuration   as SbscrContrItmRecrrgChrgDurn,
      SrvcDocItmRecrrgChrgDurnUnit   as SbscrContrItmRcrChrDurUnit,


      /* MASTER AGREEMENT */
      CustMgmtMasterAgreement,
      CustMgmtMstrAgrmtItem,
      CustMgmtMstrAgrmtParentItem,
      SbscrShContrSvTrMtAgrItmUUID,
      SbscrShContrSvTrMtAgrItmCstPrd,
      @Semantics.booleanIndicator:true
      SvTrMtAgrItmIsFxdConfign,
      SubscrpnContrItmBillgPlnCyc,


      /* SHARING */
      SharingContractID,
      SubscrpnContractSharingGroupID,

      /* CONFIGURATION */
      ConfigurationNumber,

      @Semantics.booleanIndicator: true
      case
       when ConfigurationNumber is not initial then 'X'
       when ConfigurationNumber is initial then ''

      end                            as SubscrpnContrItmHasConfign,

      /* PHASED DEAL */
      @Semantics.booleanIndicator: true
      BusSolutionQtnItemIsPhased     as SubscrpnContrItemIsPhased,
      BusSolnQtnItmPhasedPrdcssrItem as SbscrContrItmPhasedPrdcssrItm,

      /* CREATED, CHANGED USER ID */
      PostingDate                    as SubscrpnContrItmPostgDte,
      ServiceDocItemCreatedByUser    as SubscrpnContrItmCrtedByUsr,
      ServiceDocItemChangedByUser    as SubscrpnContrItmChgdByUsr,
      @Semantics.dateTime:true
      ServiceDocItemCreationDateTime as SubscrpnContrItmCrtnDteTme,
      @Semantics.dateTime:true
      ServiceDocItemChangedDateTime  as SubscrpnContrItmChgdDteTme,

      /* RAP : Inheritance of Complex Set */
      SrvcDocItmPartReferenceItem    as SubscrpnContrItmPrtnRefItm,
      SrvcDocItmApptRefObjectUUID    as SubscrpnContrItmApptRefObjUUID,
      SrvcDocItmApptReferenceItem    as SubscrpnContrItmApptRefItm,

      /* Withdrawal */
      @Semantics.booleanIndicator: true
      SrvcDocItemIsWithdrawn         as SubscrpnContrItmIsWithdrawn,
      @ObjectModel.foreignKey.association: '_SubscrpnContrItmWthdrwlRsn'
      SrvcDocItemWithdrawalReason    as SubscrpnContrItmWthdrwlRsn,
      @ObjectModel.foreignKey.association: '_SubscrpnContrItmRfndType'
      SrvcDocItemRefundType          as SubscrpnContrItmRfndType,

      /* Account Assignment e.g. WBS Element for Type = '03' */
      SrvcDocItmAcctAssgmtObjectType as SbscrContrItmAcctAssgmtObjType,
      SrvcDocItmAcctAssgmtObject     as SbscrContrItmAcctAssgmtObject,
      case SrvcDocItmAcctAssgmtObjectType
      when '03' then cast(SrvcDocItmAcctAssgmtObject as ps_posid_edit)
      else ''
      end                            as WBSElementExternalID,

      /* Item Usage - Item Origin */
      SrvcDocSubitemOrigin           as SubscrpnContrSubitemOrigin,

      /* Billing */
      SrvcDocBillingPlanType         as SubscrpnContrItmBillgPlnType,

      /* ASSOCIATIONS */
      /* ITEM KEY ASSOCIATION */
      _ServiceObjType,
      _SubscriptionContract,
      _ParentServiceDocItem_2,

      // ITEM - PRODUCT ASSOCIATION */

      _SalesUnit,
      _Product,

      /* PARTNER ASSOCIATION */
      _SoldToParty,
      _ShipToParty,
      _BillToParty,
      _PayerParty,
      _RespEmployee,
      _ContactPerson,
      _ContractAccountPartner,

      /* ORGANIZATION ASSOCIATION */
      _SalesOrganization,
      _SalesOffice,
      _SalesGroup,
      _SalesOrganizationOrgUnit_2,
      _SalesOfficeOrgUnit_2,
      _SalesGroupOrgUnit_2,
      _DistributionChannel,
      _Division,
      _ServiceOrganizationOrgUnit_2,

      /* PRICING ASSOCIATION */
      _TransactionCurrency,
      _PaymentTerms,
      _PaymentMethod,

      /* ITEM - SERVICE ASSOCIATION */
      _SrvcContrItemRnwlDurationUnit,
      _SrvcContrItemExtnDurationUnit,

      /* MASTER AGREEMENT */
      _SrvcTransMasterAgreementItem,
      _SbscrShContrSvTrMtAgrItm,

      /* SUBSCRIPTION ASSOCIATION */
      _CrsCtlgUsableMappingVersion,
      _BillgCycle,
      _BillgPlanCycle,
      _TechResource,
      _ExternalReference,
      _CAPartnerSettlementRule,
      _SubscrpnContrItmShrngGrp,
      _SrvcDocDurationUnitText,
      _SubscrpnProdSpec,
      _SubscrpnProductSpecification,


      /* STATUS */
      _SubscrpnContrItmActvtnSts,
      _SubscrpnContrItmItemStatus,
      _SrvcDocItemCreditStatus,

      /* CANCELLATION */
      _SbscrContrItmCanclnPty,
      _SbscrContrItmCanclnRsn,
      _ServiceDocItemRejectionReason,

      /* WITHDRAWAL */
      _SubscrpnContrItmWthdrwlRsn,
      _SubscrpnContrItmRfndType,

      /* WBS Element */
      _WBSElementBasicData


}
where
      ServiceObjectType             = 'BUS2000266'
  and ServiceDocumentItemObjectType = 'BUS2000156'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SERVICEDOCUMENTITEMENHCD",
"I_SUBSCRPNPRODSPEC"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_CABILLGCYCLE",
"I_CAPARTNERSETTLEMENTRULE",
"I_CONTRACTACCOUNTPARTNER",
"I_CRSCTLGUSABLEMAPPINGVERSION",
"I_CURRENCY",
"I_CUSTMGMTBUSOBJTYPE",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_PAYMENTTERMS",
"I_PRODUCT",
"I_SALESDOCUMENTRJCNREASON",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION",
"I_SBSCRCONTRITMCANCLNPTY",
"I_SBSCRCONTRITMCANCLNRSN",
"I_SERVICEDOCUMENTITEMENHCD",
"I_SERVICEDOCUMENTSTATUS",
"I_SRVCDOCDURATIONUNITTEXT",
"I_SRVCDOCITEMCREDITSTATUS",
"I_SRVCDOCPAYMENTMETHOD",
"I_SRVCMGMTORGANIZATIONUNIT",
"I_SRVCTRANSMASTERAGREEMENTITEM",
"I_SUBSCRIPTIONCONTRACT",
"I_SUBSCRPNCONTRITMACTVTNSTS",
"I_SUBSCRPNCONTRITMEXTREF",
"I_SUBSCRPNCONTRITMRFNDTYPE",
"I_SUBSCRPNCONTRITMSHRNGGRP",
"I_SUBSCRPNCONTRITMWTHDRWLRSN",
"I_SUBSCRPNITMTECHRESOURCE",
"I_SUBSCRPNPRODSPEC",
"I_UNITOFMEASURE",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_SERVICEDOCUMENTITEMENHCD"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/