Skip to Content
Technical Articles

How to call a GUI transaction from Fiori List report template based application

Hi Guys,

 

First and foremost, Happy New year to all.

This is my first blog in this year and planning to create more in the coming days(hopefully) 😀

 

As the title of the blog suggest, it is about launching a GUI transaction from Fiori list report template based apps using CDS view or UI annotations.

This can also be achieved for any ui5 app, but you have to use the CrossApplicationNavigation api to trigger the semantic object navigation.

 

For this demo, I’ve created a custom transaction, which will be called from the custom Fiori list report template based app:

 

GUI Transaction:

  1. For beginners, you can find a lot of blogs out there on how to create a transaction for a report or a module pool based GUI app in the backend.
  2. The report I’ve created will have a single input parameter, which will take the input and print the same in the output .
  3. The parameter name is P_INPUT.
  4. Then I’ve created a TCODE, which will execute this report.

 

 

Catalog Target Mapping:

  1. Provide the Semantic Object and Action Name, here I’ve given some dummy data
  2. Select the application type as Transaction
  3. Give the transaction name.
  4. Mention the correct system alias name.

When we call the GUI app from the fiori app, we should skip the selection screen and directly show the output, for this we need to provide the necessary parameters

‘Name’ -> property name of the of the column in the list report or it can be the cds view property name(if cds view is used).

when you open the GUI app from the list report app, it will automatically pass all the parameters of list row to the GUI app’s URL, you can get the property name from there as well.

‘Target Name’ -> parameter name in the GUI application.

 

 

Fiori List Report template based Application:

  1. Here I am planning to make one of my list column type as link and once the link is clicked, it will navigate to the GUI app.

I will show the existing list report app here, where I will add the required annotation.

  1. Open the annotation file using the annotation modler.
  2. Go the entityset UI.LINEITEM(which you are showing as a table in the UI).
  3. Click on add button on the UI.LineItem and select the DateFieldWithIntentBasedNavigation, which will make the column type as link.
  4. Now mention the semantic object name and action name.

 

Alternatively you can also do the same using the CDS view.

We need to mention the semantic object name  and semantic object action and type: #with_intent_based_navigation.

credits to Tejas Chouhan , I was not knowing that in the CDS view it is possible to mention it. Later after his comment in one of the question, I’ve tried this and it worked.

       @Consumption.semanticObject: 'Supplier'
       @UI: {
              identification: [{label: 'Sales Order No', position: 10}],
              lineItem:[{
                position: 10,
                semanticObjectAction: 'manage',
                type: #WITH_INTENT_BASED_NAVIGATION
                }],
               selectionField.position: 10
             }
  key  SalesOrderHeaders.salesorder,

 

Now run the app from the Launchpad(after pushing it to the server).

 

Please feel free to comment if you have any questions.

 

 

Useful links:

Configuring the GUI Apps:

https://wiki.scn.sap.com/wiki/download/attachments/449910788/Final_Step-by-step%20guide%20to%20enable%20Transactions%20using%20Application%20Descriptors%20in%20S4HANA%201610%20On-Premise.pdf?api=v2

https://blogs.sap.com/2016/12/21/open-your-sap-gui-transaction-in-fiori-launchpad/

https://wiki.scn.sap.com/wiki/display/SAPMOB/How+to+Add+a+WebGui+for+HTML+App+to+Fiori

Semantic object Navigation using Fiori Elements :

https://ui5.sap.com/#/topic/1d4a0f94bfee48d1b50ca8084a76beec

 

 

Thanks & Best Regards,

Mahesh

12 Comments
You must be Logged on to comment or reply to a post.