Skip to Content
0
Former Member
Apr 29, 2014 at 08:39 PM

Binding Issue - Custom Fiori app - Approve Requests (Wave 2) as base

21 Views

Hi,

We are developing a few different custom fiori applications with 'Approve Requests' fiori app as the base. In our custom view replacing S3.view, we have a added a table which shows the line item details of a PO. This is what we have done so far.

1. Redefine the service /IWPGW/TASKPROCESSING into our custom Odata service. Here, we have a new entity 'LineitemDetails', entityset 'LineItemDetailsCollection', defined the association to Task, defined the referential constraint(property 'InstanceID')., created the navigation.

Result: metadata shows up the new entity.

2. Redefined the methods in the _EXT data provider class generated in SEGW to populate data.

Tested using /sap/opu/odata/sap/ZVFIORI_NEW_SRV/TaskCollection('000016511693')/LineItemDetails:

Result: The correct entityset is returned with the data

3. For initial prototyping, we started with modifying S3.view directly (we will be using fiori toolkit to replace the standard view with custom views later when we move from Sandbox to Dev). I added a table in the info tab. below is the code:

<Table headerText="Line Item Details"
  items="{LineItemDetails}" >
  <columns>
  <Column>
       <header><Label text="Item Name" /></header>
  </Column>
  <Column>
       <header><Label text="Quantity" /></header>
  </Column>
  <Column>
       <header><Label text="Price" /></header>
  </Column>
  <Column>
       <header><Label text="WBS/Cost Center" /></header>
  </Column>
  </columns>
  <ColumnListItem>
       <cells>
            <ObjectIdentifier
               title="{LineText}"
               text="(LineitemNo)" />
            <ObjectNumber
               number="{LineQuantity}"
               unit="{UOM}" />
            <ObjectNumber
               number="{LineAmount}"
               unit="{LineCurrency}" />
            <ObjectIdentifier
               title="{WBSCCDescription}"
               text="{WBSCC}" />
       </cells>
  </ColumnListItem>
  </Table>

Apart from configuring the application to use the new custom service, we kept ourselves from making any other changes to standard application code base for testing this. After adding the above code in S3.view, we tested the application. However, the results were very surprising.

Now the application is launched and i can see the columns. however, data is not shown. Also, the weirder part is that when i select a different workitem from the list, the application automatically selects back the first item in the list. So no matter what i select, it re-selects the first list item(i.e., from S2.view).

immediately I checked if anything is wrong in the gateway side. I put a breakpoint in GET_ENTITYSET method which should be called with iv_entity_type= 'LineitemDetails'. Breakpoint hit as expected for 'LineitemDetails' Entity. So, that part is working as expected. I verified this with /IWFND/TRACES using the payload trace. I could see the request for /TaskCollection(SAP__Origin='ECC_TP',InstanceID='000016511693')/LineItemDetails?$skip=0&$top=100&$inlinecount=allpages&sap-client=100.

From the UI side, adding the table to S3.view was the only 1 change we kept and we could see the table and columns. there seems to be some issue with the binding, however i am out of ideas as to what is going wrong here. What do you guys think the problem is here?

Best Regards,

Varun

Tags edited by: Michael Appleby