I_ACMAPPLICATIONDOCUMENT

CDS View

Interface for ACM Application Document

I_ACMAPPLICATIONDOCUMENT is a CDS View in S/4HANA. Interface for ACM Application Document. It contains 89 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
R_ACMApplicationDocumentTP view_entity from TRANSACTIONAL Root BO App Doc Item Data - TP

Fields (89)

KeyField CDS FieldsUsed in Views
KEY ACMDocumentSide ACMDocumentSide 1
KEY ApplicationDocument ApplicationDocument 1
KEY ApplicationDocumentItem ApplicationDocumentItem 1
KEY ApplicationDocumentSubItem ApplicationDocumentSubItem 1
_NominationTicketFlow _NominationTicketFlow 1
_VendSplit _VendSplit 1
ACMAppDocBaseUoM ACMAppDocBaseUoM 1
ACMAppDocDelivUoM ACMAppDocDelivUoM 1
ACMAppDocStatus ACMAppDocStatus 1
ACMApplActionType ACMApplActionType 1
ACMApplDocContrOptnDschrgdLoc ACMApplDocContrOptnDschrgdLoc 1
ACMApplDocContrOptnLoadLoc ACMApplDocContrOptnLoadLoc 1
ACMApplDocIsActiveVersion ACMApplDocIsActiveVersion 1
ACMApplDocIsBackToBack ACMApplDocIsBackToBack 1
ACMApplicationDocumentLogID ACMApplicationDocumentLogID 1
ACMApplicationStatusText ACMApplicationStatusText 1
ACMAppliedQuantityUoM ACMAppliedQuantityUoM 1
ACMApplItemHasBatchSplit ACMApplItemHasBatchSplit 1
ACMApplItemQuantity ACMApplItemQuantity 1
ACMApplItemQuantityUoM ACMApplItemQuantityUoM 1
ACMApplOvwSpotFlag ACMApplOvwSpotFlag 1
ACMApplPrcgDistrStatus ACMApplPrcgDistrStatus 1
ACMContractOptionsCropSeasonID ACMContractOptionsCropSeasonID 1
ACMContrItmPrvsnlUnderFillQty ACMContrItmPrvsnlUnderFillQty 1
ACMContrOptionsSourceLocation ACMContrOptionsSourceLocation 1
ACMDecimalGrossQuantity ACMDecimalGrossQuantity 1
ACMInternalWareHouseReceiptNo ACMInternalWareHouseReceiptNo 1
ACMLoadDataCaptureSplitSource ACMLoadDataCaptureSplitSource 1
ACMOptionsDeletionFlag ACMOptionsDeletionFlag 1
ACMOptionsDischargeRate ACMOptionsDischargeRate 1
ACMOptionsDischargeRateUnit ACMOptionsDischargeRateUnit 1
ACMOptionsLoadRateTimeUnit ACMOptionsLoadRateTimeUnit 1
ACMOptionsLoadRateUnit ACMOptionsLoadRateUnit 1
ACMOptnAlternateSupplierFlag ACMOptnAlternateSupplierFlag 1
ACMOptnDelivPeriodTimeUnit ACMOptnDelivPeriodTimeUnit 1
ACMOptnDschrgRateTimeUnit ACMOptnDschrgRateTimeUnit 1
ACMReferenceDocument2 ACMReferenceDocument2 1
ACMReferenceDocument3 ACMReferenceDocument3 1
ACMReferenceType2 ACMReferenceType2 1
ACMReferenceType3 ACMReferenceType3 1
ACMStorageStatusObject ACMStorageStatusObject 1
ACMSupplierSplitType ACMSupplierSplitType 1
AdjustedQuantity AdjustedQuantity 1
AdjustedQuantityUoM AdjustedQuantityUoM 1
ApplDocumentChangedBy ApplDocumentChangedBy 1
ApplDocumentCreatedBy ApplDocumentCreatedBy 1
ApplicationDocType ApplicationDocType 1
ApplicationHasCallOff ApplicationHasCallOff 1
ApplicationItemCategory ApplicationItemCategory 1
ApplicationItemChangedOnDate ApplicationItemChangedOnDate 1
ApplicationItemCreatedOnDate ApplicationItemCreatedOnDate 1
ApplicationStatusObject ApplicationStatusObject 1
ApplItemChangedOnDateTime ApplItemChangedOnDateTime 1
ApplItemCreatedOnDateTime ApplItemCreatedOnDateTime 1
ContractApplicationUUID ContractApplicationUUID 1
ContractApplicationVersion ContractApplicationVersion 1
ContrItmProvisionalOverFillQty ContrItmProvisionalOverFillQty 1
CustomerNum CustomerNum 1
DeliveryStartDate DeliveryStartDate 1
DocumentDate DocumentDate 1
Incoterms Incoterms 1
IsApplicationItemInTransit IsApplicationItemInTransit 1
LDCIsMultipleBuySellRelevant LDCIsMultipleBuySellRelevant 1
LoadDataCaptureObjectID LoadDataCaptureObjectID 1
LoadDataObjectUUID LoadDataObjectUUID 1
Material Material 1
MaterialDocument MaterialDocument 1
ModeOfTransport ModeOfTransport 1
NominationItem NominationItem 1
NominationKey NominationKey 1
OverfillID OverfillID 1
Plant Plant 1
PostingDate PostingDate 1
QuantityHistoryParentItem QuantityHistoryParentItem 1
ReferenceVendor ReferenceVendor 1
RootItem RootItem 1
SettlementStatusObject SettlementStatusObject 1
StorageAgreement StorageAgreement 1
StorageLocation StorageLocation 1
ToBeAppliedQuantity ToBeAppliedQuantity 1
ToBeAppliedQuantityUnit ToBeAppliedQuantityUnit 1
TradingContractItem TradingContractItem 1
TradingContractNumber TradingContractNumber 1
TrdgContractApplUnitOfMeasure TrdgContractApplUnitOfMeasure 1
TrdgContrItemOverFillQuantity TrdgContrItemOverFillQuantity 1
TrdgContrItemUnderFillQuantity TrdgContrItemUnderFillQuantity 1
TSWLocationID TSWLocationID 1
WarehouseReceiptNo WarehouseReceiptNo 1
WarehouseReceiptType WarehouseReceiptType 1
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Interface for ACM Application Document'
//@Metadata.allowExtensions: true

@ObjectModel.usageType:{
  serviceQuality: #C,
  sizeCategory: #L,
  dataClass: #TRANSACTIONAL
}
@VDM.viewType: #COMPOSITE
define view entity I_ACMApplicationDocument
  ---Application Document Item
  as select from           I_ACMApplicationDocumentDet as AppDocItem
  ---Application Document Header
    inner join             I_ACMApplDocHeaderData      as AppDocHdr on AppDocItem.ApplicationDocument = AppDocHdr.ApplicationDocument
  --- Application Document status
  //    left outer to one join I_ACMApplicationDocumentStatus as AppStatus               on AppDocItem.ApplicationStatusObject = AppStatus.ApplicationStatusObject

  ---LDC Event Details
  //    left outer to one join I_ACMLoadDataCapture           as LoadDataCaptureEventDet on AppDocItem.LoadDataObjectUUID = LoadDataCaptureEventDet.LDCKey


  ---AppData
    left outer to one join I_ACMApplicationData        as AppData   on  AppDocItem.ApplicationDocument     = AppData.ReferenceApplicationDocument
                                                                    and AppDocItem.ApplicationDocumentItem = AppData.ReferenceApplicationItem
                                                                    and AppDocItem.ACMDocumentSide         = AppData.ReferenceDocumentSide
  ---Optionality
  //    left outer to one join I_ACMApplContrOptionality      as Optionality             on  AppData.TradingContractNumber = Optionality.TradingContractNumber

  //                                                                                     and AppData.TradingContractItem   = Optionality.TradingContractItem

  --LDC Header data
  association [1..1] to I_ACMSupplierSplit          as _VendSplit            on  $projection.LoadDataObjectUUID = _VendSplit.ACMLoadDataCaptureEventKeyUUID

  --Nomination ticket key data
  association [1..1] to I_ACMTicketDocumentFlowBasic as _NominationTicketFlow on  $projection.ApplicationDocument          = _NominationTicketFlow.ACMUniversalTicketDocNumber
                                                                           --Commented line item since OIJ Error Log table is not having Line item for application document
                                                                           --  and (  $projection.ApplicationDocumentItem   = _NominationTicketFlow.ACMDocumentItemNumber
                                                                            
{
  key AppDocItem.ApplicationDocument,
  key AppDocItem.ApplicationDocumentItem,
  key AppDocItem.ACMDocumentSide,
  key AppDocItem.ApplicationDocumentSubItem,
      AppDocItem.ApplicationItemCategory,
      AppDocItem.ApplicationStatusObject,
      AppDocItem.SettlementStatusObject,
      AppDocItem.PostingDate,
      AppDocItem.Material,
      AppDocItem.LoadDataCaptureObjectID,
      AppDocItem.LoadDataObjectUUID,
      AppDocItem.IsApplicationItemInTransit,
      AppDocItem.ApplicationHasCallOff,
      AppDocItem.NominationKey,
      AppDocItem.NominationItem,
      AppDocItem.ACMReferenceType2,
      AppDocItem.ACMReferenceDocument2,
      AppDocItem.ACMReferenceType3,
      AppDocItem.ACMReferenceDocument3,
      AppDocItem.CustomerNum,
      AppDocItem.ReferenceVendor,
      
      @Semantics.quantity.unitOfMeasure: 'ACMAppDocBaseUoM'
      round(AppDocItem.ACMDecimalGrossQuantity , 3) as ACMDecimalGrossQuantity,
      AppDocItem.ACMAppDocBaseUoM,
      @Semantics.quantity.unitOfMeasure: 'ACMAppDocDelivUoM'
      round(AppDocItem.ACMAllocatedQuantity , 3)    as ACMAllocatedQuantity,
      AppDocItem.ACMAppDocDelivUoM,
      @Semantics.quantity.unitOfMeasure: 'ToBeAppliedQuantityUnit'
      round(AppDocItem.ToBeAppliedQuantity , 3)     as ToBeAppliedQuantity,
      AppDocItem.ToBeAppliedQuantityUnit,
      @Semantics.quantity.unitOfMeasure: 'AdjustedQuantityUoM'
      round(AppDocItem.AdjustedQuantity , 3)        as AdjustedQuantity,
      AppDocItem.AdjustedQuantityUoM,
      @Semantics.quantity.unitOfMeasure: 'ACMAppliedQuantityUoM'
      round(AppDocItem.ACMAppliedQuantity , 3)      as ACMAppliedQuantity,
      AppDocItem.ACMAppliedQuantityUoM,
      @Semantics.quantity.unitOfMeasure: 'ACMApplItemQuantityUoM'
      round(AppDocItem.ACMApplItemQuantity, 3)      as ACMApplItemQuantity,
      //       AppDocItem.ACMApplItemQuantity,

      AppDocItem.ACMApplItemQuantityUoM,
      /*
      @Semantics.quantity.unitOfMeasure: 'PickedQuantityUoM'
      AppDocItem.ACMPickedQuantity,
      AppDocItem.PickedQuantityUoM, */
      @Semantics.user.createdBy: true
      AppDocItem.ApplDocumentCreatedBy,
      //@Semantics.systemDateTime.createdAt: true

      AppDocItem.ApplicationItemCreatedOnDate,
      @Semantics.systemDateTime.createdAt: true
      AppDocItem.ApplItemCreatedOnDateTime,
      @Semantics.user.lastChangedBy: true
      AppDocItem.ApplDocumentChangedBy,
      //      @Semantics.systemDateTime.lastChangedAt: true

      AppDocItem.ApplicationItemChangedOnDate,
      @Semantics.systemDateTime.lastChangedAt: true
      AppDocItem.ApplItemChangedOnDateTime, ---Field used for etag
      AppDocItem.DeliveryDate,
      //      AppDocItem.ApplicationIsVehicleContrRlvt,

      AppDocItem.ACMApplOvwSpotFlag,
      AppDocItem.ACMApplDocIsBackToBack,
      AppDocItem.LDCIsMultipleBuySellRelevant,
      AppDocItem.ACMSupplierSplitType,
      AppDocItem.ACMLoadDataCaptureSplitSource, ---remove this field once the GFN is approved replace with ACMLoadDataCaptureSplitSource
      AppDocItem.StorageAgreement,
      AppDocItem.Plant,
      AppDocItem.StorageLocation,
      AppDocItem.ACMContractOptionsCropSeasonID,
      AppDocItem.TSWLocationID,
      AppDocItem.ACMApplItemHasBatchSplit,
      AppDocItem.WarehouseReceiptType,
      AppDocItem.ACMInternalWareHouseReceiptNo,
      AppDocItem.WarehouseReceiptNo,
      AppDocItem.ACMApplPrcgDistrStatus,
      AppDocItem.ACMApplicationDocumentLogID,
      AppDocItem.ACMStorageStatusObject,
      AppDocItem.ACMOptionsLoadRate,
      AppDocItem.ACMOptionsDischargeRate,
      AppDocItem.DeliveryStartDate,
      AppDocItem.ACMContrOptionsSourceLocation,
      AppDocItem.ACMOptionsLoadRateUnit,
      AppDocItem.ACMOptionsLoadRateTimeUnit,
      AppDocItem.ACMOptnDelivPeriodTimeUnit,
      AppDocItem.ACMOptionsDischargeRateUnit,
      AppDocItem.ACMOptnDschrgRateTimeUnit,
      AppDocItem.ACMApplDocContrOptnLoadLoc,
      AppDocItem.ACMApplDocContrOptnDschrgdLoc,
      AppDocItem.ModeOfTransport,
      AppDocItem.ACMContrOptionsMnsOfTransport,
      AppDocItem.MeansOfTransport,
      AppDocItem.Incoterms,
      AppDocItem.ACMOptionsDeletionFlag,
      AppDocItem.ACMOptnAlternateSupplierFlag,
      AppDocItem.ACMIsApplicationShowHistory,
      AppDocHdr.ApplicationDocType                  as ApplicationDocType,
      AppDocHdr.DocumentDate,
      AppDocHdr.MaterialDocument                    as MaterialDocument,
      case AppDocItem.ACMDocumentSide
      when 'M' then AppDocItem.ReferenceVendor
      when 'V' then AppDocItem.CustomerNum
      else ' '
      end                                           as Counterparty,
      //      LoadDataCaptureEventDet.LDCKey,

      //      LoadDataCaptureEventDet.LoadDataCaptureType,

      //      LoadDataCaptureEventDet.ACMLoadDataCaptureTypeText,

      //      LoadDataCaptureEventDet.VehicleId,

      //      LoadDataCaptureEventDet.TruckRailBargeId,

      //      LoadDataCaptureEventDet.CmmdtyTransptVesselID,

      //      LoadDataCaptureEventDet.LoadDataCaptureApplInstruction,

      //      LoadDataCaptureEventDet.ACMScaleTicketNumber,

      //      LoadDataCaptureEventDet.BillOfLading,

      //      LoadDataCaptureEventDet.BillOfLadingDate,

      //      LoadDataCaptureEventDet.ToPostingDate,

      //      LoadDataCaptureEventDet.NominationTicketKey,

      //      LoadDataCaptureEventDet.ACMLoadDataCaptureLeadCarNo,

      //      LoadDataCaptureEventDet.ApplicationIsVehicleContrRlvt,

      AppData.ContractApplicationUUID,
      AppData.ContractApplicationVersion,
      AppData.TradingContractNumber,
      AppData.TradingContractItem,
      AppData.OverfillID,
      @Semantics.quantity.unitOfMeasure: 'TrdgContractApplUnitOfMeasure'
      AppData.ContrItmProvisionalOverFillQty,
      @Semantics.quantity.unitOfMeasure: 'TrdgContractApplUnitOfMeasure'
      AppData.ACMContrItmPrvsnlUnderFillQty,
      @Semantics.quantity.unitOfMeasure: 'TrdgContractApplUnitOfMeasure'
      AppData.TrdgContrItemOverFillQuantity,
      @Semantics.quantity.unitOfMeasure: 'TrdgContractApplUnitOfMeasure'
      AppData.TrdgContrItemUnderFillQuantity,
      AppData.TrdgContractApplUnitOfMeasure,
      AppData.ACMApplDocIsActiveVersion,
      //      Optionality.ACMTradingContractOptionsType,

      //      Optionality.ACMContrOptionsTypeText,

      _VendSplit.ACMLoadDataCaptureEventKeyUUID,
      AppDocItem.QuantityHistoryParentItem,
      AppDocItem.RootItem,
      AppDocItem.ACMAppDocStatus,
      AppDocItem.ACMApplicationStatusText,
      AppDocItem.ACMApplActionType,
      //      AppDocItem.StatusProfileName,

      //      AppDocItem.ACMSettlementStatusText,

      //      AppDocItem.ACMStorageStatusText,

      _VendSplit,
      _NominationTicketFlow

}
//where

//  AppDocItem.ApplicationItemCategory <> 'L'

//  and AppData.ACMApplicationStatus       <> '9' //To remove duplicates in case App doc is reversed and Contract is again applied

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ACMAPPLDOCHEADERDATA",
"I_ACMAPPLICATIONDATA",
"I_ACMAPPLICATIONDOCUMENTDET",
"I_ACMSUPPLIERSPLIT"
],
"ASSOCIATED":
[
"I_ACMSUPPLIERSPLIT",
"I_ACMTICKETDOCUMENTFLOWBASIC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/