cancel
Showing results for 
Search instead for 
Did you mean: 

How to extend ListReportExtension controller in F2173 using BAS Adaptation Project

chetan_shah9
Explorer
0 Kudos

Hi Team,

We have a requirement to override "onCompleteTechnicalPressed" of "ListReportExtension.controller.js" for F2173 application. As per standard documentation, you can extend an extension controller and override its public method, however while creating an adaptation project, we are unable to do so as cannot add dependency to ListReportExtension file. Can anyone please suggest how to achieve the same

rakesh2901
Participant
0 Kudos

Hello @kuramagoku ,

Did you find any way to achive this, I too have to extend F2173 and F2175. If you find any solution please reply.

Regards

Rakesh

chetan_shah9
Explorer
0 Kudos

Hi Rakesh,

I wasn't able to extend the already created extension controller by SAP. But i was able to add my logic in "onCompleteTechnicalPressed" by using below code in controller extension created through adaptation project.

sap.ui.define([
	'sap/ui/core/mvc/ControllerExtension'
	, 'sap/ui/core/mvc/OverrideExecution'
	, 'sap/m/MessageStrip'
],
	function (
		ControllerExtension
		, OverrideExecution
		, MessageStrip
	) {
		"use strict";
		return ControllerExtension.extend("customer.app.variant1.CloseConfirmationController", {
			metadata: {
				methods: {
					onInit: {
						public: true /*default*/,
						final: false /*default*/,
						overrideExecution: OverrideExecution.Before
					},
				}
			},

			override: {
				onInit: function () {
					this.getView().byId('CompleteTechnicalAction').attachPress(this, function ( e ) {
						var oTable = e.getSource().getParent().getParent();
						var aItems = oTable.getItems(); 
						var aSelectedItems = oTable.getSelectedItems();
						var sText = ''; 
						for(var i = 0; i < aSelectedItems.length; i++ ){
							var oItem = aSelectedItems[i];
							var oContext = oItem.getBindingContext();
							var oData = oContext.getProperty(null,oContext);
							if(oData && oData.MaintenanceOrder ){
								sText = sText + oData.MaintenanceOrder	+ "<br>";
							}
						}
						var oMsgStrip = new MessageStrip("msgStrip", {
							showIcon: true,
							type: sap.ui.core.MessageType.Information,
							text: sText,
							enableFormattedText: true
						});
						var oDialog = sap.ui.getCore().byId("DateSelectorDialog");
						oMsgStrip.placeAt(oDialog, "first");
					})
				}
			}
		});
	});

Accepted Solutions (0)

Answers (0)