Skip to Content

Not able to map "Estimated Duration" value in overlay

Hi Experts,

I have added Estimated Duration label in Transport Details overlay and need to show the corresponding value.

Component.js

jQuery.sap.declare("ztmui_extension.Component");

jQuery.sap.require("sap.tl_collaboration_portal.Component");

// new custom component

sap.tl_collaboration_portal.Component.extend("ztmui_extension.Component", {

metadata: {

customizing: {

"sap.ui.controllerExtensions" : {

"sap.tl_collaboration_portal.view.requestsForQuotation": {

controllerName: "ztmui_extension.view.freightRequests"

}

}

}

},

init : function() {

this._oResourceModel = new

sap.ui.model.resource.ResourceModel({

bundleName: "sap.tl_collaboration_portal.language_bundle.i18nGeneral"

});

this._oResourceModel.enhance({

bundleName: "ztmui_extension_language_bundle.custom"

});

sap.ui.core.UIComponent.prototype.init.apply(this, arguments);

},

});

Controller.js

sap.ui.controller("ztmui_extension.view.freightRequests", {

onInit: function() {

},

onAfterRendering: function() {

if(sap.ui.getCore().byId("durationRow") == undefined){

var oMatrixDurationRow =new sap.ui.commons.layout.MatrixLayoutRow({id : "durationRow"});

var oMatrixDurationCell= new sap.ui.commons.layout.MatrixLayoutCell({

id : "durationCell",

content: new sap.ui.commons.Label({id : "durationLbl", text: "Estimated Duration :"})

});

oMatrixDurationRow.addCell(oMatrixDurationCell);

sap.ui.getCore().byId("thingGroupTransport").mAggregations.content[0].addRow(oMatrixDurationRow);

}

else

return;

},

});

I am not able to get the selected row value from requestsTable inside onAfterRendering method.

Kindly let me know for any other solution.

Regards,

Vasantham

Capture.PNG (25.9 kB)
Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    Posted on Jul 08, 2016 at 06:40 AM

    Hi Vasantham,

    I see two possibilities:

    1. If you want to stick with your taken approach: read the requestsTable (sap.ui.getCore().byId()) and from that instance you can read the selected row. This is explained in chapter 9.3 from the extension guide.
    2. My preferred option: Add a custom field extension like described in chapter 1. Then you can fill the value in the back end and it is automatically added in the UI.

    Best regards,

    Jan

    Add a comment
    10|10000 characters needed characters exceeded

    • If you need a time and date picker, I assume the selected time has to be persisted in the back end afterwards?

      This is not an easy thing, as the existing BAdI concept (chapter 1) doesn't support editable fields, only read only fields.

      For writing back values from a custom extension, I would suggest to create an own additional Gateway service in which you can take care of persisting the timestamp at the designated place.

      To call this service, you have to find an appropriate place on the UI to trigger that call.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.