cancel
Showing results for 
Search instead for 
Did you mean: 

SAPUI5: How to bind a node structured XML model to sap.ui.table?

artioms
Explorer
0 Kudos

Hi,

I'm having trouble binding a node structured XML model to a table.The requirement is to bind all the "calculatedVolumesData" elements from the following structure to a table. When I bind the rows to /billingRequest/calculatedVolumesData, only the first 3 records come up. When I change the structure and remove the "billingRequest" element, then all the records come up. So, it seems like only a flat structure is supported? Is it somehow possible to achieve my goals without changing the structure of the model?

<billingRequest id="10158">
  <calculatedVolumesData>
     <rateCategory>AMR-WV1_1</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-31T22:00:00Z</fromDate>
     <toDate>2017-04-29T22:00:00Z</toDate>
  </calculatedVolumesData>
  <calculatedVolumesData>
     <rateCategory>AMR-WV1_2</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-31T22:00:00Z</fromDate>
     <toDate>2017-04-29T22:00:00Z</toDate>
  </calculatedVolumesData>
  <calculatedVolumesData>
     <rateCategory>AMR-WV1_3</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-31T22:00:00Z</fromDate>
     <toDate>2017-04-29T22:00:00Z</toDate>
  </calculatedVolumesData>
</billingRequest>
<billingRequest id="10504">
  <calculatedVolumesData>
     <rateCategory>2_1</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-01T05:00:00Z</fromDate>
     <toDate>2017-03-20T05:00:00Z</toDate>
  </calculatedVolumesData>
  <calculatedVolumesData>
     <rateCategory>2_2</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-01T05:00:00Z</fromDate>
     <toDate>2017-03-20T05:00:00Z</toDate>
  </calculatedVolumesData>
  <calculatedVolumesData>
     <rateCategory>2_3</rateCategory>
     <calculationOperations>Off Cycle</calculationOperations>
     <fromDate>2017-03-01T05:00:00Z</fromDate>
     <toDate>2017-03-20T05:00:00Z</toDate>
  </calculatedVolumesData>
</billingRequest>

Accepted Solutions (0)

Answers (3)

Answers (3)

karthikarjun
Active Contributor
0 Kudos

seems weird, can you share your code in jsbin or plunkr?

junwu
Active Contributor
0 Kudos

seems not likely....

Joseph_BERTHE
Active Contributor
0 Kudos

it depends of how you want to expose your data... if you use a table, of course it will show you up a flat structure. if billingRequest is not relevant four your user, you have to modify your structure otherwise, you can use a Master/detail application. in master data you set the billingrequest and in the detail the calculatedVolume data.

artioms
Explorer
0 Kudos

I'm using an existing service and changing the structure in the back-end is not desirable as the same service is used by other applications. I could change the structure in the client side but, this seems to me like a workaround rather than a good solution. I tried using XPath in the binding path but that also didn't work.