@AbapCatalog.sqlViewName: 'ITRDGCTROVW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.type: #INHERITED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE ]
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Interface Layer for Trading Ctr Overview'
define view I_TradingContractOverview
as select distinct from P_TradingContractOverview as TradgContrOvw
left outer join I_TrdgContractSnapshotData as TrdgContrSnapshot on TrdgContrSnapshot.ACMSnapshotID = TradgContrOvw.TradingContractNumber
left outer join P_GenericDomainVH( p_domain_name: '/ACCGO/D_OUTPUT_PROC') as OutputProcess on OutputProcess.DomainValue = TrdgContrSnapshot.ACMTrdgContractOutputProcess
left outer join P_GenericDomainVH( p_domain_name: '/ACCGO/D_SIGNATURE_STATUS') as SignatureStatus on SignatureStatus.DomainValue = TrdgContrSnapshot.ACMTrdgContrSignatureStatus
association [0..1] to P_TradingContractCounterparty as _Counterparty on $projection.Counterparty = _Counterparty.Counterparty
//association [0..1] to I_ACMMaterialMstrData as _material on $projection.ContractMaterial = _material.Material
{
key TradingContractNumber,
TradingContractType,
TradingContractTypeName,
Side,
DocumentSide,
TradgContrOvw.ContractStatus,
TrdgContrApplStsName,
TradingContractCurrency,
SalesOrganization,
SalesOrgDescr as SalesOrganizationText,
DistributionChannel,
DistributionChannelDescr as DistributionChannelText,
Division,
SalesDivisionDescr as DivisionName,
PurchasingOrganization,
ekotx as PurchasingOrganizationName,
PurchasingGroup,
eknam as PurchasingGroupName,
TradingContractExternalID,
TradingContrCreatedOnDate,
DocumentDate,
PersonResponsible as TrdgContrPersonResponsible,
PersonResponsibleName as TrdgContrPersonResponsibleName,
TradingContractCreatedBy,
TradingContractCreatedByName,
TradingContractChangedBy,
//Begin of change for Adding Contract Closure With CDOTE Indicator.
@Semantics.booleanIndicator
ACMTrdgContrIsStatusClosed,
//End of change.
case
when TradingContractChangedByName is null
then TradingContractCreatedByName
else TradingContractChangedByName
end as TradingContractChangedByName,
case
when TradingContractChangedOnDate = '00000000'
then DocumentDate
else TradingContractChangedOnDate
end as TradingContractChangedOnDate,
// ContractMaterial,
// ContractPlant,
// _material.Commodity as Commodity,
Counterparty,
_Counterparty.CounterpartyFullName,
_Counterparty.CustomerName,
Incoterms,
IncotermsClassificationName,
IncotermsLocation1,
CompanyCode,
case
when TradgContrOvw.ContractStatus = 'O' or TradgContrOvw.ContractStatus = 'T'
or TradgContrOvw.ContractStatus = 'W' or TradgContrOvw.ContractStatus = 'C' or
TradgContrOvw.ContractStatus = 'R' then cast( 3 as int4 )
when TradgContrOvw.ContractStatus = 'U' or TradgContrOvw.ContractStatus = 'F' then cast( 2 as int4 )
when TradgContrOvw.ContractStatus = 'E' or TradgContrOvw.ContractStatus = 'S' or TradgContrOvw.ContractStatus = 'Y' then cast( 1 as int4 )
else cast( 0 as int4 )
end as ACMSemanticColor,
TrdgContrSnapshot.ACMTrdgContractOutputProcess,
OutputProcess.DomainText as ACMTrdgContrOutpProcText,
TrdgContrSnapshot.ACMTrdgContrSignatureStatus,
SignatureStatus.DomainText as ACMTrdgContrSgntrStsText
}
group by TradingContractNumber,
TradingContractType,
TradingContractTypeName,
Side,
DocumentSide,
TradgContrOvw.ContractStatus,
TrdgContrApplStsName,
SalesOrganization,
DistributionChannel,
Division,
PurchasingOrganization,
PurchasingGroup,
TradingContractExternalID,
TradingContrCreatedOnDate,
DocumentDate,
PersonResponsible,
Counterparty,
Incoterms,
IncotermsClassificationName,
IncotermsLocation1,
_Counterparty.CounterpartyFullName,
TradingContractCurrency,
SalesOrgDescr,
DistributionChannelDescr,
SalesDivisionDescr,
ekotx,
eknam,
PersonResponsibleName,
TradingContractCreatedBy,
TradingContractCreatedByName,
TradingContractChangedBy,
TradingContractChangedByName,
ACMTrdgContrIsStatusClosed,
TradingContractChangedOnDate,
_Counterparty.CustomerName,
CompanyCode,
TrdgContrSnapshot.ACMTrdgContractOutputProcess,
TrdgContrSnapshot.ACMTrdgContrSignatureStatus,
OutputProcess.DomainText,
SignatureStatus.DomainText
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_TRDGCONTRACTSNAPSHOTDATA",
"P_GENERICDOMAINVH",
"P_TRADINGCONTRACTCOUNTERPARTY",
"P_TRADINGCONTRACTOVERVIEW"
],
"ASSOCIATED":
[
"P_TRADINGCONTRACTCOUNTERPARTY"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/