Deploying SAP standard fiori application as a custom fiori application - sapui5

I had a requirement to add custom logic in SAP standard fiori application and deploy it as a custom application. it's Application Type is Transactional (SAP Fiori elements). i couldn't use extension project or Adaptation project to make my changes. it is showing an error (Extending smart application is currently not supported). So i have made changes in application as it was already extended by SAP (it have "ext" folder in it also have reference in manifest.json) and working fine in Webide.
So i deployed that application as a New application and gave different application ID. In SE80 BSP application it is displaying my changes. But very same application changes are not being reflected on Fiori launchpad.
please let me know if more information is required.
i have used following blogs for my reference.
Standard Application Link in Fiori Application Library
https://blogs.sap.com/2019/01/14/adaptation-projects-a-tutorial/comment-page-1/#comment-464401
https://ga.support.sap.com/dtp/viewer/index.html#/tree/1910/actions/24709:24711 (Extending CDS wont fulfill requirement)
https://www.slideshare.net/MayankGupta290/extending-adaptation-project-from-sap-webide
https://help.sap.com/fiori_bs2013/helpdata/en/c1/804352b4e61b13e10000000a44176d/frameset.htm

It got resolved by just deleting component preload files from webIde.
and deploying it again.
Thanks all :)

Related

Cannot access to sap.ui.getCore() when app is deployed Fiori sapui5

I'm working on a Fiori App in SAP Web IDE full stack. My application works totally fine in SAP Cloud Platform but when I deploy it to my SAP system in Fiori Launchpad, I get sap.ui.getCore().byId(...) undefined. So I change My use about sap.ui in order to avoid this error. My goal is to hide some <li> from my menu in the parent view App, I use then document.getElementsByTagName("ul") which works in SAP Cloud Platform but doesn't work neither when deployed. For me, I cannot access to my parent view's elements.
Thank you for helping me with this.
You should never access anything by Id like you did. Also parent child componts in one app are usually a bad idea and pointless in a launchpad.
Anyhow, you didn't share how the "parent view app" (ui5 knows components, controller and fragments) relates to the child. But in any cases use a json model and bind a property of your choice in XML.
Models can be passed programmatically or are even passed automatically (e.g. i18n is basically a json model at component level). Access model in child and call
oView.getModel('myModel').setProperty("/isVisible', false)

Sap Custom Fiori App LPD_CUST Additional Information changing?

I have a custom fiori application in launchpad which is working. But when I enter the Launchpad in the GUI using LPD_CUST tcode, I saw that the application additional information part was managed=FioriWave1.
If I change this part SAPUI5.Component=com.quotation like that, I get the below error when the application starts in launchpad. What can be the reason? I couldn't find any relations?
This is most likely a SAPUI5 version problem. What SAPUI5 version do you use in your Launchpad? Go to Console -> "sap.ui.version".
sap.tnt.InfoLabel is available since version 1.54, which is very new. I guess your launchpad is using a lower version.

How to create a SAP Fiori Custom Launchpad?

I want to create a Fiori launchpad that is able to run Fiori applications that are not developed with stand alone option. But I can not find any option inside of the WEB IDE for creating a Fiori launchpad application while as I understand SAP Fiori is a SAPUI5 application itself.
Any document or link is appreciated.
A Fiori launchpad is basically a collection of tiles, so you want to try that route.
The most basic approach seems to be a tile-based Grid layout: https://sapui5.hana.ondemand.com/explored.html#/sample/sap.ui.layout.sample.GridTiles/preview
Or you can use a sap.m.TileContainer with sap.m.StandardTiles:
https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.TileContainer/preview
Or you can use some sap.m.Panels. Give each panel a title and fill it with sap.m.GenericTiles and it should look very similar to an actual launchpad:
https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.GenericTileAsLaunchTile/preview
The real launchpad is made of stuff from the sap.ushell.ui.launchpad namespace which is not very well documented, but you might want to re-engineer that as well.

Defining standard event handlers in SAP UI5 when not using MVC

We are using SAP UI5 in SAP MII and if we use MVC it is not getting displayed in Portal, as portal in IE 9 makes rendering mode to Quirks whereas UI5 on MVC requires Standard mode in IE 9 to display the web page. We have also found that if we don't use MVC then UI5 web pages from portal are being displayed in Quirks mode itself. But the only problem we are facing on how to define the event handlers of UI5 standard events such as onAfterRendering. As there is no controller, the framework is not able to recognize the event handler when we define it in the usual way.
Any pointer on how to define standard event handler for UI5 in JS file shall be highly appreciated.
Thanks,
Dipankar
Not sure why not using MVC and in particular a controller would enable the controls to work in quirks mode. I wouldn't expect the controls to render correctly etc, and not using the MVC pattern doesn't sound like a maintainable workaround.
There are a few blogs and SAP notes related to the quirks mode on the SCN, I've enclosed a few below.
SAPUI5 on Portal
Does SAPUI5 actually work in the SAP Portal?
Regards,
Jason
Instead of trying to run UI5 in Quirks Mode, why not run Web Dynpro applications in Standart Mode by implementing OSS Note 1911889 ? Then, you can put your UI5 and Web Dynpro content in Unified Framework Page on EP.

2005 web service that I cannot consume in 3.5 app

When I look at the .asmx page in the browser I see:
The following operations are supported. For a formal definition, please review the Service Description.
AcceptCaseInformation
ClearServiceErrors
CreateBatch
GetBookingsOnIndictment
GetCaseInformation
GetCasesForJacket
When I reference the asmx file in my project I do not see these web methods. I see the complete set of methods in the Reference.cs.
JSSTester.GrandJuryService.GetBookingsOnIndictmentRequest
JSSTester.GrandJuryService.GetBookingsOnIndictmentRequestBody
JSSTester.GrandJuryService.GetBookingsOnIndictmentResponse
What am I not setting to allow me to see the WebMethods for that asmx page?
TIA
If I'm following your process, you're using the "Add Service Reference" option through your project in Visual Studio.
By default, the 3.5 apps want to leverage the newer WCF framework, which doesn't use the older web service architecture found in your ASMX style pages. However, you can still add the older services, it just takes a little more work.
When this dialog opens up, there should be a button at the bottom at the page that says "Add Web Reference." Click this button and it should expose the "legacy" methods that are available.
In general, it should not be necessary to use the "Advanced" button and to revert to a Web Reference. In general, any standard web service created using VS2005 should be consumable via a Service Reference with no trouble at all.
Is your service created using WSE? Does it contain references to Microsoft.Web.Services3? In that case, you don't have a standard VS2005 web service - you have an obsolete WSE service, and you will need to look more closely to see what the problem is.