@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA'),
privilegedAssociations: [ '_CreatedByUser', '_LastChangedByUser', '_OutputRequest']
}
@ObjectModel: {
sapObjectNodeType.name: 'SalesContract',
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #L
},
semanticKey: ['SalesContract']
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Sales Contract - TP'
define root view entity R_SalesContractTP
as select from I_SalesContract as SalesContract
left outer to one join I_OutputRequest as OutputRequest on OutputRequest.OutputControlApplicationObject = SalesContract.SalesContract
and OutputRequest.OutputControlApplObjectType = 'SALES_DOCUMENT'
composition [0..*] of R_SalesContractItemTP as _Item
composition [0..*] of R_SalesContractPartnerTP as _Partner
composition [0..1] of R_SalesContractShipToPartyTP as _ShipToParty
composition [0..*] of R_SlsContrPricingElementTP as _PricingElement
composition [0..*] of R_SalesContractTextTP as _Text
association [0..1] to R_OutputRequestTP as _OutputRequest on $projection.OutputRequestUUID = _OutputRequest.OutputRequestUUID
association [0..1] to I_SalesDocumentPartner as _SoldToParty on $projection.SalesContract = _SoldToParty.SalesDocument
and _SoldToParty.PartnerFunction = 'AG'
and _SoldToParty.SDDocumentCategory = 'G'
association [0..1] to I_SlsOrganizationDistrChnl as _SlsOrganizationDistrChnl on $projection.SalesOrganization = _SlsOrganizationDistrChnl.SalesOrganization
and $projection.DistributionChannel = _SlsOrganizationDistrChnl.DistributionChannel
//Extension Association
association [1] to E_SalesDocumentBasic as _Extension on $projection.SalesContract = _Extension.SalesDocument
{
//Key
key SalesContract.SalesContract,
//Basic data
@ObjectModel.foreignKey.association: '_SalesContractType'
SalesContract.SalesContractType,
@ObjectModel.foreignKey.association: '_SalesOrganization'
SalesContract.SalesOrganization,
@ObjectModel.foreignKey.association: '_DistributionChannel'
SalesContract.DistributionChannel,
_SlsOrganizationDistrChnl.ReferenceDistributionChannel,
@ObjectModel.foreignKey.association: '_OrganizationDivision'
SalesContract.OrganizationDivision,
@ObjectModel.text.element: ['CustomerName']
SalesContract.SoldToParty,
@Semantics.text:true
_SoldToParty.FullName as CustomerName,
@ObjectModel.foreignKey.association: '_CustomerGroup'
SalesContract.CustomerGroup,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
SalesContract.AdditionalCustomerGroup1,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
SalesContract.AdditionalCustomerGroup2,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
SalesContract.AdditionalCustomerGroup3,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
SalesContract.AdditionalCustomerGroup4,
@ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
SalesContract.AdditionalCustomerGroup5,
SalesContract.PurchaseOrderByCustomer,
SalesContract.PurchaseOrderByShipToParty,
SalesContract.CustomerPurchaseOrderType,
SalesContract.CustomerPurchaseOrderDate,
SalesContract.CustomerPurchaseOrderSuplmnt,
//ShippingCondition not in I_SalesContract
SalesContract.SalesContractDate,
SalesContract.SalesContractValidityStartDate,
SalesContract.SalesContractValidityEndDate,
@ObjectModel.foreignKey.association: '_SDDocumentReason'
SalesContract.SDDocumentReason,
SalesContract.ServicesRenderedDate,
@ObjectModel.foreignKey.association: '_ShippingType'
SalesContract.ShippingType,
//Advance data
@ObjectModel.foreignKey.association: '_IncotermsClassification'
SalesContract.IncotermsClassification,
SalesContract.IncotermsTransferLocation,
SalesContract.IncotermsLocation1,
SalesContract.IncotermsLocation2,
@ObjectModel.foreignKey.association: '_IncotermsVersion'
SalesContract.IncotermsVersion,
@ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
SalesContract.CustomerPaymentTerms,
SalesContract.PaymentMethod,
SalesContract.FixedValueDate,
SalesContract.PricingDate,
@ObjectModel.foreignKey.association: '_TaxDepartureCountry'
SalesContract.TaxDepartureCountry,
@ObjectModel.foreignKey.association: '_VATRegistrationCountry'
SalesContract.VATRegistrationCountry,
//SDPricingProcedure not in I_SalesContract
//Customer Price Group not found
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesContract.TotalNetAmount,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
SalesContract.TransactionCurrency,
@ObjectModel.foreignKey.association: '_ShippingCondition'
SalesContract.ShippingCondition,
@ObjectModel.foreignKey.association: '_CustomerPriceGroup'
SalesContract.CustomerPriceGroup,
@ObjectModel.foreignKey.association: '_PriceListType'
SalesContract.PriceListType,
@ObjectModel.foreignKey.association: '_SDPricingProcedure'
SalesContract.SDPricingProcedure,
SalesContract.CompleteDeliveryIsDefined,
SalesContract.BillingDocumentDate,
//Org
@ObjectModel.foreignKey.association: '_SalesGroup'
SalesContract.SalesGroup,
@ObjectModel.foreignKey.association: '_SalesOffice'
SalesContract.SalesOffice,
@ObjectModel.foreignKey.association: '_SalesDistrict'
SalesContract.SalesDistrict,
@ObjectModel.foreignKey.association: '_SalesContractValidityPerdCat'
SalesContract.SalesContractValidityPerdCat,
@ObjectModel.foreignKey.association: '_CreatedByUser'
SalesContract.CreatedByUser,
@ObjectModel.foreignKey.association: '_LastChangedByUser'
SalesContract.LastChangedByUser,
@Semantics.systemDate.createdAt: true
SalesContract.CreationDate,
SalesContract.CreationTime,
@Semantics.systemDate.lastChangedAt: true
SalesContract.LastChangeDate,
cast( dats_tims_to_tstmp( SalesContract.CreationDate, SalesContract.CreationTime, abap_system_timezone( $session.client, 'NULL' ),
$session.client, 'NULL' ) as creation_date_time ) as SalesDocumentCreationDateTime,
case tstmp_is_valid(cast(SalesContract.LastChangeDateTime as abap.dec(15,0)))
when 0 then cast( dats_tims_to_tstmp( SalesContract.CreationDate, SalesContract.CreationTime, 'UTC', $session.client, 'NULL' ) as last_changed_date_time )
else cast ( SalesContract.LastChangeDateTime as last_changed_date_time )
end as LastChangeDateTime,
//Additional data
@ObjectModel.foreignKey.association: '_ControllingArea'
SalesContract.ControllingArea,
SalesContract.ReferenceSDDocument,
SalesContract.ReferenceSDDocumentCategory,
SalesContract.AccountingDocExternalReference,
@ObjectModel.foreignKey.association: '_BillingCompanyCode'
SalesContract.BillingCompanyCode,
SalesContract.AssignmentReference,
@ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
SalesContract.CustomerAccountAssignmentGroup,
//Status
@ObjectModel.foreignKey.association: '_OverallSDProcessStatus'
SalesContract.OverallSDProcessStatus,
@ObjectModel.foreignKey.association: '_OverallSDDocumentRejectionSts'
SalesContract.OverallSDDocumentRejectionSts,
@ObjectModel.foreignKey.association: '_TotalBlockStatus'
SalesContract.TotalBlockStatus,
@ObjectModel.foreignKey.association: '_OverallTotalSDDocRefStatus'
SalesContract.OverallTotalSDDocRefStatus,
@ObjectModel.foreignKey.association: '_OverallSDDocReferenceStatus'
SalesContract.OverallSDDocReferenceStatus,
@ObjectModel.foreignKey.association: '_TotalCreditCheckStatus'
SalesContract.TotalCreditCheckStatus,
@ObjectModel.foreignKey.association: '_MaxDocValueCreditCheckStatus'
SalesContract.MaxDocValueCreditCheckStatus,
@ObjectModel.foreignKey.association: '_PaymentTermCreditCheckStatus'
SalesContract.PaymentTermCreditCheckStatus,
@ObjectModel.foreignKey.association: '_FinDocCreditCheckStatus'
SalesContract.FinDocCreditCheckStatus,
@ObjectModel.foreignKey.association: '_ExprtInsurCreditCheckStatus'
SalesContract.ExprtInsurCreditCheckStatus,
@ObjectModel.foreignKey.association: '_PaytAuthsnCreditCheckSts'
SalesContract.PaytAuthsnCreditCheckSts,
@ObjectModel.foreignKey.association: '_CentralCreditCheckStatus'
SalesContract.CentralCreditCheckStatus,
@ObjectModel.foreignKey.association: '_CentralCreditChkTechErrSts'
SalesContract.CentralCreditChkTechErrSts,
@ObjectModel.foreignKey.association: '_HdrGeneralIncompletionStatus'
cast( SalesContract.HdrGeneralIncompletionStatus as hdr_general_incompltn_status preserving type ) as HdrGeneralIncompletionStatus,
@ObjectModel.foreignKey.association: '_OverallPricingIncompletionSts'
SalesContract.OverallPricingIncompletionSts,
@ObjectModel.foreignKey.association: '_HeaderBillgIncompletionStatus'
SalesContract.HeaderBillgIncompletionStatus,
@ObjectModel.foreignKey.association: '_OvrlItmGeneralIncompletionSts'
cast( SalesContract.OvrlItmGeneralIncompletionSts as itms_ovrl_incompletion_status preserving type ) as OvrlItmGeneralIncompletionSts,
@ObjectModel.foreignKey.association: '_OvrlItmBillingIncompletionSts'
SalesContract.OvrlItmBillingIncompletionSts,
@ObjectModel.foreignKey.association: '_DownPaymentStatus'
SalesContract.ContractDownPaymentStatus,
@ObjectModel.foreignKey.association: '_SalesDocApprovalStatus'
SalesContract.SalesDocApprovalStatus,
@ObjectModel.foreignKey.association: '_SalesContractApprovalReason'
cast(SalesContract.SalesContractApprovalReason as sd_apm_approval_reason_vdm preserving type ) as SalesContractApprovalReason,
@ObjectModel.foreignKey.association: '_OverallBillingBlockStatus'
SalesContract.OverallBillingBlockStatus,
@ObjectModel.foreignKey.association: '_HeaderBillingBlockReason'
SalesContract.HeaderBillingBlockReason,
// Product Compliance Status
@ObjectModel.foreignKey.association: '_OverallChmlCmplncStatus'
SalesContract.OverallChmlCmplncStatus,
@ObjectModel.foreignKey.association: '_OverallDangerousGoodsStatus'
SalesContract.OverallDangerousGoodsStatus,
@ObjectModel.foreignKey.association: '_OvrlSftyDataSheetSts'
SalesContract.OverallSafetyDataSheetStatus,
//Trade Compliance Status
@ObjectModel.foreignKey.association: '_OvrlTradeCmplncEmbargoStatus'
SalesContract.OverallTrdCmplncEmbargoSts,
@ObjectModel.foreignKey.association: '_OvTrdCmplncSnctndListChkSts'
SalesContract.OvrlTrdCmplncSnctndListChkSts,
@ObjectModel.foreignKey.association: '_OvrlTrdCmplncLegalCtrlChkSts'
SalesContract.OvrlTrdCmplncLegalCtrlChkSts,
SalesContract.ContractManualCompletion,
OutputRequest.OutputRequestUUID,
/* Associations */
_Item,
_Partner,
_Text,
_ShipToParty,
_SlsOrganizationDistrChnl,
_PricingElement,
_OutputRequest,
SalesContract._CentralCreditCheckStatus,
SalesContract._CentralCreditChkTechErrSts,
SalesContract._OrganizationDivision,
SalesContract._CustomerGroup,
SalesContract._CustomerPaymentTerms,
SalesContract._DistributionChannel,
SalesContract._DownPaymentStatus,
SalesContract._FinDocCreditCheckStatus,
SalesContract._HdrGeneralIncompletionStatus,
SalesContract._HeaderBillgIncompletionStatus,
SalesContract._SalesContractValidityPerdCat,
SalesContract._IncotermsClassification,
SalesContract._IncotermsVersion,
SalesContract._OverallPricingIncompletionSts,
SalesContract._OverallSDDocReferenceStatus,
SalesContract._OverallSDDocumentRejectionSts,
SalesContract._OverallSDProcessStatus,
SalesContract._OverallTotalSDDocRefStatus,
SalesContract._OvrlItmBillingIncompletionSts,
SalesContract._OvrlItmGeneralIncompletionSts,
SalesContract._PaymentTermCreditCheckStatus,
SalesContract._PaytAuthsnCreditCheckSts,
SalesContract._LastChangedByUser,
SalesContract._CreatedByUser,
SalesContract._SalesContractType,
SalesContract._SalesDistrict,
SalesContract._SalesDocApprovalStatus,
SalesContract._SalesGroup,
SalesContract._SalesOffice,
SalesContract._SalesOrganization,
SalesContract._SDDocumentReason,
SalesContract._StandardPartner,
SalesContract._TotalBlockStatus,
SalesContract._TotalCreditCheckStatus,
SalesContract._MaxDocValueCreditCheckStatus,
SalesContract._SalesContractApprovalReason,
SalesContract._ExprtInsurCreditCheckStatus,
SalesContract._BillingCompanyCode,
SalesContract._TransactionCurrency,
SalesContract._ShippingCondition,
SalesContract._SDPricingProcedure,
SalesContract._CustomerPriceGroup,
SalesContract._PriceListType,
SalesContract._OverallChmlCmplncStatus,
SalesContract._OvrlSftyDataSheetSts,
SalesContract._OverallDangerousGoodsStatus,
SalesContract._OvrlTrdCmplncLegalCtrlChkSts,
SalesContract._HeaderBillingBlockReason,
SalesContract._OverallBillingBlockStatus,
SalesContract._ControllingArea,
SalesContract._OvrlTradeCmplncEmbargoStatus,
SalesContract._OvTrdCmplncSnctndListChkSts,
SalesContract._TaxDepartureCountry,
SalesContract._VATRegistrationCountry,
SalesContract._AdditionalCustomerGroup1,
SalesContract._AdditionalCustomerGroup2,
SalesContract._AdditionalCustomerGroup3,
SalesContract._AdditionalCustomerGroup4,
SalesContract._AdditionalCustomerGroup5,
SalesContract._CustomerAccountAssgmtGroup,
SalesContract._ShippingType
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_OUTPUTREQUEST",
"I_SALESCONTRACT",
"I_SALESDOCUMENTPARTNER",
"I_SLSORGANIZATIONDISTRCHNL"
],
"ASSOCIATED":
[
"I_ADDITIONALCUSTOMERGROUP1",
"I_ADDITIONALCUSTOMERGROUP2",
"I_ADDITIONALCUSTOMERGROUP3",
"I_ADDITIONALCUSTOMERGROUP4",
"I_ADDITIONALCUSTOMERGROUP5",
"I_BILLINGBLOCKREASON",
"I_CENTRALCREDITCHECKSTATUS",
"I_CENTRALCREDITCHKTECHERRSTS",
"I_COMPANYCODE",
"I_CONTRACTDOWNPAYMENTSTATUS",
"I_CONTROLLINGAREA",
"I_COUNTRY",
"I_CURRENCY",
"I_CUSTOMERACCOUNTASSGMTGROUP",
"I_CUSTOMERGROUP",
"I_CUSTOMERPAYMENTTERMS",
"I_CUSTOMERPRICEGROUP",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_EXPRTINSURCREDITCHECKSTATUS",
"I_FINDOCCREDITCHECKSTATUS",
"I_HDRBILLGINCOMPLETIONSTATUS",
"I_HDRGENINCOMPLETIONSTATUS",
"I_INCOTERMSCLASSIFICATION",
"I_INCOTERMSVERSION",
"I_MAXDOCVALUECREDITCHECKSTS",
"I_OVERALLBILLINGBLOCKSTATUS",
"I_OVERALLCHMLCMPLNCSTATUS",
"I_OVERALLDANGEROUSGOODSSTATUS",
"I_OVERALLPRCINCOMPLETIONSTS",
"I_OVERALLSDDOCREFERENCESTATUS",
"I_OVERALLSDDOCUMENTRJCNSTATUS",
"I_OVERALLSDPROCESSSTATUS",
"I_OVERALLTOTALSDDOCREFSTATUS",
"I_OVRLITMBILLGINCOMPLTNSTS",
"I_OVRLITMGENINCOMPLETIONSTS",
"I_OVRLSFTYDATASHEETSTS",
"I_OVRLTRADECMPLNCEMBARGOSTATUS",
"I_OVRLTRDCMPLNCLEGALCTRLCHKSTS",
"I_OVTRDCMPLNCSNCTNDLISTCHKSTS",
"I_PAYMENTTERMCREDITCHECKSTS",
"I_PAYTAUTHSNCREDITCHECKSTS",
"I_PRICELISTTYPE",
"I_SALESCONTRACTAPPROVALREASON",
"I_SALESCONTRACTTYPE",
"I_SALESDISTRICT",
"I_SALESDOCAPPROVALSTATUS",
"I_SALESDOCUMENTSTANDARDPARTNER",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION",
"I_SDDOCUMENTREASON",
"I_SHIPPINGCONDITION",
"I_SHIPPINGTYPE",
"I_SLSCONTRACTVALIDITYPERDCAT",
"I_SLSORGANIZATIONDISTRCHNL",
"I_SLSPRICINGPROCEDURE",
"I_TOTALBLOCKSTATUS",
"I_TOTALCREDITCHECKSTATUS",
"I_USER",
"R_OUTPUTREQUESTTP",
"R_SALESCONTRACTITEMTP",
"R_SALESCONTRACTPARTNERTP",
"R_SALESCONTRACTSHIPTOPARTYTP",
"R_SALESCONTRACTTEXTTP",
"R_SLSCONTRPRICINGELEMENTTP"
],
"BASE":
[
"I_SALESCONTRACT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/