Hello Expert,
I am facing issue while creating entityset to odata.
I am using odata with meta data like :
<EntityTypeName="BusinessPartner"sap:content-version="1">
<PropertyName="Address"Type="/IWBEP/GWSAMPLE_BASIC.CT_Address"Nullable="false"/>
<PropertyName="BusinessPartnerID"Type="Edm.String"Nullable="false"MaxLength="10"sap:label="Business Partner ID"sap:creatable="false"sap:updatable="false"/>
<PropertyName="CompanyName"Type="Edm.String"Nullable="false"MaxLength="80"sap:label="Company"/>
<PropertyName="WebAddress"Type="Edm.String"sap:label="Web Address"sap:sortable="false"sap:filterable="false"sap:semantics="url"/>
<PropertyName="EmailAddress"Type="Edm.String"Nullable="false"MaxLength="255"sap:label="E-Mail"sap:semantics="email"/>
<PropertyName="PhoneNumber"Type="Edm.String"MaxLength="30"sap:label="Phone No."sap:semantics="tel"/>
<PropertyName="FaxNumber"Type="Edm.String"MaxLength="30"sap:label="Fax Number"/>
<PropertyName="LegalForm"Type="Edm.String"MaxLength="10"sap:label="Legal Form"/>
<PropertyName="CurrencyCode"Type="Edm.String"Nullable="false"MaxLength="5"sap:label="Currency Code"sap:semantics="currency-code"/>
<PropertyName="BusinessPartnerRole"Type="Edm.String"Nullable="false"MaxLength="3"sap:label="Bus. Part. Role"/>
<PropertyName="CreatedAt"Type="Edm.DateTime"Precision="7"sap:label="Time Stamp"sap:creatable="false"sap:updatable="false"/>
<PropertyName="ChangedAt"Type="Edm.DateTime"Precision="7"ConcurrencyMode="Fixed"sap:label="Time Stamp"sap:creatable="false"sap:updatable="false"/>
Where as the Address is like:
ComplexTypeName="CT_Address">
<PropertyName="PostalCode"Type="Edm.String"MaxLength="10"sap:label="Postal Code"sap:semantics="zip"/>
<PropertyName="Street"Type="Edm.String"MaxLength="60"sap:label="Street"sap:semantics="street"/>
<PropertyName="Building"Type="Edm.String"MaxLength="10"sap:label="Building"/>
<PropertyName="Country"Type="Edm.String"MaxLength="3"sap:label="Country"sap:semantics="country"/>
<PropertyName="AddressType"Type="Edm.String"MaxLength="2"sap:label="Address Type"/>
</ComplexType>
I have created a form to get data from user. I bound json model to the form which looks like:
{
"CompanyName" : " ",
"WebAddress" : " ",
"EmailAddress": " ",
"PhoneNumber": " ",
"FaxNumber":" ",
"Address" : {
"Building" : " ",
"Street" : " ",
"PostalCode" : " ",
"City" : " ",
"Country" : " "
}
}
Since a partnerset has a address.
I am calling the create method of odata :
var json = this.getView().getModel("jsonModel");
this.getView().getModel().create('/BusinessPartnerSet', json, null,
function(data){
sap.m.messageToast("Data Created");
var rData = data;
},
function(error){
var e = error;
}
);
I am getting error when calling the create method:
Converting circular structure to JSON -
How to pass data corrrectly to odata to create entity ?
Thanks,
Abhi