@EndUserText.label: 'Collection Worklist Item'
@AbapCatalog.sqlViewName: 'ICOLLWLITEM'
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.representativeKey: 'CollectionWorklistItemUUID'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.sapObjectNodeType.name: 'CollectionsWorklistItem'
@ObjectModel: { supportedCapabilities: [#EXTRACTION_DATA_SOURCE,#SQL_DATA_SOURCE ] }
@Metadata.ignorePropagatedAnnotations:true
@Analytics.dataExtraction: {
enabled: true,
delta.changeDataCapture.automatic: true
}
define view I_CollectionWorklistItem
as select from udm_wl_item
association [0..1] to I_CollectionGroup as _CollectionGroup on $projection.CollectionGroup = _CollectionGroup.CollectionGroup
association [0..1] to I_CollectionSegment as _CollectionSegment on $projection.CollectionSegment = _CollectionSegment.CollectionSegment
//association [0..*] to I_CollectionPriority as _Priority on CollectionPriority = _Priority.Priority
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
association [0..1] to I_User as _User on $projection.CollectionSpecialist = _User.UserID
association [0..1] to I_CollectionsStrategy as _CollectionsStrategy on $projection.CollectionStrategy = _CollectionsStrategy.CollectionStrategy
{
key workitem_id as CollectionWorklistItemUUID,
cast( coll_specialist as bdm_coll_specialist preserving type ) as CollectionSpecialist,
@ObjectModel.foreignKey.association: '_CollectionGroup'
cast( coll_group as udm_coll_group preserving type ) as CollectionGroup,
@ObjectModel.foreignKey.association: '_CollectionSegment'
cast( coll_segment as farp_collection_segment preserving type ) as CollectionSegment,
cast( wl_item_date as udm_worklist_item_date ) as WorklistItemCreationDate,
cast( run_id as udm_coll_run_id preserving type ) as CollectionWorklistRun,
cast( status as udm_worklist_item_status preserving type ) as Status,
cast( strategy as udm_coll_strategy preserving type ) as CollectionStrategy,
cast( strategy_version as udm_strategy_version preserving type ) as CollectionsStrategyVersion,
// ,cast( valuation as UDM_COLL_VALUATION ) as Valuation
cast( percentage as udm_valuation_by_percentage preserving type ) as WorklistItemValuationPercent,
// ,cast( max_sequence_id as UDM_SEQUENCE_ID ) as MAX_SEQUENCE_ID
partner_id as BusinessPartner,
// ,cast( partner_desc as BU_DESCRIP ) as PARTNER_DESC
// ,cast( partner_accno as UDM_KUNNR ) as PARTNER_ACCNO
// ,cast( partner_augrp as BU_AUGRP ) as PARTNER_AUGRP
// ,cast( contact_name as UDM_LAST_CONTACT_DESC ) as CONTACT_NAME
// ,cast( contact_phone as UDM_COLL_CONTACT_PHONE ) as CONTACT_PHONE
cast( cct_result as udm_cct_result_id preserving type ) as CustomerContactResult,
// ,cast( last_cct_time as UDM_LAST_CCT_TIME ) as LAST_CCT_TIME
// ,cast( calltimefrom as UDM_CALLTIMEFROM ) as CALLTIMEFROM
// ,cast( calltimeto as UDM_CALLTIMETO ) as CALLTIMETO
// ,cast( visitingtimefrom as UDM_VISITINGTIMEFROM ) as VISITINGTIMEFROM
// ,cast( visitingtimeto as UDM_VISITINGTIMETO ) as VISITINGTIMETO
// ,cast( total_amt as UDM_AMOUNT_TOTAL ) as TOTAL_AMT
// ,cast( debit_amt as UDM_AMOUNT_DEBIT ) as DEBIT_AMT
// ,cast( credit_amt as UDM_AMOUNT_CREDIT ) as CREDIT_AMT
@Semantics.amount.currencyCode: 'Currency'
cast( amt_collected as udm_amount_to_be_collected preserving type ) as CollectableAmount,
// ,cast( due_amt as UDM_AMOUNT_DUE ) as DUE_AMT
// ,cast( overdue_amt as UDM_AMOUNT_OVERDUE ) as OVERDUE_AMT
// ,cast( promised_amt as UDM_AMOUNT_TOTAL_PROMISED ) as PROMISED_AMT
//// ,cast( disputed_amt as UDM_AMOUNT_DISPUTED ) as DISPUTED_AMT
// ,cast( dunned_amt as UDM_AMOUNT_TOTAL_DUNNED ) as DUNNED_AMT
// ,cast( arranged_amt as UDM_AMOUNT_ARRANGED ) as ARRANGED_AMT
// ,cast( broken_amt as UDM_AMOUNT_BROKEN ) as BROKEN_AMT
cast( currency as udm_coll_strategy_currency preserving type ) as Currency,
// ,cast( due_amt_int1 as UDM_AMOUNT_INTERVAL ) as DUE_AMT_INT1
// ,cast( due_amt_int2 as UDM_AMOUNT_INTERVAL ) as DUE_AMT_INT2
// ,cast( due_amt_int3 as UDM_AMOUNT_INTERVAL ) as DUE_AMT_INT3
// ,cast( due_amt_int4 as UDM_AMOUNT_INTERVAL ) as DUE_AMT_INT4
// ,cast( due_amt_int5 as UDM_AMOUNT_INTERVAL ) as DUE_AMT_INT5
// ,cast( overdue_amt_int1 as UDM_AMOUNT_INTERVAL ) as OVERDUE_AMT_INT1
// ,cast( overdue_amt_int2 as UDM_AMOUNT_INTERVAL ) as OVERDUE_AMT_INT2
// ,cast( overdue_amt_int3 as UDM_AMOUNT_INTERVAL ) as OVERDUE_AMT_INT3
// ,cast( overdue_amt_int4 as UDM_AMOUNT_INTERVAL ) as OVERDUE_AMT_INT4
// ,cast( overdue_amt_int5 as UDM_AMOUNT_INTERVAL ) as OVERDUE_AMT_INT5
// ,cast( last_pay_date as BDM_LAST_PAYMENT_DATE ) as LAST_PAY_DATE
// ,cast( rsm_date as BDM_RSM_DATE ) as RSM_DATE
// ,cast( rsm_time as BDM_RSM_TIME ) as RSM_TIME
// ,cast( rsm_reason as UDM_RSM_REASON_ID ) as RSM_REASON
// ,cast( max_dunnlevel as UDM_MAX_DUNN_LEVEL ) as MAX_DUNNLEVEL
// ,cast( last_dunndate as BDM_LAST_DUNN_DATE ) as LAST_DUNNDATE
// ,cast( credit_sgmnt as UKM_CREDIT_SGMNT ) as CREDIT_SGMNT
// ,cast( credit_limit as UKM_CREDIT_LIMIT ) as CREDIT_LIMIT
// ,cast( credit_rating as UKM_OWN_RATING ) as CREDIT_RATING
// ,cast( credit_exposure as UDM_CREDLIMIT_USED ) as CREDIT_EXPOSURE
// ,cast( credit_risk_cls as UDM_RISK_CLASS ) as CREDIT_RISK_CLS
// ,cast( grade as UDM_GRADE ) as GRADE
// ,cast( grade_method as UDM_GRADE_METHOD ) as GRADE_METHOD
// ,cast( grade_valid_to as UDM_GRADE_VALID_TO ) as GRADE_VALID_TO
// ,cast( created_by as SCMG_CREATE_USER ) as CREATED_BY
// ,cast( create_time as SCMG_CREATE_TIME ) as CREATE_TIME
// ,cast( changed_by as SCMG_CHANGE_USER ) as CHANGED_BY
// ,cast( change_time as SCMG_CHANGE_TIME ) as CHANGE_TIME
// ,cast( head_office as UDM_WL_HEAD_OFFICE ) as HEAD_OFFICE
// ,cast( xambig_ho as UDM_XAMBIG_HO ) as XAMBIG_HO
// ,cast( global_eval as UDM_GLOBAL_EVAL ) as GLOBAL_EVAL
_CollectionGroup,
_CollectionSegment,
_Currency,
_User,
_CollectionsStrategy
}