Generate OData VDM using S/4 HANA SDK leads to errorsHow to send Function Import request via S/4HANA SDK?Does S/4HANA Cloud SDK support obtaining metadata instead of the actual entities for OData?Failure connecting to S/4 Hana via Cloud SDKCan't query BAPI via OData on S/4Hana using Cloud SDKDestinationAccessException Error in executing ODATA V2 calls using S4 SDK in cloud foundry environmentHow do I access OData service using the SAP S/4HANA Cloud SDK in existing application?Use parameters $filter and $expand with VDM generated classesOData $batch request using ODataQueryBuilder or VDMUnable to generate VDM classesDeploy my project with S4 SDK in SCP Neo lead to errorNot able to perform Deep Insert operation for API_PRODUCT_SRV Standard WhiteListed API using S/4 Hana Cloud SDK

A Paper Record is What I Hamper

How to not starve gigantic beasts

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

How important is it that $TERM is correct?

What is the term for a person whose job is to place products on shelves in stores?

Will I lose my paid in full property

What is purpose of DB Browser(dbbrowser.aspx) under admin tool?

How do I reattach a shelf to the wall when it ripped out of the wall?

Combinatorics problem, right solution?

Unknown code in script

Is there really no use for MD5 anymore?

Where was the County of Thurn und Taxis located?

What is the best way to deal with NPC-NPC combat?

Prove that the countable union of countable sets is also countable

What's the difference between using dependency injection with a container and using a service locator?

How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?

How much of a wave function must reside inside event horizon for it to be consumed by the black hole?

All ASCII characters with a given bit count

What is the most expensive material in the world that could be used to create Pun-Pun's lute?

Co-worker works way more than he should

I preordered a game on my Xbox while on the home screen of my friend's account. Which of us owns the game?

My bank got bought out, am I now going to have to start filing tax returns in a different state?

Why do distances seem to matter in the Foundation world?

Is it acceptable to use working hours to read general interest books?



Generate OData VDM using S/4 HANA SDK leads to errors


How to send Function Import request via S/4HANA SDK?Does S/4HANA Cloud SDK support obtaining metadata instead of the actual entities for OData?Failure connecting to S/4 Hana via Cloud SDKCan't query BAPI via OData on S/4Hana using Cloud SDKDestinationAccessException Error in executing ODATA V2 calls using S4 SDK in cloud foundry environmentHow do I access OData service using the SAP S/4HANA Cloud SDK in existing application?Use parameters $filter and $expand with VDM generated classesOData $batch request using ODataQueryBuilder or VDMUnable to generate VDM classesDeploy my project with S4 SDK in SCP Neo lead to errorNot able to perform Deep Insert operation for API_PRODUCT_SRV Standard WhiteListed API using S/4 Hana Cloud SDK






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I tried to generate VDM for the OData service provided by S/4 HANA Cloud (which is not in API hub). The generated VDM class shows errors, in particular, it has an error with UUID set and get method, and the TRUE property. I attached the metadata edmx.xml here.



Ying



This XML file does not appear to have any style information associated with it. The document tree is shown below.



edmx.xml:



<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData" Version="1.0">
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="Aggregation"/>
</edmx:Reference>
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="APS_IAM_SIAG_BROLE_SRV" xml:lang="en" sap:schema-version="1">
<EntityType Name="IagprivilegeauthDetails" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessCatalogID"/>
<PropertyRef Name="PrivilegeRole"/>
</Key>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeRole" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeProfile" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ActionType" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="AuthGroup" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceExtn" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FromValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ToValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FioriCatalogId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
</EntityType>
<EntityType Name="aps_iam_brbua_ddlType" sap:label="Business Role Business User Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessRoleUUID"/>
<PropertyRef Name="BusinessUserAssignmentID"/>
</Key>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" Nullable="false" sap:label="Business Role UUID"/>
<Property Name="BusinessUserAssignmentID" Type="Edm.String" Nullable="false" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User Assignment ID"/>
<Property Name="UserID" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User ID"/>
<Property Name="UserName" Type="Edm.String" MaxLength="40" sap:display-format="UpperCase" sap:label="Business User Name"/>
<Property Name="FirstName" Type="Edm.String" MaxLength="40" sap:label="Business User First Name"/>
<Property Name="LastName" Type="Edm.String" MaxLength="40" sap:label="Business User Last Name"/>
<Property Name="PersonID" Type="Edm.String" MaxLength="10" sap:display-format="UpperCase" sap:label="Business User Person ID"/>
<Property Name="Building" Type="Edm.String" MaxLength="10" sap:label="Building"/>
<Property Name="Floor" Type="Edm.String" MaxLength="10" sap:label="Floor"/>
<Property Name="Room" Type="Edm.String" MaxLength="10" sap:label="Room"/>
<Property Name="PriceCategory" Type="Edm.Int16" sap:label="Price Category"/>
<Property Name="PriceCategoryText" Type="Edm.String" MaxLength="80" sap:label="Price Category"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Brca_DllType" sap:label="Business Role - Catalog Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
<PropertyRef Name="BusinessCatalogID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="FioriCatalogID" Type="Edm.String" MaxLength="35" sap:display-format="UpperCase" sap:label="Fiori Catalog ID" sap:quickinfo="Fiori Catalog Type"/>
<Property Name="RoleTemplate" Type="Edm.String" MaxLength="30" sap:display-format="UpperCase" sap:label="Role Name"/>
<Property Name="Restrictable" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="Restrictable"/>
<NavigationProperty Name="to_BusinessRole" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" FromRole="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F" ToRole="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<NavigationProperty Name="to_Description" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" FromRole="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" ToRole="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Br_DllType" sap:label="IAG Business Role View" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="UUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="LastChangedAt" Type="Edm.DateTimeOffset" Precision="0" sap:label="Time Stamp" sap:quickinfo="UTC Time Stamp in Short Form (YYYYMMDDhhmmss)"/>
<Property Name="LastChangedBy" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="User Name"/>
<Property Name="Description" Type="Edm.String" MaxLength="80" sap:label="" sap:quickinfo="IAM: Business Role Description"/>
<Property Name="Language" Type="Edm.String" MaxLength="2" sap:label="Language Key"/>
<NavigationProperty Name="to_BusinessCatalogAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" FromRole="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674" ToRole="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<NavigationProperty Name="to_BusinessUserAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" FromRole="FromRole_assoc_35A670E810662891BAABAA62A25B742F" ToRole="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</EntityType>
<EntityType Name="aps_iam_vbct_ddlType" sap:label="Business Catalog Text" sap:content-version="1">
<Key>
<PropertyRef Name="bu_catalog_id"/>
<PropertyRef Name="language"/>
</Key>
<Property Name="bu_catalog_id" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="language" Type="Edm.String" Nullable="false" MaxLength="2" sap:label="Language Key"/>
<Property Name="text" Type="Edm.String" MaxLength="80" sap:label="Business Catalog"/>
<Property Name="long_text" Type="Edm.String" sap:label="Description" sap:sortable="false" sap:filterable="false"/>
<Property Name="is_deprecated" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="TRUE" sap:quickinfo="Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')"/>
</EntityType>
<Association Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" Multiplicity="*" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</Association>
<Association Name="assoc_7D2C2868538CD70C0B433A90421C523F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="0..1" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</Association>
<Association Name="assoc_DFC7845EA2C63AB8EE73721D41279674" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="*" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</Association>
<Association Name="assoc_35A670E810662891BAABAA62A25B742F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" Multiplicity="*" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</Association>
<EntityContainer Name="APS_IAM_SIAG_BROLE_SRV_Entities" m:IsDefaultEntityContainer="true" sap:supported-formats="atom json xlsx">
<EntitySet Name="IagprivilegeauthDetailsSet" EntityType="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:searchable="true" sap:content-version="1"/>
<EntitySet Name="aps_iam_brbua_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Brca_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Br_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="aps_iam_vbct_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<AssociationSet Name="assoc_35A670E810662891BAABAA62A25B742F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End EntitySet="aps_iam_brbua_ddl" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</AssociationSet>
<AssociationSet Name="assoc_7D2C2868538CD70C0B433A90421C523F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</AssociationSet>
<AssociationSet Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" Association="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End EntitySet="aps_iam_vbct_ddl" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</AssociationSet>
<AssociationSet Name="assoc_DFC7845EA2C63AB8EE73721D41279674" Association="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</AssociationSet>
<FunctionImport Name="getBusinessCatalogAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="BusinessCatalogID" Type="Edm.String" Mode="In" MaxLength="40"/>
<Parameter Name="ID" Type="Edm.String" Mode="In" MaxLength="40"/>
</FunctionImport>
<FunctionImport Name="getAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="ID" Type="Edm.String" Mode="In"/>
</FunctionImport>
</EntityContainer>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities">
<Annotation Term="Aggregation.ApplySupported">
<Record>
<PropertyValue Property="Transformations">
<Collection>
<String>aggregate</String>
<String>groupby</String>
<String>filter</String>
</Collection>
</PropertyValue>
<PropertyValue Property="Rollup" EnumMember="None"/>
</Record>
</Annotation>
</Annotations>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities/aps_iam_vbct_ddl">
<Annotation Term="Capabilities.FilterRestrictions">
<Record>
<PropertyValue Property="FilterExpressionRestrictions">
<Collection>
<Record>
<PropertyValue Property="Property" PropertyPath="long_text"/>
<PropertyValue Property="AllowedExpressions" String="SearchExpression"/>
</Record>
</Collection>
</PropertyValue>
<PropertyValue Property="NonFilterableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="Capabilities.SortRestrictions">
<Record>
<PropertyValue Property="NonSortableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="latest-version" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
</Schema>
</edmx:DataServices>
</edmx:Edmx> `










share|improve this question
























  • Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

    – Christoph Schubert
    Mar 9 at 20:02












  • Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

    – Fred Z
    Mar 10 at 22:43

















0















I tried to generate VDM for the OData service provided by S/4 HANA Cloud (which is not in API hub). The generated VDM class shows errors, in particular, it has an error with UUID set and get method, and the TRUE property. I attached the metadata edmx.xml here.



Ying



This XML file does not appear to have any style information associated with it. The document tree is shown below.



edmx.xml:



<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData" Version="1.0">
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="Aggregation"/>
</edmx:Reference>
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="APS_IAM_SIAG_BROLE_SRV" xml:lang="en" sap:schema-version="1">
<EntityType Name="IagprivilegeauthDetails" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessCatalogID"/>
<PropertyRef Name="PrivilegeRole"/>
</Key>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeRole" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeProfile" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ActionType" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="AuthGroup" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceExtn" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FromValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ToValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FioriCatalogId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
</EntityType>
<EntityType Name="aps_iam_brbua_ddlType" sap:label="Business Role Business User Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessRoleUUID"/>
<PropertyRef Name="BusinessUserAssignmentID"/>
</Key>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" Nullable="false" sap:label="Business Role UUID"/>
<Property Name="BusinessUserAssignmentID" Type="Edm.String" Nullable="false" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User Assignment ID"/>
<Property Name="UserID" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User ID"/>
<Property Name="UserName" Type="Edm.String" MaxLength="40" sap:display-format="UpperCase" sap:label="Business User Name"/>
<Property Name="FirstName" Type="Edm.String" MaxLength="40" sap:label="Business User First Name"/>
<Property Name="LastName" Type="Edm.String" MaxLength="40" sap:label="Business User Last Name"/>
<Property Name="PersonID" Type="Edm.String" MaxLength="10" sap:display-format="UpperCase" sap:label="Business User Person ID"/>
<Property Name="Building" Type="Edm.String" MaxLength="10" sap:label="Building"/>
<Property Name="Floor" Type="Edm.String" MaxLength="10" sap:label="Floor"/>
<Property Name="Room" Type="Edm.String" MaxLength="10" sap:label="Room"/>
<Property Name="PriceCategory" Type="Edm.Int16" sap:label="Price Category"/>
<Property Name="PriceCategoryText" Type="Edm.String" MaxLength="80" sap:label="Price Category"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Brca_DllType" sap:label="Business Role - Catalog Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
<PropertyRef Name="BusinessCatalogID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="FioriCatalogID" Type="Edm.String" MaxLength="35" sap:display-format="UpperCase" sap:label="Fiori Catalog ID" sap:quickinfo="Fiori Catalog Type"/>
<Property Name="RoleTemplate" Type="Edm.String" MaxLength="30" sap:display-format="UpperCase" sap:label="Role Name"/>
<Property Name="Restrictable" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="Restrictable"/>
<NavigationProperty Name="to_BusinessRole" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" FromRole="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F" ToRole="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<NavigationProperty Name="to_Description" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" FromRole="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" ToRole="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Br_DllType" sap:label="IAG Business Role View" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="UUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="LastChangedAt" Type="Edm.DateTimeOffset" Precision="0" sap:label="Time Stamp" sap:quickinfo="UTC Time Stamp in Short Form (YYYYMMDDhhmmss)"/>
<Property Name="LastChangedBy" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="User Name"/>
<Property Name="Description" Type="Edm.String" MaxLength="80" sap:label="" sap:quickinfo="IAM: Business Role Description"/>
<Property Name="Language" Type="Edm.String" MaxLength="2" sap:label="Language Key"/>
<NavigationProperty Name="to_BusinessCatalogAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" FromRole="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674" ToRole="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<NavigationProperty Name="to_BusinessUserAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" FromRole="FromRole_assoc_35A670E810662891BAABAA62A25B742F" ToRole="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</EntityType>
<EntityType Name="aps_iam_vbct_ddlType" sap:label="Business Catalog Text" sap:content-version="1">
<Key>
<PropertyRef Name="bu_catalog_id"/>
<PropertyRef Name="language"/>
</Key>
<Property Name="bu_catalog_id" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="language" Type="Edm.String" Nullable="false" MaxLength="2" sap:label="Language Key"/>
<Property Name="text" Type="Edm.String" MaxLength="80" sap:label="Business Catalog"/>
<Property Name="long_text" Type="Edm.String" sap:label="Description" sap:sortable="false" sap:filterable="false"/>
<Property Name="is_deprecated" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="TRUE" sap:quickinfo="Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')"/>
</EntityType>
<Association Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" Multiplicity="*" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</Association>
<Association Name="assoc_7D2C2868538CD70C0B433A90421C523F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="0..1" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</Association>
<Association Name="assoc_DFC7845EA2C63AB8EE73721D41279674" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="*" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</Association>
<Association Name="assoc_35A670E810662891BAABAA62A25B742F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" Multiplicity="*" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</Association>
<EntityContainer Name="APS_IAM_SIAG_BROLE_SRV_Entities" m:IsDefaultEntityContainer="true" sap:supported-formats="atom json xlsx">
<EntitySet Name="IagprivilegeauthDetailsSet" EntityType="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:searchable="true" sap:content-version="1"/>
<EntitySet Name="aps_iam_brbua_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Brca_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Br_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="aps_iam_vbct_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<AssociationSet Name="assoc_35A670E810662891BAABAA62A25B742F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End EntitySet="aps_iam_brbua_ddl" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</AssociationSet>
<AssociationSet Name="assoc_7D2C2868538CD70C0B433A90421C523F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</AssociationSet>
<AssociationSet Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" Association="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End EntitySet="aps_iam_vbct_ddl" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</AssociationSet>
<AssociationSet Name="assoc_DFC7845EA2C63AB8EE73721D41279674" Association="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</AssociationSet>
<FunctionImport Name="getBusinessCatalogAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="BusinessCatalogID" Type="Edm.String" Mode="In" MaxLength="40"/>
<Parameter Name="ID" Type="Edm.String" Mode="In" MaxLength="40"/>
</FunctionImport>
<FunctionImport Name="getAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="ID" Type="Edm.String" Mode="In"/>
</FunctionImport>
</EntityContainer>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities">
<Annotation Term="Aggregation.ApplySupported">
<Record>
<PropertyValue Property="Transformations">
<Collection>
<String>aggregate</String>
<String>groupby</String>
<String>filter</String>
</Collection>
</PropertyValue>
<PropertyValue Property="Rollup" EnumMember="None"/>
</Record>
</Annotation>
</Annotations>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities/aps_iam_vbct_ddl">
<Annotation Term="Capabilities.FilterRestrictions">
<Record>
<PropertyValue Property="FilterExpressionRestrictions">
<Collection>
<Record>
<PropertyValue Property="Property" PropertyPath="long_text"/>
<PropertyValue Property="AllowedExpressions" String="SearchExpression"/>
</Record>
</Collection>
</PropertyValue>
<PropertyValue Property="NonFilterableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="Capabilities.SortRestrictions">
<Record>
<PropertyValue Property="NonSortableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="latest-version" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
</Schema>
</edmx:DataServices>
</edmx:Edmx> `










share|improve this question
























  • Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

    – Christoph Schubert
    Mar 9 at 20:02












  • Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

    – Fred Z
    Mar 10 at 22:43













0












0








0








I tried to generate VDM for the OData service provided by S/4 HANA Cloud (which is not in API hub). The generated VDM class shows errors, in particular, it has an error with UUID set and get method, and the TRUE property. I attached the metadata edmx.xml here.



Ying



This XML file does not appear to have any style information associated with it. The document tree is shown below.



edmx.xml:



<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData" Version="1.0">
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="Aggregation"/>
</edmx:Reference>
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="APS_IAM_SIAG_BROLE_SRV" xml:lang="en" sap:schema-version="1">
<EntityType Name="IagprivilegeauthDetails" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessCatalogID"/>
<PropertyRef Name="PrivilegeRole"/>
</Key>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeRole" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeProfile" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ActionType" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="AuthGroup" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceExtn" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FromValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ToValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FioriCatalogId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
</EntityType>
<EntityType Name="aps_iam_brbua_ddlType" sap:label="Business Role Business User Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessRoleUUID"/>
<PropertyRef Name="BusinessUserAssignmentID"/>
</Key>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" Nullable="false" sap:label="Business Role UUID"/>
<Property Name="BusinessUserAssignmentID" Type="Edm.String" Nullable="false" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User Assignment ID"/>
<Property Name="UserID" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User ID"/>
<Property Name="UserName" Type="Edm.String" MaxLength="40" sap:display-format="UpperCase" sap:label="Business User Name"/>
<Property Name="FirstName" Type="Edm.String" MaxLength="40" sap:label="Business User First Name"/>
<Property Name="LastName" Type="Edm.String" MaxLength="40" sap:label="Business User Last Name"/>
<Property Name="PersonID" Type="Edm.String" MaxLength="10" sap:display-format="UpperCase" sap:label="Business User Person ID"/>
<Property Name="Building" Type="Edm.String" MaxLength="10" sap:label="Building"/>
<Property Name="Floor" Type="Edm.String" MaxLength="10" sap:label="Floor"/>
<Property Name="Room" Type="Edm.String" MaxLength="10" sap:label="Room"/>
<Property Name="PriceCategory" Type="Edm.Int16" sap:label="Price Category"/>
<Property Name="PriceCategoryText" Type="Edm.String" MaxLength="80" sap:label="Price Category"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Brca_DllType" sap:label="Business Role - Catalog Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
<PropertyRef Name="BusinessCatalogID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="FioriCatalogID" Type="Edm.String" MaxLength="35" sap:display-format="UpperCase" sap:label="Fiori Catalog ID" sap:quickinfo="Fiori Catalog Type"/>
<Property Name="RoleTemplate" Type="Edm.String" MaxLength="30" sap:display-format="UpperCase" sap:label="Role Name"/>
<Property Name="Restrictable" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="Restrictable"/>
<NavigationProperty Name="to_BusinessRole" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" FromRole="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F" ToRole="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<NavigationProperty Name="to_Description" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" FromRole="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" ToRole="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Br_DllType" sap:label="IAG Business Role View" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="UUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="LastChangedAt" Type="Edm.DateTimeOffset" Precision="0" sap:label="Time Stamp" sap:quickinfo="UTC Time Stamp in Short Form (YYYYMMDDhhmmss)"/>
<Property Name="LastChangedBy" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="User Name"/>
<Property Name="Description" Type="Edm.String" MaxLength="80" sap:label="" sap:quickinfo="IAM: Business Role Description"/>
<Property Name="Language" Type="Edm.String" MaxLength="2" sap:label="Language Key"/>
<NavigationProperty Name="to_BusinessCatalogAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" FromRole="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674" ToRole="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<NavigationProperty Name="to_BusinessUserAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" FromRole="FromRole_assoc_35A670E810662891BAABAA62A25B742F" ToRole="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</EntityType>
<EntityType Name="aps_iam_vbct_ddlType" sap:label="Business Catalog Text" sap:content-version="1">
<Key>
<PropertyRef Name="bu_catalog_id"/>
<PropertyRef Name="language"/>
</Key>
<Property Name="bu_catalog_id" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="language" Type="Edm.String" Nullable="false" MaxLength="2" sap:label="Language Key"/>
<Property Name="text" Type="Edm.String" MaxLength="80" sap:label="Business Catalog"/>
<Property Name="long_text" Type="Edm.String" sap:label="Description" sap:sortable="false" sap:filterable="false"/>
<Property Name="is_deprecated" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="TRUE" sap:quickinfo="Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')"/>
</EntityType>
<Association Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" Multiplicity="*" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</Association>
<Association Name="assoc_7D2C2868538CD70C0B433A90421C523F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="0..1" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</Association>
<Association Name="assoc_DFC7845EA2C63AB8EE73721D41279674" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="*" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</Association>
<Association Name="assoc_35A670E810662891BAABAA62A25B742F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" Multiplicity="*" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</Association>
<EntityContainer Name="APS_IAM_SIAG_BROLE_SRV_Entities" m:IsDefaultEntityContainer="true" sap:supported-formats="atom json xlsx">
<EntitySet Name="IagprivilegeauthDetailsSet" EntityType="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:searchable="true" sap:content-version="1"/>
<EntitySet Name="aps_iam_brbua_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Brca_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Br_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="aps_iam_vbct_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<AssociationSet Name="assoc_35A670E810662891BAABAA62A25B742F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End EntitySet="aps_iam_brbua_ddl" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</AssociationSet>
<AssociationSet Name="assoc_7D2C2868538CD70C0B433A90421C523F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</AssociationSet>
<AssociationSet Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" Association="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End EntitySet="aps_iam_vbct_ddl" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</AssociationSet>
<AssociationSet Name="assoc_DFC7845EA2C63AB8EE73721D41279674" Association="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</AssociationSet>
<FunctionImport Name="getBusinessCatalogAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="BusinessCatalogID" Type="Edm.String" Mode="In" MaxLength="40"/>
<Parameter Name="ID" Type="Edm.String" Mode="In" MaxLength="40"/>
</FunctionImport>
<FunctionImport Name="getAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="ID" Type="Edm.String" Mode="In"/>
</FunctionImport>
</EntityContainer>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities">
<Annotation Term="Aggregation.ApplySupported">
<Record>
<PropertyValue Property="Transformations">
<Collection>
<String>aggregate</String>
<String>groupby</String>
<String>filter</String>
</Collection>
</PropertyValue>
<PropertyValue Property="Rollup" EnumMember="None"/>
</Record>
</Annotation>
</Annotations>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities/aps_iam_vbct_ddl">
<Annotation Term="Capabilities.FilterRestrictions">
<Record>
<PropertyValue Property="FilterExpressionRestrictions">
<Collection>
<Record>
<PropertyValue Property="Property" PropertyPath="long_text"/>
<PropertyValue Property="AllowedExpressions" String="SearchExpression"/>
</Record>
</Collection>
</PropertyValue>
<PropertyValue Property="NonFilterableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="Capabilities.SortRestrictions">
<Record>
<PropertyValue Property="NonSortableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="latest-version" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
</Schema>
</edmx:DataServices>
</edmx:Edmx> `










share|improve this question
















I tried to generate VDM for the OData service provided by S/4 HANA Cloud (which is not in API hub). The generated VDM class shows errors, in particular, it has an error with UUID set and get method, and the TRUE property. I attached the metadata edmx.xml here.



Ying



This XML file does not appear to have any style information associated with it. The document tree is shown below.



edmx.xml:



<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData" Version="1.0">
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMON',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Common.v1" Alias="Common"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_CAPABILITIES',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_COMMUNICATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="com.sap.vocabularies.Communication.v1" Alias="Communication"/>
</edmx:Reference>
<edmx:Reference xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Uri="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_AGGREGATION',Version='0001',SAP__Origin='LOCAL')/$value">
<edmx:Include Namespace="Org.OData.Aggregation.V1" Alias="Aggregation"/>
</edmx:Reference>
<edmx:DataServices m:DataServiceVersion="2.0">
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="APS_IAM_SIAG_BROLE_SRV" xml:lang="en" sap:schema-version="1">
<EntityType Name="IagprivilegeauthDetails" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessCatalogID"/>
<PropertyRef Name="PrivilegeRole"/>
</Key>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeRole" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="PrivilegeProfile" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ActionType" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="AuthGroup" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ResourceExtn" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FromValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="ToValue" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
<Property Name="FioriCatalogId" Type="Edm.String" Nullable="false" sap:unicode="false" sap:creatable="false" sap:updatable="false" sap:sortable="false" sap:filterable="false"/>
</EntityType>
<EntityType Name="aps_iam_brbua_ddlType" sap:label="Business Role Business User Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="BusinessRoleUUID"/>
<PropertyRef Name="BusinessUserAssignmentID"/>
</Key>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" Nullable="false" sap:label="Business Role UUID"/>
<Property Name="BusinessUserAssignmentID" Type="Edm.String" Nullable="false" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User Assignment ID"/>
<Property Name="UserID" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="Business User ID"/>
<Property Name="UserName" Type="Edm.String" MaxLength="40" sap:display-format="UpperCase" sap:label="Business User Name"/>
<Property Name="FirstName" Type="Edm.String" MaxLength="40" sap:label="Business User First Name"/>
<Property Name="LastName" Type="Edm.String" MaxLength="40" sap:label="Business User Last Name"/>
<Property Name="PersonID" Type="Edm.String" MaxLength="10" sap:display-format="UpperCase" sap:label="Business User Person ID"/>
<Property Name="Building" Type="Edm.String" MaxLength="10" sap:label="Building"/>
<Property Name="Floor" Type="Edm.String" MaxLength="10" sap:label="Floor"/>
<Property Name="Room" Type="Edm.String" MaxLength="10" sap:label="Room"/>
<Property Name="PriceCategory" Type="Edm.Int16" sap:label="Price Category"/>
<Property Name="PriceCategoryText" Type="Edm.String" MaxLength="80" sap:label="Price Category"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Brca_DllType" sap:label="Business Role - Catalog Assignment" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
<PropertyRef Name="BusinessCatalogID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="BusinessCatalogID" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="BusinessRoleUUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="FioriCatalogID" Type="Edm.String" MaxLength="35" sap:display-format="UpperCase" sap:label="Fiori Catalog ID" sap:quickinfo="Fiori Catalog Type"/>
<Property Name="RoleTemplate" Type="Edm.String" MaxLength="30" sap:display-format="UpperCase" sap:label="Role Name"/>
<Property Name="Restrictable" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="Restrictable"/>
<NavigationProperty Name="to_BusinessRole" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" FromRole="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F" ToRole="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<NavigationProperty Name="to_Description" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" FromRole="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" ToRole="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</EntityType>
<EntityType Name="Aps_Iam_Siag_Br_DllType" sap:label="IAG Business Role View" sap:content-version="1">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false" MaxLength="40" sap:display-format="UpperCase" sap:label="Bus. Role ID" sap:quickinfo="IAM: Business Role ID"/>
<Property Name="UUID" Type="Edm.Guid" sap:label="UUID" sap:quickinfo="Global Unique ID for table"/>
<Property Name="LastChangedAt" Type="Edm.DateTimeOffset" Precision="0" sap:label="Time Stamp" sap:quickinfo="UTC Time Stamp in Short Form (YYYYMMDDhhmmss)"/>
<Property Name="LastChangedBy" Type="Edm.String" MaxLength="12" sap:display-format="UpperCase" sap:label="User Name"/>
<Property Name="Description" Type="Edm.String" MaxLength="80" sap:label="" sap:quickinfo="IAM: Business Role Description"/>
<Property Name="Language" Type="Edm.String" MaxLength="2" sap:label="Language Key"/>
<NavigationProperty Name="to_BusinessCatalogAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" FromRole="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674" ToRole="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<NavigationProperty Name="to_BusinessUserAssignment" Relationship="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" FromRole="FromRole_assoc_35A670E810662891BAABAA62A25B742F" ToRole="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</EntityType>
<EntityType Name="aps_iam_vbct_ddlType" sap:label="Business Catalog Text" sap:content-version="1">
<Key>
<PropertyRef Name="bu_catalog_id"/>
<PropertyRef Name="language"/>
</Key>
<Property Name="bu_catalog_id" Type="Edm.String" Nullable="false" MaxLength="35" sap:display-format="UpperCase" sap:label="Catalog ID" sap:quickinfo="IAM: Business Catalog ID"/>
<Property Name="language" Type="Edm.String" Nullable="false" MaxLength="2" sap:label="Language Key"/>
<Property Name="text" Type="Edm.String" MaxLength="80" sap:label="Business Catalog"/>
<Property Name="long_text" Type="Edm.String" sap:label="Description" sap:sortable="false" sap:filterable="false"/>
<Property Name="is_deprecated" Type="Edm.Boolean" sap:display-format="UpperCase" sap:label="TRUE" sap:quickinfo="Data element for domain BOOLE: TRUE (='X') and FALSE (=' ')"/>
</EntityType>
<Association Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" Multiplicity="*" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</Association>
<Association Name="assoc_7D2C2868538CD70C0B433A90421C523F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="1" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="0..1" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</Association>
<Association Name="assoc_DFC7845EA2C63AB8EE73721D41279674" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" Multiplicity="*" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</Association>
<Association Name="assoc_35A670E810662891BAABAA62A25B742F" sap:content-version="1">
<End Type="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" Multiplicity="1" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End Type="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" Multiplicity="*" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</Association>
<EntityContainer Name="APS_IAM_SIAG_BROLE_SRV_Entities" m:IsDefaultEntityContainer="true" sap:supported-formats="atom json xlsx">
<EntitySet Name="IagprivilegeauthDetailsSet" EntityType="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:searchable="true" sap:content-version="1"/>
<EntitySet Name="aps_iam_brbua_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_brbua_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Brca_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Brca_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="Aps_Iam_Siag_Br_Dll" EntityType="APS_IAM_SIAG_BROLE_SRV.Aps_Iam_Siag_Br_DllType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<EntitySet Name="aps_iam_vbct_ddl" EntityType="APS_IAM_SIAG_BROLE_SRV.aps_iam_vbct_ddlType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1"/>
<AssociationSet Name="assoc_35A670E810662891BAABAA62A25B742F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_35A670E810662891BAABAA62A25B742F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_35A670E810662891BAABAA62A25B742F"/>
<End EntitySet="aps_iam_brbua_ddl" Role="ToRole_assoc_35A670E810662891BAABAA62A25B742F"/>
</AssociationSet>
<AssociationSet Name="assoc_7D2C2868538CD70C0B433A90421C523F" Association="APS_IAM_SIAG_BROLE_SRV.assoc_7D2C2868538CD70C0B433A90421C523F" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="ToRole_assoc_7D2C2868538CD70C0B433A90421C523F"/>
</AssociationSet>
<AssociationSet Name="assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" Association="APS_IAM_SIAG_BROLE_SRV.assoc_C2CAEB0FCF842BFF92ECFB837B9001F9" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="FromRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
<End EntitySet="aps_iam_vbct_ddl" Role="ToRole_assoc_C2CAEB0FCF842BFF92ECFB837B9001F9"/>
</AssociationSet>
<AssociationSet Name="assoc_DFC7845EA2C63AB8EE73721D41279674" Association="APS_IAM_SIAG_BROLE_SRV.assoc_DFC7845EA2C63AB8EE73721D41279674" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1">
<End EntitySet="Aps_Iam_Siag_Br_Dll" Role="FromRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
<End EntitySet="Aps_Iam_Siag_Brca_Dll" Role="ToRole_assoc_DFC7845EA2C63AB8EE73721D41279674"/>
</AssociationSet>
<FunctionImport Name="getBusinessCatalogAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="BusinessCatalogID" Type="Edm.String" Mode="In" MaxLength="40"/>
<Parameter Name="ID" Type="Edm.String" Mode="In" MaxLength="40"/>
</FunctionImport>
<FunctionImport Name="getAuthDetails" ReturnType="Collection(APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails)" EntitySet="IagprivilegeauthDetailsSet" m:HttpMethod="GET" sap:action-for="APS_IAM_SIAG_BROLE_SRV.IagprivilegeauthDetails">
<Parameter Name="ID" Type="Edm.String" Mode="In"/>
</FunctionImport>
</EntityContainer>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities">
<Annotation Term="Aggregation.ApplySupported">
<Record>
<PropertyValue Property="Transformations">
<Collection>
<String>aggregate</String>
<String>groupby</String>
<String>filter</String>
</Collection>
</PropertyValue>
<PropertyValue Property="Rollup" EnumMember="None"/>
</Record>
</Annotation>
</Annotations>
<Annotations xmlns="http://docs.oasis-open.org/odata/ns/edm" Target="APS_IAM_SIAG_BROLE_SRV.APS_IAM_SIAG_BROLE_SRV_Entities/aps_iam_vbct_ddl">
<Annotation Term="Capabilities.FilterRestrictions">
<Record>
<PropertyValue Property="FilterExpressionRestrictions">
<Collection>
<Record>
<PropertyValue Property="Property" PropertyPath="long_text"/>
<PropertyValue Property="AllowedExpressions" String="SearchExpression"/>
</Record>
</Collection>
</PropertyValue>
<PropertyValue Property="NonFilterableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
<Annotation Term="Capabilities.SortRestrictions">
<Record>
<PropertyValue Property="NonSortableProperties">
<Collection>
<PropertyPath>long_text</PropertyPath>
<PropertyPath>long_text</PropertyPath>
</Collection>
</PropertyValue>
</Record>
</Annotation>
</Annotations>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="self" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="latest-version" href="https://my300470-api.s4hana.ondemand.com/sap/opu/odata/SAP/APS_IAM_SIAG_BROLE_SRV/$metadata"/>
</Schema>
</edmx:DataServices>
</edmx:Edmx> `







s4sdk






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 9 at 7:16









karel

2,33392832




2,33392832










asked Mar 9 at 1:20









Fred ZFred Z

143




143












  • Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

    – Christoph Schubert
    Mar 9 at 20:02












  • Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

    – Fred Z
    Mar 10 at 22:43

















  • Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

    – Christoph Schubert
    Mar 9 at 20:02












  • Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

    – Fred Z
    Mar 10 at 22:43
















Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

– Christoph Schubert
Mar 9 at 20:02






Can you please clarify which errors you encounter? I basically followed the deep dive, incl. adding the necessary dependencies (like lombok), and it looks fine for me. On an additional note: You might want to consider cleaning the labels/names up so that e.g. the is_deprecated property is not exposed as getTRUE.

– Christoph Schubert
Mar 9 at 20:02














Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

– Fred Z
Mar 10 at 22:43





Hi Christoph, Thanks for quick response! I sent an e-mail with screen shot. Please look at the screen shot, the code generated for IAGBusinessRoleView.java. If you look at the left panel, you don’t see the getter methods, but in the source code at the right side, the getter methods are needed in the generated code. I don’t know why two set of properties are generated. I am not sure if it is related to this. The Odata service is provided by S/4 HANA colleagues. I can see it needs to be improved with labels. But I can’t change them because it is not our code. Best regards Fred

– Fred Z
Mar 10 at 22:43












1 Answer
1






active

oldest

votes


















6














It turned out that the problem was missing Lombok configuration.



As this question is asked multiple times I will give a bit more comprehensive answer than just "configure it", answering the most common questions.



What is Lombok?



According to their website:




Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.




More specifically Lombok allows you to add annotations to your code which will generate boilerplate at compile time.



So, taking @EqualsAndHashCode as an example: This will generate, as the name implies, valid equals(Object) and hashCode() methods for the annotated class.



See the overview page for a full list of annotations.



What are you using Lombok for?



We use the following annotations in our OData VDM Generator (not a full list, this might also change in the future):



  • @Builder

  • @ToString

  • @EqualsAndHashCode

  • @Data

The last annotation brings in, besides others, the @Getter annotation which generates all necessary getters at compile time.



How do I compile my code with Lombok/Display it in my IDE?



As described directly by Lombok and our blog post you just need the Lombok dependency (org.projectlombok:lombok) with scope provided on your classpath.



To view the code in your IDE without any build issues you need to setup your IDE accordingly, see the Lombok guides for that.






share|improve this answer

























  • Thanks, awesome!

    – Emdee
    Mar 12 at 9:57











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073079%2fgenerate-odata-vdm-using-s-4-hana-sdk-leads-to-errors%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









6














It turned out that the problem was missing Lombok configuration.



As this question is asked multiple times I will give a bit more comprehensive answer than just "configure it", answering the most common questions.



What is Lombok?



According to their website:




Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.




More specifically Lombok allows you to add annotations to your code which will generate boilerplate at compile time.



So, taking @EqualsAndHashCode as an example: This will generate, as the name implies, valid equals(Object) and hashCode() methods for the annotated class.



See the overview page for a full list of annotations.



What are you using Lombok for?



We use the following annotations in our OData VDM Generator (not a full list, this might also change in the future):



  • @Builder

  • @ToString

  • @EqualsAndHashCode

  • @Data

The last annotation brings in, besides others, the @Getter annotation which generates all necessary getters at compile time.



How do I compile my code with Lombok/Display it in my IDE?



As described directly by Lombok and our blog post you just need the Lombok dependency (org.projectlombok:lombok) with scope provided on your classpath.



To view the code in your IDE without any build issues you need to setup your IDE accordingly, see the Lombok guides for that.






share|improve this answer

























  • Thanks, awesome!

    – Emdee
    Mar 12 at 9:57















6














It turned out that the problem was missing Lombok configuration.



As this question is asked multiple times I will give a bit more comprehensive answer than just "configure it", answering the most common questions.



What is Lombok?



According to their website:




Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.




More specifically Lombok allows you to add annotations to your code which will generate boilerplate at compile time.



So, taking @EqualsAndHashCode as an example: This will generate, as the name implies, valid equals(Object) and hashCode() methods for the annotated class.



See the overview page for a full list of annotations.



What are you using Lombok for?



We use the following annotations in our OData VDM Generator (not a full list, this might also change in the future):



  • @Builder

  • @ToString

  • @EqualsAndHashCode

  • @Data

The last annotation brings in, besides others, the @Getter annotation which generates all necessary getters at compile time.



How do I compile my code with Lombok/Display it in my IDE?



As described directly by Lombok and our blog post you just need the Lombok dependency (org.projectlombok:lombok) with scope provided on your classpath.



To view the code in your IDE without any build issues you need to setup your IDE accordingly, see the Lombok guides for that.






share|improve this answer

























  • Thanks, awesome!

    – Emdee
    Mar 12 at 9:57













6












6








6







It turned out that the problem was missing Lombok configuration.



As this question is asked multiple times I will give a bit more comprehensive answer than just "configure it", answering the most common questions.



What is Lombok?



According to their website:




Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.




More specifically Lombok allows you to add annotations to your code which will generate boilerplate at compile time.



So, taking @EqualsAndHashCode as an example: This will generate, as the name implies, valid equals(Object) and hashCode() methods for the annotated class.



See the overview page for a full list of annotations.



What are you using Lombok for?



We use the following annotations in our OData VDM Generator (not a full list, this might also change in the future):



  • @Builder

  • @ToString

  • @EqualsAndHashCode

  • @Data

The last annotation brings in, besides others, the @Getter annotation which generates all necessary getters at compile time.



How do I compile my code with Lombok/Display it in my IDE?



As described directly by Lombok and our blog post you just need the Lombok dependency (org.projectlombok:lombok) with scope provided on your classpath.



To view the code in your IDE without any build issues you need to setup your IDE accordingly, see the Lombok guides for that.






share|improve this answer















It turned out that the problem was missing Lombok configuration.



As this question is asked multiple times I will give a bit more comprehensive answer than just "configure it", answering the most common questions.



What is Lombok?



According to their website:




Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.




More specifically Lombok allows you to add annotations to your code which will generate boilerplate at compile time.



So, taking @EqualsAndHashCode as an example: This will generate, as the name implies, valid equals(Object) and hashCode() methods for the annotated class.



See the overview page for a full list of annotations.



What are you using Lombok for?



We use the following annotations in our OData VDM Generator (not a full list, this might also change in the future):



  • @Builder

  • @ToString

  • @EqualsAndHashCode

  • @Data

The last annotation brings in, besides others, the @Getter annotation which generates all necessary getters at compile time.



How do I compile my code with Lombok/Display it in my IDE?



As described directly by Lombok and our blog post you just need the Lombok dependency (org.projectlombok:lombok) with scope provided on your classpath.



To view the code in your IDE without any build issues you need to setup your IDE accordingly, see the Lombok guides for that.







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 12 at 11:22

























answered Mar 12 at 9:47









Christoph SchubertChristoph Schubert

8211713




8211713












  • Thanks, awesome!

    – Emdee
    Mar 12 at 9:57

















  • Thanks, awesome!

    – Emdee
    Mar 12 at 9:57
















Thanks, awesome!

– Emdee
Mar 12 at 9:57





Thanks, awesome!

– Emdee
Mar 12 at 9:57



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55073079%2fgenerate-odata-vdm-using-s-4-hana-sdk-leads-to-errors%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

AWS Lex not identifying response if by a variable The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceEnforcing custom enumeration in AWS LEX for slot valuesHow to give response based on user response in Amazon Lex?Intercepting AWS Lambda Response to a AWS Lex QueryLex chat bot error: Reached second execution of fulfillment lambda on the same utteranceamazon lex showing invalid responseLambda response send back to Lex slot?Response card in Amazon lexAmazon Lex - Lambda response return HTML to botHow can I solve 424 (Failed Dependency) (python) obtained from Amazon lex?

Алба-Юлія

Захаров Федір Захарович