@AbapCatalog.sqlViewName: 'ICOMMITEMTP'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Manage Commitment Item'
@VDM.viewType: #TRANSACTIONAL
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel: {
modelCategory: #BUSINESS_OBJECT,
createEnabled: true,
draftEnabled: true,
representativeKey: 'CommitmentItem',
semanticKey: [ 'FinancialManagementArea', 'CommitmentItem', 'FinMgmtAreaFiscalYear' ],
compositionRoot: true,
transactionalProcessingEnabled: true,
updateEnabled: 'EXTERNAL_CALCULATION',
deleteEnabled: true,
writeDraftPersistence: 'FMCOMMITEM_DRAFT',
entityChangeStateId: 'EXTERNAL_CALCULATION',
lifecycle.draft.expiryBehavior: #RELATIVE_TO_PROCESSING_START,
lifecycle.draft.expiryInterval: 'P5D',
sapObjectNodeType.name: 'CommitmentItem',
usageType: {
dataClass: #MASTER,
serviceQuality: #B,
sizeCategory: #L
}
}
@Consumption.semanticObject: 'CommitmentItem'
define view I_CommitmentItemTP
as select from I_CommitmentItem as iComItem
// ValueHelp
association [1] to I_CommitmentItem as _CommitmentItemVH on $projection.FinancialManagementArea = _CommitmentItemVH.FinancialManagementArea
and $projection.CommitmentItem = _CommitmentItemVH.CommitmentItem
and $projection.FinMgmtAreaFiscalYear = _CommitmentItemVH.FinMgmtAreaFiscalYear
association [1..1] to E_CommitmentItem as _Extension //do not expose this association in the projection list of the view
on $projection.FinancialManagementArea = _Extension.FinancialManagementArea
and $projection.FinMgmtAreaFiscalYear = _Extension.FinMgmtAreaFiscalYear
and $projection.CommitmentItem = _Extension.CommitmentItem
{
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_FinMgmtArea'
key iComItem.FinancialManagementArea,
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_CommitmentItemVH'
key iComItem.FinMgmtAreaFiscalYear,
@ObjectModel.readOnly: true
@ObjectModel.foreignKey.association: '_CommitmentItemVH'
key iComItem.CommitmentItem,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.FinancialManagementArea as FinancialManagementAreaForEdit,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItem as CommitmentItemForEdit,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.FinMgmtAreaFiscalYear as FinMgmtAreaFiscalYearForEdit,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemInternalId,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemShortID,
//obsolete field cannot be deleted from DRAFT table, we have to keep it
CommitmentItemShortID as CommitmentItemInternalName,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemIsPostingEnabled,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
cast( iComItem.CmtmtItmFinancialTransaction as fmci_financial_transaction preserving type ) as CmtmtItmFinancialTransaction,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
cast( iComItem.CommitmentItemCategory as fmci_commitment_item_category preserving type ) as CommitmentItemCategory,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemType,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
cast (iComItem.ParentCommitmentItem as fmci_superior_commitment_item preserving type ) as ParentCommitmentItem,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
@API.element.releaseState: #DEPRECATED
@API.element.successor: 'CmtmtItmDefaultFundsCenter'
iComItem.FundsCenter,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CmtmtItmDefaultFundsCenter,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CmtmtItmCarryFwdItmCategory,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemIsStatistical,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
cast( iComItem.CommitmentItemRequestType as fmci_request_type preserving type ) as CommitmentItemRequestType,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemAuthznGrp,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CmtmtItemFinMgmtAreaForAuthzn,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.ValidityEndDate,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.ValidityStartDate,
//virtual field "Valid From - Valid To"
@ObjectModel.readOnly: true
cast( concat(iComItem.ValidityStartDate, concat('-',iComItem.ValidityEndDate)) as commitmentitemvalidityperiod ) as CommitmentItemValidityPeriod,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem.CommitmentItemExpirationDate,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem._Text[1:Language = $session.system_language].CommitmentItemName as CommitmentItemName,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem._Text[1:Language = $session.system_language].CommitmentItemDescription as CommitmentItemDescription,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem._Text[1:Language = $session.system_language].CommitmentItemDescription2 as CommitmentItemDescription2,
@ObjectModel.enabled: 'EXTERNAL_CALCULATION'
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@ObjectModel.mandatory: 'EXTERNAL_CALCULATION'
iComItem._Text[1:Language = $session.system_language].CommitmentItemDescription3 as CommitmentItemDescription3,
@ObjectModel.enabled: true
@ObjectModel.readOnly: true
@ObjectModel.mandatory: false
iComItem._CommitmentItemHierarchy[1:CommitmentItemHierarchyVariant = '000'].CreationDate as CreationDate,
@ObjectModel.enabled: true
@ObjectModel.readOnly: true
@ObjectModel.mandatory: false
iComItem._CommitmentItemHierarchy[1:CommitmentItemHierarchyVariant = '000'].CreatedByUser as CreatedByUser,
_FinMgmtArea,
_FiscalYearForFinMgmtArea,
_Text,
_FinancialTransaction,
_CommitmentItemCategory,
_CommitmentItemHierarchy,
_CommitmentItemVH,
_CommitmentItemParent
};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMMITMENTITEM",
"I_COMMITMENTITEMHIERARCHY",
"I_COMMITMENTITEMTEXT"
],
"ASSOCIATED":
[
"E_COMMITMENTITEM",
"I_CMTMTITMFINANCIALTRANSACTION",
"I_COMMITMENTITEM",
"I_COMMITMENTITEMCATEGORY",
"I_COMMITMENTITEMHIERARCHY",
"I_COMMITMENTITEMTEXT",
"I_FINANCIALMANAGEMENTAREA",
"I_FISCALYEARFORFINMGMTAREA"
],
"BASE":
[
"I_COMMITMENTITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/