Skip to content

Instantly share code, notes, and snippets.

@weiserman
Created February 3, 2026 04:48
Show Gist options
  • Select an option

  • Save weiserman/3ae0d704f7ff2e8d00499be1b90ca771 to your computer and use it in GitHub Desktop.

Select an option

Save weiserman/3ae0d704f7ff2e8d00499be1b90ca771 to your computer and use it in GitHub Desktop.
annotation example
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/UI.xml">
<edmx:Include Namespace="com.sap.vocabularies.UI.v1" Alias="UI" />
</edmx:Reference>
<edmx:Reference Uri="/sap/opu/odata4/sap/zap_comm_ui_v4/srvd/sap/zap_comm_ui/0001/$metadata">
<edmx:Include Namespace="com.sap.gateway.srvd.zap_comm_ui.v0001" Alias="SAP__self" />
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="local">
<Annotations Target="SAP__self.EmailType">
<Annotation Term="UI.FieldGroup" Qualifier="GeneratedGroup">
<Record Type="UI.FieldGroupType">
<PropertyValue Property="Data">
<Collection>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="ExternalId" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="Channel" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="ChannelType" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CountryCode" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="IntegrationCorrelationId" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CommStatus" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStep" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStepStatus" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStepProccessedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailId" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailSenderAddr" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailSubject" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailSentAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailReceivedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="VendorNumber" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="InvoiceReference" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="PoCcode" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalCreatedBy" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalCreatedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalLastChangedBy" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalLastChangedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CommStatus_Description" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CommStatus_Criticality" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStepStatus_Description" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStepStatus_Criticality" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStep_Description" />
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="UI.Facets">
<Collection>
<Record Type="UI.ReferenceFacet">
<PropertyValue Property="ID" String="GeneratedFacet1" />
<PropertyValue Property="Label" String="General Information" />
<PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#GeneratedGroup" />
</Record>
<Record Type="UI.ReferenceFacet">
<PropertyValue Property="Label" String="Admin" />
<PropertyValue Property="ID" String="Admin" />
<PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#Admin" />
</Record>
<Record Type="UI.ReferenceFacet">
<PropertyValue Property="Label" String="Attachments" />
<PropertyValue Property="ID" String="Attachments" />
<PropertyValue Property="Target" AnnotationPath="_Attachments/@UI.LineItem#Attachments" />
</Record>
</Collection>
</Annotation>
<Annotation Term="UI.LineItem">
<Collection>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="ExternalId" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="CurrentStepStatus" />
<PropertyValue Property="Label" String="Status" />
<PropertyValue Property="Criticality" Path="CommStatus_Criticality" />
<Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailSenderAddr" />
<PropertyValue Property="Label" String="Email Address" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="EmailSubject" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="Channel" />
</Record>
</Collection>
</Annotation>
<Annotation Term="UI.SelectionFields">
<Collection>
<PropertyPath>CurrentStepStatus</PropertyPath>
</Collection>
</Annotation>
<Annotation Term="UI.FieldGroup" Qualifier="Admin">
<Record Type="UI.FieldGroupType">
<PropertyValue Property="Data">
<Collection>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalCreatedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalLastChangedAt" />
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<Annotations Target="SAP__self.AttachmentsType">
<Annotation Term="UI.LineItem" Qualifier="Attachments">
<Collection>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileName" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileSize" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="AttachmentType" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileExtension" />
</Record>
</Collection>
</Annotation>
<Annotation Term="UI.Facets">
<Collection>
<Record Type="UI.ReferenceFacet">
<PropertyValue Property="Label" String="Attachment" />
<PropertyValue Property="ID" String="Attachement" />
<PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#Attachement" />
</Record>
</Collection>
</Annotation>
<Annotation Term="UI.FieldGroup" Qualifier="Attachements">
<Record Type="UI.FieldGroupType">
<PropertyValue Property="Data">
<Collection />
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="UI.FieldGroup" Qualifier="Attachement">
<Record Type="UI.FieldGroupType">
<PropertyValue Property="Data">
<Collection>
<Record Type="UI.DataFieldWithUrl">
<PropertyValue Property="Value" Path="FileName" />
<PropertyValue Property="Url" Path="AwsS3SignedUrl" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileSize" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LastChangedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="LocalCreatedAt" />
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileExtension" />
</Record>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="UI.HeaderInfo">
<Record>
<PropertyValue Property="TypeName" String="Attachment" />
<PropertyValue Property="TypeNamePlural" String="Attachments" />
<PropertyValue Property="Title">
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="FileName" />
</Record>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment