/*---------------------------------------------------------------------*
* Copyright 2012 SAP AG. All rights reserved *
*----------------------------------------------------------------------*
* CDS Name : I_SettlementGroupOverview *
* CDS Description : Interface View For Settlement Workcenter *
* Overview Screen *
*---------------------------------------------------------------------*/
@AbapCatalog.sqlViewName: 'ISTLMNTGRPOVW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.type: #INHERITED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.supportedCapabilities: #CDS_MODELING_DATA_SOURCE
@Metadata.ignorePropagatedAnnotations: true
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: ['IsBusinessPurposeCompleted']
@EndUserText.label: 'Interface Layer For Settlement Group Overview'
define view I_SettlementGroupOverview
as select distinct from P_SettlementDocumentOverview as _SettlementGroupHeader
left outer join P_ACMContractFrmSettlmt as _ContractData on _ContractData.TradingContractNumber = _SettlementGroupHeader.TradingContract
left outer join I_ACMSystemStatus as _SettlementStatus on _SettlementStatus.ApplicationStatusObject = _SettlementGroupHeader.ACMSettlementStatusObject
and _SettlementStatus.ChangeDocumentStatusIsInactive is initial
left outer join P_GenericDomainVH( p_domain_name: '/ACCGO/D_SETTL_SCENARIO') as SettlementScenario on SettlementScenario.DomainValue = _SettlementGroupHeader.SettlementScenario
left outer join P_GenericDomainVH( p_domain_name: '/ACCGO/D_SETTL_CAT') as DocumentCategory on DocumentCategory.DomainValue = _SettlementGroupHeader.SettlmtDocCat
left outer join P_GenericDomainVH( p_domain_name: 'WLF_PR_SIDE') as Side on Side.DomainValue = _SettlementGroupHeader.Side
left outer join I_CompanyCode as CompCodeDescr on CompCodeDescr.CompanyCode = _SettlementGroupHeader.CompanyCode
and CompCodeDescr.Language = $session.system_language
left outer join P_ACMTrdgContrCounterPty as _Counterparty on _Counterparty.Counterparty = _SettlementGroupHeader.Counterparty
{
key _SettlementGroupHeader.SettlementDocGroupUUID as SettlementDocGroupUUID,
key _SettlementGroupHeader.SettlementGroupId as SettlementGroupId,
key _SettlementGroupHeader.SettlementFiscalYear as SettlementFiscalYear,
key _SettlementGroupHeader.SettlmtDoc as SettlmtDoc,
_SettlementGroupHeader.SettlementDocHeaderUUID as SettlementDocHeaderUUID,
@Semantics.amount.currencyCode: 'SettlementAmountCurrency'
_SettlementGroupHeader.SettlementAmount as SettlementAmount,
_SettlementGroupHeader.SettlementAmountCurrency as SettlementAmountCurrency,
_SettlementGroupHeader.ABDNumber as ABDNumber,
_SettlementGroupHeader.SettlementScenario as SettlementScenario,
case
when _SettlementGroupHeader.ThresholdPercentage = 0.00
then fltp_to_dec( 100.00 as abap.dec(7,2) )
else _SettlementGroupHeader.ThresholdPercentage
end as ThresholdPercentage,
_SettlementGroupHeader.DPQSinSettlementIndicator as DPQSinSettlementIndicator,
SettlementScenario.DomainText as SettlementScenarioName,
_SettlementGroupHeader.SettlmtDocCat as SettlmtDocCat,
DocumentCategory.DomainText as DocumentCategoryText,
_SettlementGroupHeader.Counterparty as Counterparty,
_Counterparty.CustomerName as CustomerName,
_Counterparty.CounterpartyFullName as CounterpartyFullName,
_Counterparty.ACMCounterpartyFirstName as ACMCounterpartyFirstName, //+Free Text Search
_Counterparty.ACMCounterpartyLastName as ACMCounterpartyLastName, //+Free Text Search
_SettlementGroupHeader.Side as Side,
Side.DomainText as DocumentSide,
_SettlementGroupHeader.CompanyCode as CompanyCode,
CompCodeDescr.CompanyCodeName as CompanyCodeName,
_SettlementGroupHeader.ContractPlant as ContractPlant,
_SettlementGroupHeader.StopSettlementIsRelease as StopSettlementIsRelease,
_SettlementGroupHeader.ReferenceVendor as ReferenceVendor,
_SettlementGroupHeader.CustomerNum as CustomerNum,
_SettlementGroupHeader.ACMSettlementStatusObject as SettlementStatusObject,
_SettlementStatus.StatusProfileName as SystemStatus,
_SettlementStatus.SystemStatusName as SystemStatusName,
case
when _SettlementStatus.StatusProfileName = 'I7S57' or _SettlementStatus.StatusProfileName = 'I7S58' or
_SettlementStatus.StatusProfileName = 'I7S61'
then cast( 1 as int4 )
when _SettlementStatus.StatusProfileName = 'I7S51' or _SettlementStatus.StatusProfileName = 'I7S52' or
_SettlementStatus.StatusProfileName = 'I7S53' or _SettlementStatus.StatusProfileName = 'I7S54' or
_SettlementStatus.StatusProfileName = 'I7S55' or _SettlementStatus.StatusProfileName = 'I7S60' or
_SettlementStatus.StatusProfileName = 'I7S59'
then cast( 2 as int4 )
when _SettlementStatus.StatusProfileName = 'I7S56'
then cast( 3 as int4 )
else cast( 2 as int4 )
end as ACMSemanticColor,
_SettlementGroupHeader.ReferenceDocumentNumber as ReferenceDocumentNumber,
_SettlementGroupHeader.ApplicationDocument as ApplicationDocument,
case
when _SettlementGroupHeader.ReferenceDocumentNumber is not initial
then cast( _SettlementGroupHeader.ReferenceDocumentNumber as /accgo/e_appldoc )
when _SettlementGroupHeader.ApplicationDocument is not initial
then _SettlementGroupHeader.ApplicationDocument
else ''
end as ContractApplicationDocument,
--PredecessorDocumentNumber is replaced by ACMPredecessorDocumentNumber
--PredecessorDocumentNumber was having ATCs becasue of lenghth mismatch with default data element in GFN
--manipulating its lenght in view I_ACMApplDocItem was generating new ATCs mentioning error for changed length of field in already release interface views
@API.element.releaseState: #DEPRECATED
@API.element.successor: 'ACMPredecessorDocumentNumber'
_SettlementGroupHeader.PredecessorDocumentNumber as PredecessorDocumentNumber,
_SettlementGroupHeader.ACMPredecessorDocumentNumber as ACMPredecessorDocumentNumber,
case
when _SettlementGroupHeader.PredecessorDocumentSide = 'V' and
_SettlementGroupHeader.PrecedingDocumentType = 'A'
then cast ( _SettlementGroupHeader.ACMPredecessorDocumentNumber as vbeln )
else ''
end as SalesOrder,
case
when _SettlementGroupHeader.PredecessorDocumentSide = 'M' and
_SettlementGroupHeader.PrecedingDocumentType = 'C'
then cast ( _SettlementGroupHeader.ACMPredecessorDocumentNumber as ebeln )
else ''
end as PurchaseOrder,
_SettlementGroupHeader.ApplicationDocAppliedDate as ApplicationDocAppliedDate,
_SettlementGroupHeader.LoadDataCaptureObjId as LoadDataCaptureObjId,
_SettlementGroupHeader.LDCId as LDCId,
_SettlementGroupHeader.ContractNum as ContractNum,
_SettlementGroupHeader.TradingContract as TradingContract,
case
when _SettlementGroupHeader.ReferenceDocumentNumber is not initial
then _SettlementGroupHeader.ContractNum
when _SettlementGroupHeader.TradingContract is not initial
then _SettlementGroupHeader.TradingContract
else ''
end as TradingContractNumber,
_ContractData.TradingContractType as TradingContractType,
_ContractData.TradingContractTypeName as TradingContractTypeName,
_ContractData.ContractMaterial as ContractMaterial,
_ContractData.SalesOrganization as SalesOrganization,
_ContractData.SalesOrgDescr as SalesOrganizationText,
_ContractData.DistributionChannel as DistributionChannel,
_ContractData.DistributionChannelDescr as DistributionChannelText,
_ContractData.Division as Division,
_ContractData.SalesDivisionDescr as DivisionName,
_ContractData.PurchasingOrganization as PurchasingOrganization,
_ContractData.PurchasingOrganizationName as PurchasingOrganizationName,
_ContractData.PurchasingGroup as PurchasingGroup,
_ContractData.PurchasingGroupName as PurchasingGroupName,
@Semantics.booleanIndicator: true
_Counterparty.IsBusinessPurposeCompleted
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ACMSYSTEMSTATUS",
"I_COMPANYCODE",
"P_ACMCONTRACTFRMSETTLMT",
"P_ACMTRDGCONTRCOUNTERPTY",
"P_GENERICDOMAINVH",
"P_SETTLEMENTDOCUMENTOVERVIEW"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/