tag:blogger.com,1999:blog-91039514219893553592024-03-05T13:13:44.489-08:00SAP BlogsThis Space has blogs on various topics in the field of SAP. These blogs point out solutions to various technical and functional issues that consultants face during implementation or support of SAP Projects. Readers/followers are welcome to contribute to this space by emailing your content at bohra.mohammadi@gmail.com. You will be rewarded according to the topic/number of words/complexity of the topic/issue which are you addressing in your blog.Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.comBlogger218125tag:blogger.com,1999:blog-9103951421989355359.post-66173548489870806532022-05-21T02:41:00.001-07:002022-05-21T02:41:34.360-07:00Adding custom T codes on SAP FIORI Launchpad<p> </p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">This
article will walk you through the process of adding custom T codes on the FIORI Launchpad
by extending SAP Menu option on the FIORI Launchpad.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">There are 2
ways of doing this. First, you can create a target mapping in the FIORI Launchpad
designer. The target mapping will be tagged to the custom t code that you want
to launch on the click of a tile. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Another
option is to extend the SAP Menu available on the FIORI Launchpad. We shall discuss
this option in more detail below.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">SAP Menu
search allows to access FIORI applications and standard TCODES (SAP GUI and Web
Dynpro ABAP applications).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">On opening
the TCODE, the respective SAP GUI and Web Dynpro ABAP application will open on FIORI
Launchpad.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">If we want
to access custom TCODES in Fiori Launchpad, we need to follow below steps. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Steps1: Go
to T code se43 and select S000 and click on edit<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Step2: Click
on Extend<o:p></o:p></span></p>
<p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgDyliiVaxHX7w9RdhMf569ezI1oCDQXJ5gvP6cPNYDEXJWJlnGv_P9kqwMhhgmvus9E0yp5wO6jEtEBjJELcugrIPtFsZEU2VH10nVZHg8jCjqzW1-Za_dlbdL8ex1hl9-yfIKu30dBEaMMo0qwi_z-vN2bO6alhcklSFMjGM5MDcUqXOFz30NNQsL" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="286" data-original-width="772" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEgDyliiVaxHX7w9RdhMf569ezI1oCDQXJ5gvP6cPNYDEXJWJlnGv_P9kqwMhhgmvus9E0yp5wO6jEtEBjJELcugrIPtFsZEU2VH10nVZHg8jCjqzW1-Za_dlbdL8ex1hl9-yfIKu30dBEaMMo0qwi_z-vN2bO6alhcklSFMjGM5MDcUqXOFz30NNQsL=w400-h148" width="400" /></a></div><br /><br /><p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Step3: Create
a new extension<o:p></o:p></span></p>
<p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEirGPZ99jZxlZHqRC80_P_VK8tF2VEtgG1V5N05XXBhQyt_kVA7s9XOfAgEBKtR4XLk6xOwPrv3oFwoiC5TGYChhJRC_3oyeFP7x4fN7uuYntglR9nYVU_-PZGjBAxSCHs6XsH9_vvxmPZ4ztbZisCzeyBPvzFrVfSrOXlTMAXTxopa1-jkuH5nt0tW" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="683" data-original-width="817" height="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEirGPZ99jZxlZHqRC80_P_VK8tF2VEtgG1V5N05XXBhQyt_kVA7s9XOfAgEBKtR4XLk6xOwPrv3oFwoiC5TGYChhJRC_3oyeFP7x4fN7uuYntglR9nYVU_-PZGjBAxSCHs6XsH9_vvxmPZ4ztbZisCzeyBPvzFrVfSrOXlTMAXTxopa1-jkuH5nt0tW=w400-h334" width="400" /></a></div><br /><br /><p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Step4: Add
a node of your choice and enter the required tcodes <o:p></o:p></span></p>
<p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjOHx0El8TzJd7l59G9y86amVUvHjPA7BJKxPJw5DXK8J-3-SWciYkzddkc_AJJqTMcCZyQs0qL7-ERpLFfc87crhzCN5w0cC5fTuudSdjYiOVxd-h7Z5IObdyj-rfTz4ko5Ek3PjDO1cUgtBNTU9Ra2ovMkF7jG9e4_1MoQXvdgQNPx3y70tc_0pq1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="314" data-original-width="940" height="134" src="https://blogger.googleusercontent.com/img/a/AVvXsEjOHx0El8TzJd7l59G9y86amVUvHjPA7BJKxPJw5DXK8J-3-SWciYkzddkc_AJJqTMcCZyQs0qL7-ERpLFfc87crhzCN5w0cC5fTuudSdjYiOVxd-h7Z5IObdyj-rfTz4ko5Ek3PjDO1cUgtBNTU9Ra2ovMkF7jG9e4_1MoQXvdgQNPx3y70tc_0pq1=w400-h134" width="400" /></a></div><br /><br /><p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;"><br /></span></p><p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Step5: After
adding save it<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Steps 6:
Clear cache from Report /UI2/EAM_BUIL_CACHE<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-ansi-language: EN-US;">Step 7: Now
check your custom T code in SAP FIORI Menu<o:p></o:p></span></p>
<p class="MsoNormal"></p><div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhm8AOTYQy7M96Uqvu45LD0hZ9cqaRXFLrfdBxmq2Jig0A7DNkkNJdkT5ZXnAgX8IW7_0_ysoK8oj8Se6zOak6NHfhuEPhxmAI867LjSRZYNkPF8Hafl1bMlTrGJ3X3B9JiRrMZ1YLVMSAvajlGUU4w-W6Mqev5_DW3ZGuvo7b8iOuDkgcA1XjJ49_c" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="347" data-original-width="940" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEhm8AOTYQy7M96Uqvu45LD0hZ9cqaRXFLrfdBxmq2Jig0A7DNkkNJdkT5ZXnAgX8IW7_0_ysoK8oj8Se6zOak6NHfhuEPhxmAI867LjSRZYNkPF8Hafl1bMlTrGJ3X3B9JiRrMZ1YLVMSAvajlGUU4w-W6Mqev5_DW3ZGuvo7b8iOuDkgcA1XjJ49_c=w400-h148" width="400" /></a></div><br /><br /><p></p>Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-32749951943025259952020-03-26T01:49:00.003-07:002020-03-26T01:57:36.172-07:00Steps for making changes to existing custom UI5 App<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="MsoNormal">
If you want to make changes in an existing custom UI5 app
which is deployed on ABAP repository, this blog will guide you through the
steps.<o:p></o:p></div>
<div class="MsoNormal">
First you need to download the app from ABAP repository<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
Then, import it in eclipse<o:p></o:p></div>
<div class="MsoNormal">
Then, make changes in the app in eclipse as per business
requirements<o:p></o:p></div>
<div class="MsoNormal">
Then, deploy the app with the same technical name or a
different technical name. Capture this deployment in a TR.<o:p></o:p></div>
<div class="MsoNormal">
<b><u>Download application source code from ABAP repository <o:p></o:p></u></b></div>
<div class="MsoNormal">
For this, login to SAP system as shown below. Enter logon
credentials at below screen.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioK7wUjd1YzeORw5j6c5mePCIkmE85XFwGC8BU415EDG4BMOwY-aHHw_U0PKzg_d55nD8TmGVGhb6G7ssaPJfkNgn_aaczU20LC4nF_DWOopPpTlgpSitEcqD_krWRQIVs7S_1CfhvE5c/s1600/1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="249" data-original-width="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioK7wUjd1YzeORw5j6c5mePCIkmE85XFwGC8BU415EDG4BMOwY-aHHw_U0PKzg_d55nD8TmGVGhb6G7ssaPJfkNgn_aaczU20LC4nF_DWOopPpTlgpSitEcqD_krWRQIVs7S_1CfhvE5c/s1600/1.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal">
You will be taken to SAP Easy Access screen as shown below</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt25GPXNHGRj2D_Gx9H2BjKEdKCH8XWu1n96AH51alTOE65Ugo2nZe6L_13u1zCrJPDgJoZr0Bhtc_yDhBI6LK96rF68t_frmZUEGUylv3GZDOZliy6tFrpFt4UdszjUX6KxMQFUAvqAY/s1600/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="212" data-original-width="324" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt25GPXNHGRj2D_Gx9H2BjKEdKCH8XWu1n96AH51alTOE65Ugo2nZe6L_13u1zCrJPDgJoZr0Bhtc_yDhBI6LK96rF68t_frmZUEGUylv3GZDOZliy6tFrpFt4UdszjUX6KxMQFUAvqAY/s320/2.png" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_3" o:spid="_x0000_i1050" type="#_x0000_t75" style='width:244.5pt;
height:157.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Enter tcode SE38 in the commmad line<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEbKLXZvHnWandGScKn_ZE94208W5Dd3Q3O4W6X3bELcBvod29RRFYK6AppTUiQRqhj5UDDaGi6vownm4aMLqZ5rOD1OoZVrjlN3BDCITiR9A1PfUtYzzAh1mncrbmUw_p4s4xnNMQTAY/s1600/3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="161" data-original-width="332" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEbKLXZvHnWandGScKn_ZE94208W5Dd3Q3O4W6X3bELcBvod29RRFYK6AppTUiQRqhj5UDDaGi6vownm4aMLqZ5rOD1OoZVrjlN3BDCITiR9A1PfUtYzzAh1mncrbmUw_p4s4xnNMQTAY/s320/3.png" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_4" o:spid="_x0000_i1049" type="#_x0000_t75" style='width:249pt;
height:119.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.png"
o:title="" croptop="1121f" cropbottom="51338f" cropleft="-105f" cropright="50307f"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
On the following screen, run the program called /UI5/UI5_REPOSITORY_LOAD
as shown below<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu34lTsKM9lBmEJs9qzgH-BK40F29uU8yfIGC0OhcEY9Novwa-V6br-TmPMshTU7XOVdDfBLa4DwL4F7UBccIiDQ-33JKoZ1cL2Uof9UGMlRsv9biB06m2VF5bWhO25cwjrPcOsa1YAUQ/s1600/4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="320" data-original-width="417" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu34lTsKM9lBmEJs9qzgH-BK40F29uU8yfIGC0OhcEY9Novwa-V6br-TmPMshTU7XOVdDfBLa4DwL4F7UBccIiDQ-33JKoZ1cL2Uof9UGMlRsv9biB06m2VF5bWhO25cwjrPcOsa1YAUQ/s320/4.png" width="320" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_5" o:spid="_x0000_i1048" type="#_x0000_t75" style='width:312.75pt;
height:239.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png"
o:title="" cropbottom="28172f" cropright="38124f"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Click on execute button. On the screen that follows, enter
the technical name of the application you identified previously. See below.
Select the Download radio button since you want to download the source code of
this application and then import in eclipse.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWK8VXhAQ5GfahqtbDCoY7e6s0_bxrWYb9jIUfbKECneDGYxdsIXwvbhSg5a-CaBrtlbHb7a41WHFQiDgWq1SJJRkEd9m6mDu6yHUIuNW5cEY4_D0Uaql4nySeul4b3sU8NitylkS9VWc/s1600/5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="624" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWK8VXhAQ5GfahqtbDCoY7e6s0_bxrWYb9jIUfbKECneDGYxdsIXwvbhSg5a-CaBrtlbHb7a41WHFQiDgWq1SJJRkEd9m6mDu6yHUIuNW5cEY4_D0Uaql4nySeul4b3sU8NitylkS9VWc/s640/5.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_6" o:spid="_x0000_i1047" type="#_x0000_t75" style='width:468pt;
height:297.75pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Click on execute button, you will be asked to select a
location on your local machine for saving the folder of source code of this
application<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3PKTtKzFxlLPpu_ULyFPGwaGKOf6brL8hdhMyj_VV96l_Twypy4Eod0ZUBxBC0pQ-ApzQq1GbNVHMciKniSXm1KGjTVck76vfKoChhKtJqZzane4O_ZKc0opMgOX5eh0QHh9a3M89A4s/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="437" data-original-width="624" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3PKTtKzFxlLPpu_ULyFPGwaGKOf6brL8hdhMyj_VV96l_Twypy4Eod0ZUBxBC0pQ-ApzQq1GbNVHMciKniSXm1KGjTVck76vfKoChhKtJqZzane4O_ZKc0opMgOX5eh0QHh9a3M89A4s/s640/6.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_7" o:spid="_x0000_i1046" type="#_x0000_t75" style='width:468pt;
height:406.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Select a folder or create a new folder at a specific
location of your choice. And click on OK button. Below popup will then display<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTPADOtVwdfT2sAPDvC07EY5Or5e-UZO8NwTmUSUF_WlD5E_CHcPA97nbV2Fi3VaOnRwCoQAT99MxEDnP4yDlZtzIJv-D3C_c5d8Ukp4GmuuXO-fBGwoWBbh0W-HzVVGxLWab-lvD3DM/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="262" data-original-width="624" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdTPADOtVwdfT2sAPDvC07EY5Or5e-UZO8NwTmUSUF_WlD5E_CHcPA97nbV2Fi3VaOnRwCoQAT99MxEDnP4yDlZtzIJv-D3C_c5d8Ukp4GmuuXO-fBGwoWBbh0W-HzVVGxLWab-lvD3DM/s640/7.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_8" o:spid="_x0000_i1045" type="#_x0000_t75" style='width:468pt;
height:196.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
On this popup, check the checkbox ‘Remember my decision’ and
click on Allow. Then system will display the summary of the files which will be
downloaded <o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOKlwhtc_eJl4psf7yyjAUMbPkLTJF_qJyNH9vHKWnM2lKJ1Tvl8YBro_6z73NyISMINRHAG4QUL-zucTFQaTDRDqxDDQgt88RsXKhyg-hT4ABxxSrCxKYL73vHcfkji-in-WX3wcQNuM/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="590" data-original-width="624" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOKlwhtc_eJl4psf7yyjAUMbPkLTJF_qJyNH9vHKWnM2lKJ1Tvl8YBro_6z73NyISMINRHAG4QUL-zucTFQaTDRDqxDDQgt88RsXKhyg-hT4ABxxSrCxKYL73vHcfkji-in-WX3wcQNuM/s640/8.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_9" o:spid="_x0000_i1044" type="#_x0000_t75" style='width:468pt;
height:442.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Scroll towards the bottom and click on ‘Click here to
download’ button<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJeVFJw1gSsyqSVF-_zy83EqLYOXs3EL3SOmTFr0QjO7aeshcnzEY_PUWmkepuwF3smFuHGU1CSI6UlradXHWe9ECtdnW6f9uDy-N6aOkx6fJo0kF-YyqySMD7UPPlm9bpEnJJ9bE1izM/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="131" data-original-width="408" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJeVFJw1gSsyqSVF-_zy83EqLYOXs3EL3SOmTFr0QjO7aeshcnzEY_PUWmkepuwF3smFuHGU1CSI6UlradXHWe9ECtdnW6f9uDy-N6aOkx6fJo0kF-YyqySMD7UPPlm9bpEnJJ9bE1izM/s640/9.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_10" o:spid="_x0000_i1043" type="#_x0000_t75" style='width:306pt;
height:111pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
On the popup that appears, click on continue<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTNR2jeXGGWLKm2bA-zrScU4tHoOJI4kPKsWqa6SrFCukjeXTPan4pXtQG_VZvqeGKFmz30ng5jbYTt6EDQqLji2Qz7QC6rAc_dQeyG9XNxC2rOz9NaN5aAGW-fInWGKDtDnzPzb9fU4/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="593" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxTNR2jeXGGWLKm2bA-zrScU4tHoOJI4kPKsWqa6SrFCukjeXTPan4pXtQG_VZvqeGKFmz30ng5jbYTt6EDQqLji2Qz7QC6rAc_dQeyG9XNxC2rOz9NaN5aAGW-fInWGKDtDnzPzb9fU4/s640/10.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_11" o:spid="_x0000_i1042" type="#_x0000_t75" style='width:444.75pt;
height:101.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png"
o:title="" croptop="15506f" cropbottom="34898f" cropleft="1786f" cropright="26361f"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
On the popup that appears next, check the checkbox ‘Remember
my decision’ and click on allow<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIMH6jHjPeC1rhzXMP1ek3PhEYN15boe6W3KnQy6uCB-0f4pagzJB6IMtYVa1kcWe-i3osZ01dEtovPnGZlFalDmzu8UdE_gu08qf9LyBhmgcAKl2fUxzhnkQUo-rGOIv3oqoYaaS61jU/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="309" data-original-width="536" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIMH6jHjPeC1rhzXMP1ek3PhEYN15boe6W3KnQy6uCB-0f4pagzJB6IMtYVa1kcWe-i3osZ01dEtovPnGZlFalDmzu8UdE_gu08qf9LyBhmgcAKl2fUxzhnkQUo-rGOIv3oqoYaaS61jU/s640/11.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_12" o:spid="_x0000_i1041" type="#_x0000_t75" style='width:402pt;
height:231.75pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Done. Your application source code is now downloaded in a
local folder. See below message<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijMOuWUw6J0jzURG0Vk-nQKEu729JqAw1GLDrO4Ka9jD6xRrErxofae7HbEUXCqfVPK3KDnH8zxMpd4KYfke4qe2SF4SagAiflTFhx5p2wmE6lUQeTUTezJHXVqD2TBJlZ7GJyNLL4zHI/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="353" data-original-width="579" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijMOuWUw6J0jzURG0Vk-nQKEu729JqAw1GLDrO4Ka9jD6xRrErxofae7HbEUXCqfVPK3KDnH8zxMpd4KYfke4qe2SF4SagAiflTFhx5p2wmE6lUQeTUTezJHXVqD2TBJlZ7GJyNLL4zHI/s640/12.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_13" o:spid="_x0000_i1040" type="#_x0000_t75" style='width:434.25pt;
height:264.75pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
<b><u>Importing the downloaded App in Eclipse for making
changes in source code<o:p></o:p></u></b></div>
<div class="MsoNormal">
Now let us import this application source code in eclipse to
make changes as per business requirements. Open Eclipse.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_587m3dSltSs12zfqjF52dz2tc1sZjej_wMorb2Vs3YaEu0D9gI72s8_jIerTOvs1c6FKRub1oiy2YKx5vCCrxv1DXUXgVZaJHsgQbnirxq8tk_6Mk4IWtD0bJ6rv9C4vr8pKkl64A38/s1600/13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="374" data-original-width="582" height="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_587m3dSltSs12zfqjF52dz2tc1sZjej_wMorb2Vs3YaEu0D9gI72s8_jIerTOvs1c6FKRub1oiy2YKx5vCCrxv1DXUXgVZaJHsgQbnirxq8tk_6Mk4IWtD0bJ6rv9C4vr8pKkl64A38/s640/13.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_15" o:spid="_x0000_i1039" type="#_x0000_t75" style='width:436.5pt;
height:280.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.png"
o:title="" croptop="20420f" cropbottom="15752f" cropleft="20585f"
cropright="20270f"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Go to File->Import…</div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhltx1t4AhumPnv6DPYTUnt3z0y8wjOrA86OMmQn4gZ4c-8IFyKHoaj8Pv8KERtFdAvaj_2ZG6b-2Cj-RB-80M9oWYl718N2aVFmX1eV2v7NhIg-T2pXU_nnofOP5GYCl2XAV9VBr0VZ0E/s1600/14.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="412" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhltx1t4AhumPnv6DPYTUnt3z0y8wjOrA86OMmQn4gZ4c-8IFyKHoaj8Pv8KERtFdAvaj_2ZG6b-2Cj-RB-80M9oWYl718N2aVFmX1eV2v7NhIg-T2pXU_nnofOP5GYCl2XAV9VBr0VZ0E/s640/14.png" width="438" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Select Existing project into Workspace option as shown below</div>
<div class="MsoNormal">
<o:p></o:p></div>
<br />
<div class="MsoNormal">
On the subsequent screen in the wizard, browse and select
the folder which was downloaded from SAP system and then click on next<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwjlrSyNul-Kv1eS4cqE1nTz6xVeqC98NwcBslztjdEb4qce26ChNWDkhhTlkcyUL_Mv5N9-g2xGfO7gW-xNiwgO8rar-GlgZdPtWeLHQs82mUqxRlaPyOfYIMxmiY-Cm1cwzQ3zUaY5Y/s1600/15.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="612" data-original-width="587" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwjlrSyNul-Kv1eS4cqE1nTz6xVeqC98NwcBslztjdEb4qce26ChNWDkhhTlkcyUL_Mv5N9-g2xGfO7gW-xNiwgO8rar-GlgZdPtWeLHQs82mUqxRlaPyOfYIMxmiY-Cm1cwzQ3zUaY5Y/s640/15.png" width="612" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_18" o:spid="_x0000_i1036" type="#_x0000_t75" style='width:306.75pt;
height:209.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Click on Finish. This will create a project in project
explorer view of Eclipse.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM96YUJGsVRfT4eYNMth2C1w-6MccR7uUe4P0dRKEwwuzuSqMDUKiPpyediX8-Qdhwd-beOvlXYZ0aJjD_9_m3Qv1pfWGN_oorAP1VN465s75SZJ_AYuV09dHzcflUWHKlRph7MrZRWtg/s1600/16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="409" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM96YUJGsVRfT4eYNMth2C1w-6MccR7uUe4P0dRKEwwuzuSqMDUKiPpyediX8-Qdhwd-beOvlXYZ0aJjD_9_m3Qv1pfWGN_oorAP1VN465s75SZJ_AYuV09dHzcflUWHKlRph7MrZRWtg/s640/16.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Sometimes, there are some junk characters which appear in
the JS files or json files which are downloaded from ABAP repository and hence
some errors will be displayed in the project, refer above picture. In order to
resolve these, refer the same code file in SE80
tcode in the ABAP frontend server and make same changes or remove
unnecessary characters from files while comparing the code with code available
in ABAP repository.</div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
In my case, these are the special characters appearing on
the File<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnAy8wRA-f1wByOpg64enrJIZdmF2j3B-2nuzGOKkwUyOagwAGWGs_uGfV7HXTkiKJDz02GHBYnpb-PaorWbjDB5yN2KNh7bECd6fC0j4-DsThZSTfJRdHPRLWJUKWkdzQE9X07XUCd8/s1600/17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="231" data-original-width="255" height="579" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnAy8wRA-f1wByOpg64enrJIZdmF2j3B-2nuzGOKkwUyOagwAGWGs_uGfV7HXTkiKJDz02GHBYnpb-PaorWbjDB5yN2KNh7bECd6fC0j4-DsThZSTfJRdHPRLWJUKWkdzQE9X07XUCd8/s640/17.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_20" o:spid="_x0000_i1034" type="#_x0000_t75" style='width:468pt;
height:135.75pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
So now I am going to SE80 and opening the same file and
going to line no .115 to see what is causing these special characters and is it
ok to remove/comment this code or remove the special characters and do away
with the error.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidV8WhUszXqN1ZaZhrlI0bhqLgH8dMUeqBYEn_koxXRZRXp3OPCmP3ebj3DlHprOqvN9SZqR9CWN3AAlx3F7JRcFEjECgNK4AC0UGvnz-RIws4n0jzaDOjkhb4z3zVTCEhrTYtVvKalXo/s1600/18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="185" data-original-width="624" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidV8WhUszXqN1ZaZhrlI0bhqLgH8dMUeqBYEn_koxXRZRXp3OPCmP3ebj3DlHprOqvN9SZqR9CWN3AAlx3F7JRcFEjECgNK4AC0UGvnz-RIws4n0jzaDOjkhb4z3zVTCEhrTYtVvKalXo/s640/18.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_21" o:spid="_x0000_i1033" type="#_x0000_t75" style='width:468pt;
height:221.25pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image029.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Here, we can see that the source code need not commented. It
is required and so I will remove the special characters from Eclipse file and
make it error free manually.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1xfZAJKJV7IsXfruE6fMoSFcBh5rNo5KCfUS0atGaiEfRkc6g-TrD8q3ZmSK1JoGRwidikTi3_3c1f0JriUTwTnDfbpIw4DNeF5Z2hbbMGLdgAh1_CxaVpGuS1N2JBvEQF5ZNZaWpaHc/s1600/19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="295" data-original-width="624" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1xfZAJKJV7IsXfruE6fMoSFcBh5rNo5KCfUS0atGaiEfRkc6g-TrD8q3ZmSK1JoGRwidikTi3_3c1f0JriUTwTnDfbpIw4DNeF5Z2hbbMGLdgAh1_CxaVpGuS1N2JBvEQF5ZNZaWpaHc/s640/19.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_22" o:spid="_x0000_i1032" type="#_x0000_t75" style='width:461.25pt;
height:201pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Cleaning done, this is how it looks like now and error free.
So, now the project is error free and ready for making code changes for
business requirements. Once you are done with the necessary changes to the
application, its time to deploy the changed app on ABAP repository. Here, you
can decide to overwrite the existing app source code on the server or you can
create a brand new app for deploy the changed source code under it. Here I will
deploy the code under new app. <o:p></o:p></div>
<div class="MsoNormal">
<b><u>Deploying the App to ABAP repository<o:p></o:p></u></b></div>
<div class="MsoNormal">
Right click on the app and select team->Share<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp9PlJN16GA2cCE-bDoU5HKiSdmYyiSlnYfWhBSOC4aEZIACVQNyVIhgHpHY6nuW3VTzxo2Iir_AM7JveJb5-F_JABbT1aKcndaPVJV9hSBm7fIht0-6h14A2wCOQUuLKcLGBOBqdxev0/s1600/21.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="550" data-original-width="476" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp9PlJN16GA2cCE-bDoU5HKiSdmYyiSlnYfWhBSOC4aEZIACVQNyVIhgHpHY6nuW3VTzxo2Iir_AM7JveJb5-F_JABbT1aKcndaPVJV9hSBm7fIht0-6h14A2wCOQUuLKcLGBOBqdxev0/s640/21.png" width="552" /></a></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Select SAPUI5 ABAP repository from below</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiDgufr25egHdR-dC1QJdKvnwfgxRyj3svPI9WGfDKogYVawIFX-wjF2rRHgmLBUmd8dL331QM9upqv-jU3Bth3zeu8qsvfoey1kUbJ0vpr9ovcBifLjS3jbagUF_YBlkhV-TViIGlMeU/s1600/22.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="378" data-original-width="476" height="508" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiDgufr25egHdR-dC1QJdKvnwfgxRyj3svPI9WGfDKogYVawIFX-wjF2rRHgmLBUmd8dL331QM9upqv-jU3Bth3zeu8qsvfoey1kUbJ0vpr9ovcBifLjS3jbagUF_YBlkhV-TViIGlMeU/s640/22.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_14" o:spid="_x0000_i1030" type="#_x0000_t75" style='width:356.25pt;
height:289.5pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png"
o:title="" croptop="6539f" cropbottom="18458f" cropleft="19325f" cropright="18064f"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Enter ABAP frontend system’s details to deploy the App on it<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrZDY3TJ2s-OOVr52XjcBB3WIJCIFqq-91Z0yOatHVNAc2JYeZupmgFFyIhvpXravbXlU4x_djnlSNex8ZNz-FTaXaTvgGDNqvv5520YC9Ln7_ixvI-NevmlGhfQY8kjKFuD0QoKjkIA/s1600/23.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="436" data-original-width="453" height="614" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGrZDY3TJ2s-OOVr52XjcBB3WIJCIFqq-91Z0yOatHVNAc2JYeZupmgFFyIhvpXravbXlU4x_djnlSNex8ZNz-FTaXaTvgGDNqvv5520YC9Ln7_ixvI-NevmlGhfQY8kjKFuD0QoKjkIA/s640/23.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_24" o:spid="_x0000_i1029" type="#_x0000_t75" style='width:337.5pt;
height:327pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Enter logon credentials. Ensure that this user has developer
key assigned and developer roles given to it and using this ID, you have
already created at least one technical object in the system prior to using the
ID for deployment of UI5 app fom eclipse.<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilcAbdnKHT_QE-dDxR7kksY-7e0DDpU0DLxclvrABQt-7wKH4V51kpDGBtFPGNLqA0owm8xWR2f-229EPQdHdPmNV2Vh9Q673MDhAnkXUuRcP-ebxi9xEJ7PiRgNt1AsWmZnS5c2IcCh0/s1600/24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="291" height="613" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilcAbdnKHT_QE-dDxR7kksY-7e0DDpU0DLxclvrABQt-7wKH4V51kpDGBtFPGNLqA0owm8xWR2f-229EPQdHdPmNV2Vh9Q673MDhAnkXUuRcP-ebxi9xEJ7PiRgNt1AsWmZnS5c2IcCh0/s640/24.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
On the next page, you have options. Options one is to select
an existing App onto which the changed resources will be overwritten. Option
two is to create a new App. This will create a BSP application and a ICF
service for the App in the system.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA38ZeEZkLqLcR2ZEv7gl5jlkr0tVoPchD0gW0I4PoiDKeoQfUdhNqP7KGHYL3PIKCv1vOz4GFRsVwTTD-gAEc5YV8q5hIwF9YoQbK8nDeMUG2PL_Hpa6M4u8MIlYApadRAN1MFkDITaE/s1600/25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="628" data-original-width="624" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA38ZeEZkLqLcR2ZEv7gl5jlkr0tVoPchD0gW0I4PoiDKeoQfUdhNqP7KGHYL3PIKCv1vOz4GFRsVwTTD-gAEc5YV8q5hIwF9YoQbK8nDeMUG2PL_Hpa6M4u8MIlYApadRAN1MFkDITaE/s640/25.png" width="634" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shape
id="Picture_x0020_26" o:spid="_x0000_i1027" type="#_x0000_t75" style='width:468pt;
height:471pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file:///C:/Users/BOHRMO~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div class="MsoNormal">
Finally, you need to select the TR or create a new TR to
capture these changes<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3JysP8GRr3KuM2ZH07Z0_YqK-H1DyLqSdYRo2n-_jk5hK5M6E0W28w5CiGXke7vorazSK5BNndR5utSnunEuh3J6wV4er2VUNdOV0fmlZJrCR7D5qxCPy-nFQbK84Xvy-wvvaZ-cx_j0/s1600/26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="585" data-original-width="624" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3JysP8GRr3KuM2ZH07Z0_YqK-H1DyLqSdYRo2n-_jk5hK5M6E0W28w5CiGXke7vorazSK5BNndR5utSnunEuh3J6wV4er2VUNdOV0fmlZJrCR7D5qxCPy-nFQbK84Xvy-wvvaZ-cx_j0/s640/26.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
Click on Finish.<o:p></o:p></div>
<div class="MsoNormal">
<b><u>Test the new App<o:p></o:p></u></b></div>
<div class="MsoNormal">
Once the application is deployed, you need to test that.
Right click on the project and select Run As->Run on ABAP server shown below<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZdxFBxecy3U-O2EfwoLEyzr3WbFILWmql6sFcClecklNjc1-WRmvC8wKcp7Jx-i_9hufOYrIHasovVSQEEprreECKukaTrYHug5Ohz9OtXANeFrjK5s7EGLHHTWcpr4SJ2OgxnDw-IWU/s1600/27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="447" data-original-width="561" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZdxFBxecy3U-O2EfwoLEyzr3WbFILWmql6sFcClecklNjc1-WRmvC8wKcp7Jx-i_9hufOYrIHasovVSQEEprreECKukaTrYHug5Ohz9OtXANeFrjK5s7EGLHHTWcpr4SJ2OgxnDw-IWU/s320/27.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Verify the changes in the deployed App. With this you have successfully made changes to an existing custom UI5 app and deployed on ABAP frontend server. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In case you face any issues while following these steps, post a comment below and I will be happy to assist you resolve the issues</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-50440847590866105352020-03-21T10:25:00.003-07:002020-03-21T10:25:40.619-07:00SAP FIORI security concepts<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
This article is about the activities that a FIORI
developer/administrator would do in a FIORI implementation project. This will
be more from the perspective of SAP FIORI security.<o:p></o:p></div>
<div class="MsoNormal">
By the end of this article, you will know concept of authentication,
authorization, FIORI in the context of SAP ECC and S/4 HANA systems, types of users
involved in SAP FIORI implementation project.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>What is the difference between authentication and
authorization?<o:p></o:p></b></div>
<div class="MsoNormal">
<b>Authentication</b> is to provide access to the system.
The ability to login to the system using correct login credentials is called
authentication. And <b>authorization</b> is the ability of the user to perform
various transactions within the system after login. Using authorizations,
granular control over the ability of a user performing various transaction within
the system can be done. For example, some users may be authorized to create a
sales order, modify it and display it. While some other group of user may have
authorization to only display a sales order.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>What is FIORI?<o:p></o:p></b></div>
<div class="MsoNormal">
FIORI is the new user experience for SAP solutions like ECC,
S/4 HANA, SAP suite solutions etc... With the coming of FIORI, the old UI
technologies like Dynpro, BSP and dialog programming have become obsolete. The
main selling factor is FIORI is that it enables users to access business data and
transactions on mobile devices and with high availability and in a secure
manner and in a role-based manner. Moreover, FIORI apps are simple and coherent
in nature. The monolithic screens that we used to see in the tcodes like ME21,
VA01, MM01 etc… have been broken down into smaller chinks UI controls allowing
users to focus on the task to be performed on the screen. And with this, the UI
screens are self-explanatory and hence the training costs involved reduces
drastically. The default user experience for S/4 HANA is FIORI. FIORI apps also
has offline capabilities.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>SAP FIORI provides role based assess to SAP Apps. What
does this mean? Which type of users are involved in SAP FIORI implementation project?<o:p></o:p></b></div>
<div class="MsoNormal">
In FIORI implementation project, there are 5 type of users.
First, the <b>Business user</b>. This is the user who uses the FIORI App and
does his daily tasks of his job using FIORI apps. Second is the <b>SAP FIORI
Security consultant also called BASIS consultant</b>. This user installs the
system, applies upgrades to the system, applies SAP notes to the system. He
creates users, roles and hence gives necessary authorizations to the end users.
This person creates the PFCG roles and add FIORI catalogue and Groups, OData
authorizations etc... to the role and assign this role to the business users.
He might also create the FIORI launchpad designer to create Tiles, target
mapping, catalogue, group. He also might create Semantic object and Launchpad
role instance. The third person is the <b>UI5 developer also called FIORI
developer</b>. This guy creates brand new UI5 applications for business user’s
requirements. At times, he extends standard Fiori apps. In case of FIORI extensions,
he refers the FIORI apps library and does the necessary extensions based on
business requirements. He will create odata services and consume those on UI5
apps. He will work on eclipse or on Web IDE. He will sometimes work on FIORI
launchpad designer. Fourth user in the implementation project is called key
user. This user does<span style="mso-spacerun: yes;"> </span>the UI adaptations
as per business requirements. He creates KPI tiles, smart filter FIORI apps.
The fifth user is the UX designer. He focuses on creating prototypes, he uses build.me
to create prototype. He is bridge between the business user and the UI5 application
developer. His focus is to ensure that business user is happy with the UI
controls, the screen navigation, the no. of clicks the user has to do to
complete his tasks on the App, the app’s responsiveness etc. He creates
prototypes and demoes it to the business users, gets his consensus and then hands
over the prototype code to the UI5 developer so that developer can import the prototype
in actual UI5 app project and then build further on it, integrate actual odata
services and build full-fledged app based on the prototype.<o:p></o:p></div>
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-84386680459998080652018-12-23T02:22:00.001-08:002018-12-23T02:22:19.561-08:00RFC destination from gateway to ECC is showing error<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><b><font size="4">1. Introduction</font></b></div><div><b><font size="4">2. Error</font></b></div><div><b><font size="4">3. Resolution of Error</font></b></div><div><b><br></b></div><div><b><u><font color="#0000ff">Introduction</font></u></b><br></div><div>You are trying to call function module from oData service. The oData service is hosted on SAP net weaver gateway system and function module which is RFC enabled is hosted on SAP ECC system. To make this call you need to have a RFC destination created in Gateway system. This activity can be done in SM59 transaction. Once RFC destination is created, test it by clicking on connection test as shown below.<br></div><div><br></div><div>Click on Connection test on below RFC Connection.</div><div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_CHuBwSGv3Z_DG2k6KcijLrvy1XUoKhZM3CR_enLWkRRQ7agD3k7djjs4-4ZDKfqRzlKVHqLVd2MQDtcCZsLXjY0051mM8VjsYaF3nDM-qRNAJhL68fvEXi7ysusZHBllaMWp28-JrQM/s1600/RFC+Connection-739574.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_CHuBwSGv3Z_DG2k6KcijLrvy1XUoKhZM3CR_enLWkRRQ7agD3k7djjs4-4ZDKfqRzlKVHqLVd2MQDtcCZsLXjY0051mM8VjsYaF3nDM-qRNAJhL68fvEXi7ysusZHBllaMWp28-JrQM/s320/RFC+Connection-739574.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_6638131972630887874" /></a><br></div></div><div><br></div><div>Below error is displayed</div><div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEpT7zJimYFHKGh8hWc4wvmw8GQEwuSilihVwIYYMFpzROMf5iIM6Y7hZhZYrguXuQGescKM8rzzOxIYzrDCjCYy3kKj59bzOknpg3XgaC20FrqP9wv7NAOddNTuNuCYY-vCW1rrl-6II/s1600/connection+test+failed-741317.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEpT7zJimYFHKGh8hWc4wvmw8GQEwuSilihVwIYYMFpzROMf5iIM6Y7hZhZYrguXuQGescKM8rzzOxIYzrDCjCYy3kKj59bzOknpg3XgaC20FrqP9wv7NAOddNTuNuCYY-vCW1rrl-6II/s320/connection+test+failed-741317.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_6638131980358574306" /></a><br></div></div><div><br></div><div><b><u><font color="#0000ff">Error</font></u></b></div><div><div><b><i>Error when opening an RFC connection (LB: Hostname or service of the message server</i></b></div></div><div><br></div><div>Under such circumstances, if you try to run oData service on browser, you get below error.</div><div><b style="color:rgb(0,0,0);font-family:monospace;font-size:13px">Error Text as shown on the </b><b style="color:rgb(0,0,0);font-family:monospace">front end </b><b style="color:rgb(0,0,0);font-family:monospace;font-size:13px">i.e browser</b></div><div><span style="color:rgb(0,0,0);font-family:monospace;font-size:13px">Call of service <oData service URL> terminated because of an error. The following error text was processed in system MUP : Error when opening an RFC connection (LB: Hostname or service of the message server unknown DEST =ECC_TRUSTED MSHOST =171.31.243.33 R3NAME =MUP GROUP =MUP).The error occurred on the application server mutcdcnwhwcuv. The termination type was: RABAX_STATE.If the termination type is RABAX_STATE, you will find more information on the cause of termination in system MGP in transaction ST22. If the termination type is ABORT_MESSAGE_STATE, you will find more information on the cause of termination on the application server mstddcnwgwciv in transaction SM21. If the termination type is ERROR_MESSAGE_STATE, you can search for further information in the trace file for the work process in transaction ST11 on the application server mstddcnwgwciv. You may also need to analyze the trace files of other work processes. If you do not yet have a user ID, contact your system administrator.</span> <br clear="all"><div><br></div><div><b><u><font color="#0000ff">Resolution of Error</font></u></b></div><div><br></div></div><div>If the destination system is unavailable or not accessible over HTTP, this error occurs.</div></div></div></div></div> Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-35670628238650244372018-12-22T20:51:00.000-08:002018-12-22T21:24:17.908-08:00Testing oData Service using External Test Clients like ARC and Postman<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
<br />
<h3 style="text-align: left;">
<span style="color: blue;">1. Introduction<br />2. Google's ARC client<br />3. Concept of oData Write Operations without CSRF token<br />4. Google's Postman.</span></h3>
<br />
<b><span style="color: blue;">Introduction</span></b><br />
SAP provides a testing environment for oData services called
‘Gateway Client’ which is an inbuilt tool in SAP NetWeaver Gateway System. It
is meant for testing GET, POST, PUT, and PATCH, MERGE, DELETE http methods.<o:p></o:p></div>
<div class="MsoNormal">
During SAP implementation projects, oData services also gets
consumed in non-SAP application clients for example consuming oData service on
an Android based mobile app. In such scenarios, testing oData services using an
external client like ARC or Postman becomes critical. In this blog, we will see
how to test oData service using ARC client and Postman.<o:p></o:p></div>
<div class="MsoNormal">
<b><br /></b>
<b><span style="color: blue;">Google’s ARC Client</span><o:p></o:p></b></div>
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">First you need to Install ARC on your google
chrome browser. After installation, click on Apps.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2MrnomTC3SFn2J6Mzcb3odPQ30u68XvTe9mEDE8bRyi9HQm3sHqCVOTg8W4eXTGT1D6pLw9U3MI99HDtaE6LpppCF-DsWhTl8tFF0spsHJCLrvykQ4kHmxG7sOurBrAd_a_4pqrY1K1g/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="120" data-original-width="557" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2MrnomTC3SFn2J6Mzcb3odPQ30u68XvTe9mEDE8bRyi9HQm3sHqCVOTg8W4eXTGT1D6pLw9U3MI99HDtaE6LpppCF-DsWhTl8tFF0spsHJCLrvykQ4kHmxG7sOurBrAd_a_4pqrY1K1g/s640/1.jpg" width="640" /></a></div>
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">You will be able to see all the Apps installed on your Chrome browser like below.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7YXj0pInFzu5buamr1aloODQ28Ivg-tGaqtwS55fPMulB6R-g4dBymY4jykD2ZFfQjnwXSTBle_Bpj8qCspVEPPQLP7VbCWyS1NIPZRc4Hms1FHFb3x7kF7Nz24GZKAydhmYUjQC9r8A/s1600/Google+Apps.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="541" data-original-width="1172" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7YXj0pInFzu5buamr1aloODQ28Ivg-tGaqtwS55fPMulB6R-g4dBymY4jykD2ZFfQjnwXSTBle_Bpj8qCspVEPPQLP7VbCWyS1NIPZRc4Hms1FHFb3x7kF7Nz24GZKAydhmYUjQC9r8A/s640/Google+Apps.JPG" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">Click on ARC icon, below page will be displayed. Where you need to enter your oData service's URL and select the type of Request like GET, POST, PUT etc...</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiazjfPuMkrddYWNnDvUbcjdDnC30bnEa2PcIqz5uOpYgjud25HUdiesMpLaaqrdt1D8E0yP7qSHs7qFFOb-LDJrXhhuLUpT3RBKC_Cy3EeverIvZ6SRx6Xg32vzcesjrbxwIMkJHwQI9E/s1600/ARC+URL.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="1144" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiazjfPuMkrddYWNnDvUbcjdDnC30bnEa2PcIqz5uOpYgjud25HUdiesMpLaaqrdt1D8E0yP7qSHs7qFFOb-LDJrXhhuLUpT3RBKC_Cy3EeverIvZ6SRx6Xg32vzcesjrbxwIMkJHwQI9E/s640/ARC+URL.JPG" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">Then Click on Send button, that it, you are done. This is equivalent to oData read operation, If you are connected to network from where your SAP Netweaver gateway system is accessible, your read request will go all the way to Gateway and fetch necessary information and display in XML format in below manner.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6jvTUdLvL5xkHE5aSsbalziDX7MadRh_-zYGO-Ld8Y-5nGPMWt2Fjjj8SmjzupvJqDRFFZHd3AepzILjPeUIKykpdQpzKW6-hqz3J-JIcEiATYPH_wvQbeFhnVtEd4EPDr3k5cNgatm4/s1600/ARC+output.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="760" data-original-width="1491" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6jvTUdLvL5xkHE5aSsbalziDX7MadRh_-zYGO-Ld8Y-5nGPMWt2Fjjj8SmjzupvJqDRFFZHd3AepzILjPeUIKykpdQpzKW6-hqz3J-JIcEiATYPH_wvQbeFhnVtEd4EPDr3k5cNgatm4/s640/ARC+output.JPG" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div style="text-align: left;">
<span style="color: blue;"><b>Concept of oData Write Operations without CSRF token</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">You can also add headers to your HTTP request. For example, if you are doing a POST request (i.e. write operation for your oData), you need to send X-Requested-With header and its value to be set a 'X'. When such a header is sent for a oData write operation, ICF of your netweaver gateway system will not check for X-CSRF-Token. Other wise for any oData write operation, CSRF token is a must.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;">In addition to sending X-Requested-with header, you also need to sent ~Check-CSRF-Token parameter's value to 0 at the ICF service level of your oData service. You can do this in SICF transaction of your gateway system as shown below.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMdW0MU39evhBDf_vy7z4LNQ2AjKwe2F9p_kmyRoS-p5_2xRfJq2fCsHpg2XATPNXvlz1dmlaesuXVP5xLxVeimxaHpAydal_-GgpItsJyj6Ek8ZuCuUYYdmEXKuLCsG-L4ZA5Rev4T10/s1600/csrf+token+bypass.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="582" height="588" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMdW0MU39evhBDf_vy7z4LNQ2AjKwe2F9p_kmyRoS-p5_2xRfJq2fCsHpg2XATPNXvlz1dmlaesuXVP5xLxVeimxaHpAydal_-GgpItsJyj6Ek8ZuCuUYYdmEXKuLCsG-L4ZA5Rev4T10/s640/csrf+token+bypass.PNG" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLisLJMQkXE9-EOOJKNEcM-MImp9J2vXxXuDMPBTy6o0ukjYHP9MgWHLZnNjGEobcZen0rvRC_rTGSTo1huSNstllf9U93RYJkfwNDQYC8TTfmbhKT6LZECJqZTYj-6qJIJzTM4CqMD0k/s1600/token+bypass+0.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="164" data-original-width="407" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLisLJMQkXE9-EOOJKNEcM-MImp9J2vXxXuDMPBTy6o0ukjYHP9MgWHLZnNjGEobcZen0rvRC_rTGSTo1huSNstllf9U93RYJkfwNDQYC8TTfmbhKT6LZECJqZTYj-6qJIJzTM4CqMD0k/s640/token+bypass+0.PNG" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
<br />
<span style="font-family: "calibri" , sans-serif; font-size: 11.0pt; line-height: 107%;"><br /></span></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-59709506041184349962017-05-22T05:35:00.000-07:002017-05-22T05:42:51.039-07:00SAPUI5 Table Binding with Data Coming from Backend<div dir="ltr" style="text-align: left;" trbidi="on">
The Data that need to be displayed on SAPUI5 Table control resides of a backend system. The Data is fetched via oData services read call and rendered in table UI Control in below fashion<br />
<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
oModelECST_FETCH.read(url5,null, null, true, function(oData, oResponse){
debugger;<br />
oInvoices = new sap.ui.model.json.JSONModel({ "Invoices" : oData.results });
oInvoices.iSizeLimit = 100000;<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
var tab =this.getView().byId("invoicestable"); // invoicestable is the ID of Table UI Control<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tab.setModel(oInvoices);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>var i=0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tab.bindAggregation("items", {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>path: "/Invoices",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>template: new sap.m.ColumnListItem({<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>cells: [<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> //<br />
new sap.m.CheckBox({visible:invoicesThat.strtoBool(oData.results[tableIndex1].Count)}).setSelected(true),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.m.CheckBox("cbinv",{visible:"{Count}", selected:"{Sel}"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{InvNo}", <span class="Apple-tab-span" style="white-space: pre;"> </span>design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{InvDate}", <span class="Apple-tab-span" style="white-space: pre;"> </span>design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{Tin}" , <span class="Apple-tab-span" style="white-space: pre;"> </span>design:"Standard", semanticColor:"{semCol}"}),<br />
//<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{FormNum}", <span class="Apple-tab-span" style="white-space: pre;"> </span>design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text:"{TypeOfTx}",design:"Standard",semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{TaxableGoodsVal}", design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{AmtTaxVal}", design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{InclTaxVal}", design:"Standard", semanticColor:"Default", visible:inctaxval}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{LabourChrgesVal}", design:"Standard", semanticColor:"Default",visible:labchargval}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> <br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{OtherChrgesVal}", design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> //new sap.ui.commons.TextView({ text: "{LabourChrgesVal}", design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> new sap.ui.commons.TextView({ text: "{GrossTotalVal}", design:"Standard", semanticColor:"Default"}),<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> ]<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>})<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>});<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> },function(err){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> debugger;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> });<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> </div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com7tag:blogger.com,1999:blog-9103951421989355359.post-63335303076576453412017-05-22T03:55:00.004-07:002017-05-22T04:03:30.560-07:00Access UI Control and Its Children at Runtime to Modify Properties | UI5<div dir="ltr" style="text-align: left;" trbidi="on">
Based on user actions/output of user action, sometimes, other UI control's properties change. This behavior can be achieved by accessing UI controls mAggregation node at run time and setting desired values in UI control properties. Example of modifying 'enabled' property of a button which resides within a List's Custom list Items at place number 2. First UI control is a label, Second is the Button whose property is required to be modified<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhBOTCRWJHVFYoX3GYjO9YycSBz3vV_fNHxN16GRyeEfX-K81AkZ4zlRaVbrEQ0OWlFkvlqK4PQnwIa0XeWcRtpd4wXhKCdmoE0XHXWTjPc8JTCInc52GMEAtv2E6-ro5i96JrOCuEyHc/s1600/ui5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhBOTCRWJHVFYoX3GYjO9YycSBz3vV_fNHxN16GRyeEfX-K81AkZ4zlRaVbrEQ0OWlFkvlqK4PQnwIa0XeWcRtpd4wXhKCdmoE0XHXWTjPc8JTCInc52GMEAtv2E6-ro5i96JrOCuEyHc/s1600/ui5.png" /></a></div>
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-64491520910800711342017-05-22T03:21:00.003-07:002017-05-22T03:21:57.512-07:00Get Currently Logged in User in SAPUI5 application<div dir="ltr" style="text-align: left;" trbidi="on">
Some times to your oData calls, you want to send logged in user as one of the attributes to the call. This is how you can obtain currently logged in user within SAPUI5 application.<br />
<br />
var y = "/sap/bc/ui2/start_up";<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> var xmlHttp = null;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> xmlHttp = new XMLHttpRequest();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> xmlHttp.onreadystatechange = function() {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> var oUserData = JSON.parse(xmlHttp.responseText);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> oLoggedinID = oUserData.id;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> };<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> xmlHttp.open( "GET", y, false );<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> xmlHttp.send(null);<br />
<br />
oLoggedinID will contain the login id of the person who has logged on.<br />
<br />
thank you !<br />
Mohammed Bohra<br />
+91 8898030972</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-35553778407537623182017-05-22T00:56:00.002-07:002017-05-22T00:56:30.225-07:00UI5 screen not launching from MII Navigation menu<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: none; box-shadow: none !important; color: #444444; font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif; font-size: 15px; line-height: 1.5rem; margin-bottom: 10px !important; padding: 0px; word-wrap: break-word;">
hi Aravinth,</div>
<div style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: none; box-shadow: none !important; color: #444444; font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif; font-size: 15px; line-height: 1.5rem; margin-bottom: 10px !important; padding: 0px; word-wrap: break-word;">
When you run the application from MII navigation menu, perform a network trace to see which call is failing. Based on that further analysis can be done. Let me know if you can share your screen using AnyDesk software to enable me debug this further. </div>
<div style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: none; box-shadow: none !important; color: #444444; font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif; font-size: 15px; line-height: 1.5rem; margin-bottom: 10px !important; padding: 0px; word-wrap: break-word;">
thank you !</div>
<div style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: none; box-shadow: none !important; color: #444444; font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif; font-size: 15px; line-height: 1.5rem; margin-bottom: 10px !important; padding: 0px; word-wrap: break-word;">
Mohammed</div>
<div style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: none; box-shadow: none !important; color: #444444; font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif; font-size: 15px; line-height: 1.5rem; margin-bottom: 10px !important; padding: 0px; word-wrap: break-word;">
<complete id="goog_2087242606">+91 8898030972</complete></div>
<div>
<br /></div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-59906159833476519172017-05-21T22:51:00.000-07:002017-05-21T22:51:27.687-07:00How modify the portal URL to browser default<div dir="ltr" style="text-align: left;" trbidi="on">
Change the default portal URL to give users more user friendly URL that they are adapted to from the Internet. The following steps will show you how modify the URL from the default port of 50000 to 80 which is browser default<br />
<br />
To Change the Port:<br />
Switch to the J2EE Visual Administrator<br />
Goto -> Cluster -> Dispatcher -> Services -> HTTP Provider<br />
<br />
Choose Ports<br />
Change the port number to 80 for HTTP and 443 for HTTPS (SSL)<br />
Choose Update and save.<br />
Stop and Start the HTTP Provider service.<br />
Result:<br />
http: http://hostname.company.com:50000/irj/portal to http://hostname.company.com<br />
https: https://hostname.company.com:50000/irj/portal to https://hostname.company.com<br />
<br />
<br />
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-92197049374894596492017-05-19T03:14:00.002-07:002020-03-22T01:15:28.574-07:00Portal Implementation Learning<div dir="ltr" style="text-align: left;" trbidi="on">
@NIIT Technologies, Marwah Centre, Andheri (E), Mumbai<br />
<br />
SAP Enterprise portal is single source of access various structured and unstructured information within an enterprise. In its raw format, sap_bluecrystal theme is assigned to portal desktop by default. Portal is delivered with various framework pages like classic, ajax, fiori launchpad etc...<br />
<br />
I am trying to implement fiori launch pad. Few learning shared below<br />
<br />
<u><b>Iview Property for Fiori LaunchPad Tile Display</b></u><br />
Object ID of Device Group property of iview governs the display of its tile on fiori launchpad. The value of the property must be set as com.sap.portal.dg.desktop;com.sap.portal.dg.smartphone;SmartphoneAndroid.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLDT3wuDrwgyKfWfxejfiKucHX9WKHzUmOCga6_RjuMbCYKKYaTvPUUFP-ZColLQHMbb4quZhkKtLj0AnYPYSjfJITdR7K1-X4FN-fLEBLHBu5s4c_b0UspsNrFCpYqcHg6V6KtpTV8f8/s1600/Object+ID+of+Device.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="19" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLDT3wuDrwgyKfWfxejfiKucHX9WKHzUmOCga6_RjuMbCYKKYaTvPUUFP-ZColLQHMbb4quZhkKtLj0AnYPYSjfJITdR7K1-X4FN-fLEBLHBu5s4c_b0UspsNrFCpYqcHg6V6KtpTV8f8/s640/Object+ID+of+Device.png" width="640" /></a></div>
<br />
If the value is set to above, tile of this iview will display in Fiori launchpad else it will not display.<br />
<br />
<u><b>Activating UI Theme Designer in EP 7.3 and Above</b></u><br />
From 7.3 version of portal onwards, UI Theme Designer tool is being delivered by SAP. This tool is better version of Theme Editor. It has better usability than Theme Editor which used to come during 7.0 version. UI Theme Designer link can be accessed from within Content Admin->Portal Display->Portal Themes->UI Theme Designer.<br />
<br />
If you do not see UI Theme Designer link at above mentioned path, check for below<br />
Go to nwa->configuration->infrastructure->application Modules. Search for 'lafservice' in Module list.In the 'Web Module Details', in the components tab, select 'laf'. In the portal service details, select 'Determine what will be the theme runtime provider'. Change its value to 'LESS'. By default it is blank. Click on Save. Now 'UI Theme Desginer' link should be visible in portal content admin->portal display->Themes.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLJooEdYrcd7s7pn14ZleDd8JsPyCJI1XeQZ2-gB2b4X88PSD1Clntd5API8f728nB-vQtrJD7-3OkRs_5dAkYJkvOSIvzgXTxsGP9iCS6UMuiJU7Aw9st-ZSZkWJa4hTcyjM447F_Jic/s1600/lafservice.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLJooEdYrcd7s7pn14ZleDd8JsPyCJI1XeQZ2-gB2b4X88PSD1Clntd5API8f728nB-vQtrJD7-3OkRs_5dAkYJkvOSIvzgXTxsGP9iCS6UMuiJU7Aw9st-ZSZkWJa4hTcyjM447F_Jic/s640/lafservice.png" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b><u>Embedding EP Desktop within HTML Iframe</u></b><br />
This is about a requirement from the client which requires EP desktop to be displayed within iframe of another website. If you give the URL of EP ie http://<hostname>:50000/irj/portal directly as the scr value of iframe, portal will not load. There is a specific alias that SAP delivers to enable portal desktop to launch within an iframe. The Alias is called 'interop'. There is a special property, the alias has. It is called 'nested_window', the value of this property is set as 1. Check in system admin->system config->portal display->URL Alias Manager. Select Portal/interop</hostname><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp7GVxdlQSIBJASqj4H4zfPXCBISLAc2ckWgfgYMIHng5gqI0BvvuIsQUJ9p4Ast97ckzhHDzw6rSF8EPtV1VBkqU6Xr48EqRjfMYY0sEGv9IqXVrLW-uIbHImFliREdpw4Y3ZAXsYVV8/s1600/nested_window.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp7GVxdlQSIBJASqj4H4zfPXCBISLAc2ckWgfgYMIHng5gqI0BvvuIsQUJ9p4Ast97ckzhHDzw6rSF8EPtV1VBkqU6Xr48EqRjfMYY0sEGv9IqXVrLW-uIbHImFliREdpw4Y3ZAXsYVV8/s400/nested_window.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
The limitation with interop desktop is only one iview which is the first iview of first page of first role assigned to the logged in user will be displayed. So basically, it displays only one iview at a time.<br />
<br />
If you want to run EP end to end with all roles assigned to the logged in user, you can assign the same property to the desktop you are using. For example, if you are using fiori launch pad desktop, create a alias for that desktop and assign nested_window property the this alias. Now give EP URL alias to the src tag of iframe, EP Desktop will render fine within the iframe.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPe8dd4HjWsu2aI56AB3EufdIg5Wl8iG5LIeMWD5qkRetRI4BrlbXPaiNzQja2XPukfB40Oc0EerfR_KfGksIgTiTFosx1-YJyS9elQ4MzehDNtC_HbuyR9NrfmG2kEdW7Rmts-1XjavY/s1600/epwitiniframe.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="18" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPe8dd4HjWsu2aI56AB3EufdIg5Wl8iG5LIeMWD5qkRetRI4BrlbXPaiNzQja2XPukfB40Oc0EerfR_KfGksIgTiTFosx1-YJyS9elQ4MzehDNtC_HbuyR9NrfmG2kEdW7Rmts-1XjavY/s640/epwitiniframe.png" width="640" /></a></div>
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-74872954340766012812017-05-17T23:38:00.001-07:002017-05-17T23:38:10.261-07:00Logon to SAP EP Programatically by using UMFactory's LogonAuthenticator.Logon<div dir="ltr" style="text-align: left;" trbidi="on">
@ NIIT Technologies, Marwah Centre, Mumbai<br />
<br />
<br />
I am trying to write a java program which logs on a user to SAP EP with a user and password provided to the program. Some literature about it is available on the internet but no luck since couple of days. People are talking about using UMFactory's LogonAuthenticator.Logon method to log the user in. I tried it with various authentication schemes like basicauthentication, uidpwdlogon, certlogon etc but failed every time unfortunately. There are no error logs getting generated in the stack traces of server to guide me further towards solution.<br />
<br />
<u>Logon by posting j_user and j_password to EP URL.</u><br />
I am alternatively posting j_user and j_password variables to EP URL to log the user on. It works. See below form for reference.<br />
<br />
<form action="http://testdomainname:50000/irj/portal/flp" method="POST">
<br /> <input name="j_user" nbsp="" type="text" value="useridhere" /><br /> <input name="j_password" nbsp="" type="text" value="passwordhere" /><br /> <input name="EP" nbsp="" type="submit" /></form>
<br />
<br />
For the former method, I am could see that in authentication of EP in nwa, below message about authentication policies is being displayed. I beleive, the warning being displayed in causing the problem<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
The message is 'There are conflicting policy configurations: [anonymous,default,certlogon,uidpwdlogon,UserAdminScheme,basicauthentication]'<br />
<br />
<br />
<u>My Source code the for the former approach</u><br />
request.setAttribute(ILoginConstants.LOGON_UID_ALIAS,"useridtest");<br /> request.setAttribute(ILoginConstants.LOGON_PWD_ALIAS,"passwordtest");<br /> try<br /> {<br />
UMFactory.getLogonAuthenticator().logon(request, response, "uidpwdlogon");<br /> }<br /> catch(javax.security.auth.login.LoginException e)<br /> {<br /> out.println (e.getStackTrace());<br /> }<br />
<br />
<u>Result printed on screen from stack Trace</u><span style="-webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: "Times New Roman"; font-size: small; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">[Ljava.lang.StackTraceElement;@35ab660e</span><br />
<br />
<span style="-webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: "Times New Roman"; font-size: small; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">All suggestions to above problem are welcome. </span><br />
<br />
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-22991965276136443432015-06-11T02:21:00.002-07:002015-06-11T02:21:28.853-07:00SAP EP ABAP RFC Iview<div dir="ltr" style="text-align: left;" trbidi="on">
SAP EP comes with huge number of iview templates. I am trying to make a iview based on ABAP RFC Iview template. I have created a system object based on the ECC system. There are some standard RFCs which we can use to demonstrate ABAP RFC iview functionality. For example I am using Flight list RFC.<br />
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-10634688079679855292015-06-10T00:01:00.005-07:002015-06-10T00:10:53.831-07:00Portal related Iview Parameters - Origin and modification of Parameter Values<div dir="ltr" style="text-align: left;" trbidi="on">
I am at MDU today. Let me introduce MDU to you<br />
taken from MDU's website...<br />
<br />
<br />
<br />
<br />
Maharshi Dayanand University, ab initio established as Rohtak University, Rohtak, came into existence by an Act No. 25 of 1975 of the Haryana Legislative Assembly in 1976 with the objective to promote inter-disciplinary higher education and research in the fields of environmental, ecological and life sciences. It was rechristened as Maharshi Dayanand University in 1977 after the name of a great visionary and social reformer, Maharshi Dayanand. It had a unitary and residential character in its nascent stage, but became an affiliating University in November 1978. The University secured the recognition of University Grants Commission – the higher education regulatory body of India - for central Govt. grants in Feb. 1983<br />
<br />
<br />
<br />
<br />
SAP module called SLCM; Student lifecycle management business package is deployed on MDU portal. Within the package, Student role consists of various iviews like change Address, Attendance tracking, Academic records services etc...<br />
<br />
<br />
When clicked on the link in detailed navigation for any of these iviews, the iview opens up in a new window. Following parameters passed to this iview. I wanted to change this behaviour and make the iview open within portal main content area and not in a separate window.<br />
<br />
<br />
parameters passed to the iview<br />
NavigationTarget<br />
PrevNavTarget<br />
NavMode<br />
CurrentWindowId<br />
<br />
<br />
I want to change the value of NavMode. Current value it hold is 3 and I want to make it 1 such that it opens up in portal main content area. At Iview level, in the navigation type of properties, the value is "Display in portal content area" but this value seems to get overridden by Navmode=3 as passed in URL parameters when iview is accessed. Not sure from where above mentioned parameters are being passed and how to modify them.<br />
<br />
<br />
<br /></div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-18405827712384796062015-04-29T04:10:00.002-07:002015-04-29T04:10:57.445-07:00Known Issues of UI Theme Designer for SAP NetWeaver Portal<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Known issues of UI Theme Designer for SAP NetWeaver Portal</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Other Terms</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
UI Theme Designer for SAP NetWeaver Portal, troubleshooting, error, UI Theme Designer, Portal Themes, Theming</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reason and Prerequisites</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
You have installed NW 7.30 SP10, NW 7.31 SP9 or NW 7.40 SP4 and you are using the new UI Theme Designer for SAP NetWeaver Portal and you are experiencing some issues.</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Solution</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
This section lists the known issues of UI Theme Designer for SAP NetWeaver Portal along with their solutions or workarounds.<br />
<strong>LANGUAGES</strong><br />
<strong>Right-to-Left Languages Currently not Supported</strong><br />Symptom: Right-to-left languages are not supported.<br />Workaround: None<br />
Starting 7.31\7.30 SP13 7.40 SP8 Right-to-left languages are supported, please see note number <a href="https://css.wdf.sap.corp/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?iv_language=E&param=69765F6D6F64653D3030312669765F7361706E6F7465735F6B65793D303132303036313533323030303031323731363732303133267361702D6C616E67756167653D452669765F6C616E67756167653D45" target="_blank">1959708</a><br /><br /><strong>Translation of Parameters Currently not Supported</strong><br />Symptom: Portal parameter names and tags are not translated.<br />Workaround: None<br />
<strong>APPLICATION INTEGRATION</strong><br />
<strong>Application Types not Supported</strong><br />Symptom: Changes made to portal themes using the UI Theme Designer do not affect the following applications:<br />1) <strong>IAC </strong>and old <strong>ITS</strong> iViews (WebGui) that do not use UR-based style sheets<br />2) <strong>UI5</strong> iViews - not currently supported<br />3) <strong>Mobile</strong> iViews - not currently supported<br />Workaround: None<br />
4) <strong>NWBC</strong> for HTML and Desktop: not currently supported<br />
<strong>ACTIVATION</strong><br />
<strong>Automatic Migration of Portal Themes Currently not Supported</strong><br />Symptom: Manual migration of portal themes to the new structure is required.<br />Workaround: Existing themes must be manually exported and imported using the "Transport Themes" UI. See documentation for details.<br />
<strong>OTHER</strong><br />
<strong>Quick Theming of Portal Parameters Currently not Supported</strong><br />Symptom: Portal parameters cannot be edited using the Quick Theming tab.<br />Workaround: Edit portal parameters in the CSS tab.<br /><br /><strong>Changes Through WRR Require Manual Compilation</strong><br />Symptom: Changing LESS files through the Web Resource Repository (WRR) will not affect the theme at runtime.<br />Workaround: Manually compile the theme through: PortalAnywhere.Go -> com.sap.portal.themes.archive -> download.<br /><br /><strong>Custom Themes Based on SAP Themes Are Affected by SAP Changes</strong><br />Symptom: Changes made to parameters of standard SAP themes using the UI Theme Designer do not inherit parameter changes that are part of a NW upgrade.<br />Workaround: None<br /><br /><strong>Using a Transport Package for Existing Themes not Supported</strong><br />Symptom: Importing a transport package with an existing theme into a Portal that has activated the UI Theme Designer will result in the theme being transported but not migrated.<br />Workaround: Import the theme using the "Transport Themes" UI.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-54937202444495081402015-04-29T03:51:00.002-07:002015-04-29T03:51:09.327-07:00Locales, languages, date and time formats in Web Dynpro<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
A wrong language or locale is used after you logged on to the system ?<br />Calendar dates are formatted in an unintended way ?<br />Language change in the portal (through portal personalization) does not get immediately reflected in the Web Dynpro iViews ?</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Other Terms</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Web Dynpro Java, Enterprise Portal, locale, date format, time format</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reason and Prerequisites</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
You are using applications that have a SAP Web Dynpro Java user interface, running standalone or in the SAP Enterprise Portal.</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Solution</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
<br /><strong>Determination of languages and locales</strong><br /><br />Languages and locales are found stepping through several hierarchies based on the server layers involved. If you want to find out where this algorithm fails in your case, e.g. due to misconfiguration, you have to carefully check each step.<br />As there might be differences from release to release we recommend to double check with the NetWeaver Developer Workplace documentation, to visit sdn.sap.com or to consult a book like "Web Dynpro for Java" (SAP PRESS).<br />
<ol>1. Determination of the locale in SAP Portal</ol>
When the Web Dynpro application is running within the SAP Portal you have to start your investigation here.<br />
If the Portal succeeds to determine a locale and successfully hands it over in the URL to Web Dynpro, this locale might become effective. The first locale determined by the following sequence will be forwarded to Web Dynpro.<br />
<ol>a) Component locale: The locale of the component is specified by the following two properties and enables you to force a component to use one specific locale. This could be used for administration components.</ol>
<b>ForcedRequestLanguage</b><br />
<b>ForcedRequestCountry</b><br />
<ol>b) Portal mandatory locale: This is defined in the <b>prtDefault.properties</b> and forces a portal installation to use one and only one locale. Administrators setting up a portal environment use this locale.</ol>
<b>request.mandatorylanguage</b><br />
<b>request.mandatorycountry</b><br />
<ol>c) User locale: This is the locale attached to the profile of the user who logged in to the system. This is the most popular way to set language and locale.</ol>
<ol>d) Request locale: The request locale is defined by the browser. This is used, for example, for anonymous user or users that do not have locales defined in their profiles.</ol>
<ol>e) Portal default locale: This locale is defined in the <b>prtDefault.properties</b> by the following two properties.</ol>
<b>request.defaultlanguage</b><br />
<b>request.defaultcountry</b><br />
<ol>f) System default locale: The Java default locale defined by the system, either by the operating system or by the JVM on the server.</ol>
<ol>2. Determination of the locale in SAP Web Dynpro Java</ol>
Web Dynpro starts with the determination of a locale by looking for a locale delivered by SAP Portal. If this fails or if the Web Dynpro application is running standalone, successive steps are taken until the first one succeeds.<br />
<ol>a) SAP Portal hands over a locale to Web Dynpro via an URL parameter <b>sap-locale</b> .</ol>
<ol>b) The user locale is checked. This is the locale attached to the profile of the user who logged in to the system.</ol>
<ol>c) The <b>Accept-language</b> in the HTTP header of the request, defined in the browser, is checked.</ol>
<ol>d) The default <b>sap.Locale</b> in the application properties of the Web Dynpro application is investigated.</ol>
<ol>e) The <b>sap.systemLocale</b> in the <b>Propertysheet default</b> of the Web Dynpro runtime is evaluated.</ol>
<ol>f) The system default locale, either defined by the operating system or by the JVM on the server, is evaluated.</ol>
<ol>3. Determination of language resources</ol>
Dependent on the resource bundles available on the server the effective language in which static texts on the screen are shown can change again at this point of time. The first of the following steps succeeding finally determines the language of the static texts.<br />
<ol>a) The system searches for property resource bundles for the language defined in the SAP Web Dynpro Java session locale in a file like <b><filename>_<language>.properties</language></filename></b> . If the file is available this language becomes effective.</ol>
<ol>b) The default locale of the JVM on the server is evaluated and the related resource file <b><filename>_<language>.properties</language></filename></b> is searched for. If the file is available this language becomes effective.</ol>
<ol>c) Last the system tries to use the default resource bundle named <b><filename>.properties</filename></b> .</ol>
<ol>d) If this fails too, e.g. because the default resource bundle is not available, a <b>java.util.MissingResourceException</b> is thrown.</ol>
<br /><strong>Troubleshooting</strong><br />
<ol>4. Check the current session locale</ol>
The current session locale of the SAP Web Dynpro Java session is quite important. It is evaluated once at application startup and effects both static texts on the screen, headlines of table columns, formatting of application data e.g. calendar dates, and so on.<br />It can be checked in the Web Dynpro Content Administrator:<br />
<ol>a) Enter the Web Dynpro Content Administrator, e.g. via the start page of the SAP J2EE Engine -> Web Dynpro -> WD Content Administrator.</ol>
<ol>b) Display the attributes for any application.</ol>
<ol>c) Choose the tab "Language Resources" in the content area on the right.</ol>
<ol>d) Watch for the session locale displayed in the content area in the upper part ("Current locale"):<br />If it is something like "en_AU" it contains both language and country information, if it is e.g. "en" only, the country information is missing and the default formatting related to this language for e.g. calendar dates is used. For "en" this is USA English MM/DD/YYYY.</ol>
<ol>5. Check the available language resource bundles</ol>
The language resource bundles available define and contain the static language dependent texts on the screen for Web Dynpro Java applications.<br />They can be checked in the Web Dynpro Content Administrator:<br />
<ol>a) Enter the Web Dynpro Content Administrator.</ol>
<ol>b) Display the attributes for the application you want to check.</ol>
<ol>c) Choose the tab "Language Resources" in the content area on the right.</ol>
<ol>d) Select the desired language in the drop down menu "Select Language".</ol>
<ol>e) Watch for error messages like "No resource bundles found " at the bottom of the content area.<br />If the language resource bundle for the language chosen is available, the texts contained are shown in the table next to the drop down menu.<br />Mind that the resource bundles are stored on the appliocation servers locally and that they have to be checked for all application servers.</ol>
<ol>6. Different languages on different application servers</ol>
If you see Web Dynpro Java applications in different languages for the same user accessing different application servers, this might be due to inconsistencies on the different application servers regarding the JVM locales, the availability of language dependent resource bundles or different contents in the default resource bundle.<br />Please check these prerequisites on all apllication servers.<br />
<ol>7. Enable session trace</ol>
<ol>a) NW 04s & later versions</ol>
To enable the trace for locale determination in Web Dynpro, configure the log location "com.sap.tc.webdynpro.i18n" to Severity.INFO<br />
<ol>b) NW 04 versions</ol>
To enable the trace for locale determination in Web Dynpro, configure the log location "com.sap.tc.webdynpro.clientserver.cal.ClientSession" to Severity level: INFO.<br />
<ol>8. Users from R/3 & Date Formatting</ol>
If you use an R/3 based store (UME User Management Engine) in the backend system to keep your user data please ensure that you have not only maintained the language setting but also the country setting. Both in combination determine the NetWeaver Web Dynpro locale and in consequence the calendar date format that is used, e.g. DD/MM/YYYY for Australian English and MM/DD/YYYY for USA English.<br />
The settings in the user management in R/3 are:<br />
<ol>a) call transaction SU01 in R/3 ABAP system</ol>
<ol>b) press tab "Address"</ol>
<ol>c) look at box "Person"</ol>
<ol>d) maintain "Language" field (technical "LANGUP_ISO")</ol>
<ol>e) press small button "+ more fields" on right</ol>
<ol>f) maintain "Format country" field (technical "NAMCOUNTRY")</ol>
To check the current session locale that is used in your NetWeaver Web Dynpro session see the paragraph above on this issue.<br />
For further reference on localization of Java applications see ISO 639 Language Codes, ISO 3166 Region Codes and SUN SDN "Internationalization: Understanding Locale in the Java Platform".<br />
<ol>9. Change of locale in Web Dynpro iView</ol>
There is one locale assigned per login (user) session. This is done for the first Web Dynpro Java application or Web Dynpro Java iView started in the login session.<br />After detecting the locale, this locale is assigned to the login session and all Web Dynpro applications and all Web Dynpro iViews started in the same login session. The reason why it has to be this way is that Web Dynpro uses backend connection caches which are associated to the login session and they are locale sensitve.<br />
If the locale for the Web Dynpro iView is changed in the portal (through portal personalization), this is not reflected in the running login session. The user needs to logoff and login again, in order to see the locale change in the Web Dynpro iView.<br />
As Web Dynpro uses one locale per login session, it is not possible to run multiple iViews with different locale settings.<br />
<br /><strong>Known Limitations</strong><br />
<ol>10. Calendar date formatting for Singapore</ol>
The calendar date formatting for the locale "en_SG" Singapore is MM/DD/YYYY similar to the US American date format.<br />This is a feature of the SUN Java JVM. It is not possible, by means of SAP NetWeaver, to change this behaviour.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-5139238037487240292015-04-29T03:49:00.002-07:002015-04-29T03:49:48.302-07:00Web Dynpro Java: Generation error for portal application URL<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
WDPortalUtils.getPortalApplicationURL returns wrong result.<br /><br />Example for wrong URL before the fix returned by WDPortalUtils.getPortalApplicationURL(pcd://mypath/x):<br />/pcd://mypath/x<br /><br />Example for correct URL after the fix returned by WDPortalUtils.getPortalApplicationURL(myurl):<br />/irj/servlet/prt/portal/prtroot/pcd%3A%2F%2Fmypath%2Fx</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Other Terms</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
WDPortalUtils getPortalApplicationURL</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reason and Prerequisites</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Error in URL generation.</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Solution</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Update to newer version of Web Dynpro runtime.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-17737519973280061302015-04-29T03:46:00.002-07:002015-04-29T03:46:58.293-07:00Reverse proxy supported by Web Dynpro<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Reverse proxy supported by Web Dynpro; generated URLs have changed</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Other Terms</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
WDURLGenerator, reverse proxy, URL generation, absolute URL, relative URL, resource path, Web resource URL, SPS13, Web Dynpro URL generation</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reason and Prerequisites</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Starting with NetWeaver04, SPS13, Web Dynpro will support reverse proxies. In prior service packs, reverse proxies were not supported (see also note 711093). The support of reverse proxies led to a change in the URLs generated by the WDURLGenerator: Methods like<br />WDURLGenerator.getWebResourceURL(...), WDURLGenerator.getApplicationURL(...),<br />WDURLGenerator.getSAPIconsWebResourcePath(...), etc.<br /><br />previously generated absolute URLs like the the following:<br /><br />/webdynpro/resource/sap.com/tc~wd~corecomp/Components/test.TestComp/icon.gif<br /><br />These URLs couldn't be resolved when a reverse proxy was used. In order to support reverse proxy landscapes, the generated URLs had to be changed to be relative URLs like the following:<br /><br />../../../resource/sap.com/tc~wd~corecomp/Components/test.TestComp/icon.gif<br /><br />This change should be transparent for the application if the URL generator is used as supposed. However, there might be problems in an application that misused the URL generation, as shown in the example below:<br /><br />1. If the application generates Web resource URLs and adds a prefix to the generated URL:<br />String url = "~host" + WDURLGenerator.getWebResourceURL(...);<br /> Previous to the support of reverse proxies, this led to an URL like ~host/webdynpro/resource/sap.com/tc~wd~corecomp/Components/<br /> test.TestComp/icon.gif<br /><br /> Starting with SPS13, this will result in the following wrong URL:<br />~host../../../resource/sap.com/tc~wd~corecomp/Components/<br /> test.TestComp/icon.gif<br /><br /> Solution:<br /> The prefix should be removed. Using the prefix is no good idea at all. It makes the application coding dependent on small changes of the URL generation. The WDURLGenerator is supposed to contain all methods required to generate URLs on static resources of Web Dynpro applications and is supposed to hide away any details of the structure of the generated URL to the application.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-13869977081603591692015-04-29T03:44:00.002-07:002015-04-29T03:44:46.941-07:00Web Dynpro error page, known error situations, error codes<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Web Dynpro error page is shown</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Other Terms</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Web Dynpro error page error code<br />LockException SessionExpiredLongJumpException ChunkLimitException SessionLimitExceededException RuntimeException Error</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reason and Prerequisites</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
Exception occurs in Web Dynpro and Web Dynpro error page is shown.</div>
<br style="background-color: white; font-family: Arial, Helvetica, sans-serif;" />
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Solution</span></div>
<div class="longtext MonoSpace" id="MonoSpace" style="background-color: white; font-family: 'Lucida Console', Monaco, 'Courier new', monospace; font-size: 12px;">
This note describes how a user should analyze the Web Dynpro error page that is shown in case an error occurs when procesing a Web Dynpro application. It also describes well-known error codes and error situations which are not related to funtional correctness of the UI runtime.<br /><br />=======================================================================<br />
<b>Analyzing error page information:</b><br /><br />In case an error occurs when processing a request to a Web Dynpro application, an error page is shown.<br /><br /><b>System runs in development mode:</b><br />If the system runs in development mode, the error page contains following details about the related error.<br />
<ul>
<li>Exception text and error code</li>
</ul>
<ul>
<li>System information, like version of the used Web Dynpro runtime, Web AS version, etc.</li>
</ul>
<ul>
<li>Correction hints are shown if a well-known error situation has occured that is not related to a bug in the Web Dynpro runtime.</li>
</ul>
<ul>
<li>If the error page is shown due to a unexpected error situation, the stacktrace of the exception is shown in a short version and additional in a full version at the bottom of the error page. Often, causing exceptions are nested in such stacktraces. Nested Exceptions can be identified by 'Caused by' prefix. To find the root cause of the problem, the last nested exception of the stacktrace is relevant. This is the exception after the last 'Caused by'.</li>
</ul>
<br />If the shown error page results in a CSN, the complete error page should be saved as HTML file and attached to the CSN message.<br /><br /><b>System runs in productive mode:</b><br />If the system runs in productive mode, the error page only shows a log ID which references to the detailed exception stacktrace in the trace or log file. The related defaultTrace.trc and log file should be checked for further analysis. This can be done by the system administrator. To disable the reduced error page, the administrator can connect to the Java EE telnet console and type in following command:<br />> setsp -p DetailedErrorResponse true http<br /><br />If the shown error page results in a CSN, the related defaultTrace.trc, and log file should be attached to the CSN message. Additionally, the system information page should be saved as HTML file and attached to the message (-> Web AS start page -> System Information).<br /><br />For more information on how to get the defaultTrace.trc and System Information please have a look to note 742674. For more information on how to switch between productive and development mode see note 962319.<br /><br />=======================================================================<br />
<b>Description of well-known error situations, their reasons and solutions:</b><br /><br />There are some well-known error situations which are not related to a bug or functional incorrectness of the Web Dynpro runtime. The following list shows such error situations, grouped by exceptions and error codes, and explains their causes and possible solutions.<br />
<b>SessionLimitExceededException<b>:</b></b><br /><ul>
<li><b>Symptom:</b>Error page is shown with either a com.sap.tc.webdynpro.services.exceptions.SessionLimitExceededException</li>
</ul>
<ul>
<li><b>Error code: </b>403 - Forbidden</li>
</ul>
<ul>
<li><b>Cause: </b>There is a configurable maximum number of sessions which can be started by a single user in one user session. If this maximum limit is exceeded, the error page comes up. There is an extra user session per browser process (respectively per browser login). Web Dynpro counts following sessions within a user session:</li>
</ul>
<ul>
<li>Web Dynpro applications running without the portal</li>
</ul>
<ul>
<li>Portal pages containing embedded Web Dynpro applications are counted when running within the portal</li>
</ul>
This counting guarantees that in the portal a portal page that contains Web Dynpro applications is either shown completely or not at all.<br />
<ul>
<li><b>Solution:</b></li>
</ul>
<ul>
<li>User must close external browser windows or browser tabs to reduce the number of active sessions.</li>
</ul>
<ul>
<li>If the maximum number of allowed sessions per user session is to small in general, the administrator can configure it via the parameter "sap.max.session.limit" in the Web Dynpro default.properties (for details, see note 1012065).</li>
</ul>
<br />
<b></b><br /><b>LockException:</b><br /><ul>
<li><b>Symptom:</b>Error page is shown with a com.sap.tc.webdynpro.services.session.LockException</li>
</ul>
<ul>
<li><b>Error code: </b>408<b> -</b>Request Timeout</li>
</ul>
<ul>
<li><b>Cause: </b>Web Dynpro provides a single-threaded programming model. As soon as a request for a user session is processed, the user session is blocked for the duration of the request, i.e. there is always at most one thread that has acquired the lock of a user session. Concurrent requests which refer to the same user session (i.e. triggered from the same browser process) are serialized and processed one after each other. If there is a request which blocks or hangs due to some waiting/blocking condition, then other concurrently incoming requests are waiting for a certain period of time that the user session lock is released. If they can't acquire the user session lock after this time interval, the waiting thread terminates with a LockException error page.</li>
</ul>
<ul>
<li><b>Solution:</b></li>
</ul>
<ul>
<li>The LockException error page shows a 408 error code and the stacktrace of the thread that holds the user session lock and that is responsible for the blocking/waiting condition. Forward the stacktrace to the development group or CSN component that can help to understand the shown stacktrace and explain the waiting/blocking condition.</li>
</ul>
<ul>
<li>If there are intended long running requests which hold the user session lock for a longer time, an administrator might want to configure the maximum time for which an incoming request will wait if the user session lock is already taken. This can be done via "sap.locking.maxWaitInterval" parameter in the Web Dynpro default.properties (for details, see note 1012065).</li>
</ul>
<b></b><br /><b></b><br /><b>SessionExpiredLongJumpException:</b><br /><ul>
<li><b>Symptom:</b>Error page is shown with a com.sap.tc.webdynpro.clientserver.session.SessionExpiredLongJumpException</li>
</ul>
<ul>
<li><b>Error code:</b>400 - Session Timeout</li>
</ul>
<ul>
<li><b>Cause 1: </b>A started application was untouched for a certain period of time and has expired in the meantime. The expiration happens as an asynchronous server event and the client is not notified about this event. The user is notified about it the next time when a request to the expired application is triggered and the error page with the SessionExpiredLongJumpException is coming up.</li>
</ul>
<ul>
<li><b>Cause 2:</b>A application that is started on the client is stopped/removed/redeployed on the server. Such an action leads to a termination of the depending sessions on the server. The user gets a SessionExpiredLongJumpException when triggering the next request to the related application.</li>
</ul>
<ul>
<li><b>Solution:</b>The user has to restart the application (browser refresh, or "Refresh" entry in the IView tray menu in the portal).</li>
</ul>
<br />
<b>DispatcherException:</b><br /><ul>
<li><b>Symptom:</b>Error page is shown with a com.sap.tc.webdynpro.services.sal.core.DispatcherException</li>
</ul>
<ul>
<li><b>Error code:</b>500 - Internal Server Error</li>
</ul>
<ul>
<li><b>Cause: </b>The requested application is not deployed on the server.</li>
</ul>
<ul>
<li><b>Cause: </b>There is a typo in the application URL, i.e. the URL doesn't address an existing and deployed application.</li>
</ul>
<ul>
<li><b>Solution: </b>The user should check the URL for typos; the user should contact the system administrator whether the requested application is deployed at all.</li>
</ul>
<br /><br /><b>"Failed to process the request: Request refers to an unknown session":</b><br />
<ul>
<li><b>Symptom:</b> Error page is shown with message text: "Failed to process the request: Request refers to an unknown session".</li>
</ul>
<ul>
<li><b>Error code:</b> 404 - Application Not Found</li>
</ul>
<ul>
<li><b>Cause:</b> The server received a request which refers to an assumingly existing application session which is unknown to the server.</li>
</ul>
<ul>
<li><b>Solution:</b> The problem occurs if for instance the client has sent an incorrect request to the server, or the request dispatching mechanism of a cluster incorrectly dispatched a postback/follow-up request to a wrong server node. For a concrete analysis, the http traffic should be recorded using a tool like HttpWatch and the recording should be attached to an OSS message. To check whether a wrong request dispatching is the problem, check if the loadbalancing cookie "sap_lb" contains the same value over the sequence of requests. If this is not the case, it is an indication that the request was dispatched to the wrong server node during the sequence of requests.</li>
</ul>
<br /><b>"Failed to process the request: The suspension of a non-suspendable application resulted in the destruction of the requested session.":</b><br />
<ul>
<li><b>Symptom:</b> Error page is shown with message text: "Failed to process the request: The suspension of a non-suspendable application resulted in the destruction of the requested session.".</li>
</ul>
<ul>
<li><b>Error code:</b> 400 - Suspend Error</li>
</ul>
<ul>
<li><b>Cause:</b> The server received a request which refers to an assumingly suspended application session which was destroyed because the application is marked as non-suspendable.</li>
</ul>
<ul>
<li><b>Solution:</b> The problem occurs if a request is sent with previous session parameters. For a concrete analysis, the http traffic should be recorded using a tool like HttpWatch and the recording should be attached to an OSS message. Check whether the request contains the request parameters "sap-wd-norefresh" or "sap-wd-cltwndid".</li>
</ul>
</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-28561352168626983202014-06-25T00:38:00.003-07:002014-06-25T00:38:40.451-07:00Memory usage grows/Backend connections keep alive<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext MonoSpace" id="MonoSpace">
Web Dynpro Applications do not terminate when the browser is closed or navigation to other applications/pages is triggered. Thus memory usage grows as well as backend connections and thus database locks keep open until http session timeout occurs (preconfigured to 30 min).</div>
<span style="color: #04357b;"></span><br />
<span style="color: #04357b;">Reason and Prerequisites</span><br />
<div class="longtext MonoSpace" id="MonoSpace">
A popup blocker, e.g. delivered with the Google-Toolbar, is active and does not allow to open a hidden browser window that sends the request to the SAP Web Application Server. Therefore the "terminate session" is not reveived from the server.</div>
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Solution</span></div>
<div class="longtext MonoSpace" id="MonoSpace">
Please deactivate that popup blocker for those URLs that point to the SAP Web Application Servers and/or the Enterprise Portal.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-16740714124731300002014-05-31T02:09:00.003-07:002014-05-31T02:09:57.428-07:00Setting up a Support Desk Scenario<div dir="ltr" style="text-align: left;" trbidi="on">
Purpose:<br />
<div class="page view" id="content">
<div class="wiki-content" id="main-content">
This Wiki aims to assist whoever wants to configure an internal Support Desk scenario in the portal, in order to set it according to the business needs.<br />
<h6 id="ConfiguringanInternalSupportDeskScenarioonEnterprisePortal-Overview:">
Overview:</h6>
The Enterprise Portal offers a Support Desk functionality that allows portal users to create support messages which are sent to the internal support organization.<br />
This mechanism provides internal help desk employees with a fully integrated message handling system. More information about it can be found at the following location:<br />
<a class="external-link" href="http://help.sap.com/saphelp_nw70ehp1/helpdata/de/48/3a4094ae9671b9e10000000a421937/frameset.htm" rel="nofollow">http://help.sap.com/saphelp_nw70ehp1/helpdata/de/48/3a4094ae9671b9e10000000a421937/frameset.htm</a><br />
Also more details about this iView can be found on <a class="external-link" href="https://service.sap.com/sap/support/notes/641707" rel="nofollow">SAP Note 641707</a><br />
<h6 id="ConfiguringanInternalSupportDeskScenarioonEnterprisePortal-Prerequisites:">
Prerequisites:</h6>
<ul>
<li>An SAP Solution Manager backend system must be installed and customized according to the documentation mentioned above.</li>
<li>An Enterprise Portal system is available for setting up this configuration.</li>
</ul>
<h6 id="ConfiguringanInternalSupportDeskScenarioonEnterprisePortal-Configuringthe"ReportaProblem"iview:">
Configuring the "Report a Problem" iview:</h6>
<ul>
<li>In order to create the new “Report a problem” iview and configure the same, proceed as per it follows:</li>
</ul>
1 – Create a new iview<br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/1.jpg?version=1&modificationDate=1323261248000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/1.jpg?version=1&modificationDate=1323261248000&api=v2" /><br />
2 – Select the option “Portal Component” and click on “Next”<br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/2.jpg?version=2&modificationDate=1323269568000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/2.jpg?version=2&modificationDate=1323269568000&api=v2" /><br />
3 – Select “com.sap.portal.epsolman” as the portal archive and click on “Next” <br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/3.jpg?version=2&modificationDate=1323270500000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/3.jpg?version=2&modificationDate=1323270500000&api=v2" /><br />
4 – Let the available option (EPSolman) checked and click on “Next”<br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/4.jpg?version=2&modificationDate=1323270509000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/4.jpg?version=2&modificationDate=1323270509000&api=v2" /><br />
5 – Specify an iView Name and iView ID for your new Report a Problem iview, click on “Next” and then click on “Finish”<br />
<ul>
<li>Now that the iview has been created, in order to <strong>modify the options</strong> given for the user in regards to the available <strong>components in which the message is to be created</strong>, proceed with the following:</li>
</ul>
1 – Edit the iview created in the steps above in the Content Administration (double-click on it)<br />
2 – Search for the property called <strong>“Solution Manager Components: The Administrator may add pairs of ('key' 'description') separated by Commas”</strong><br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/5.jpg?version=3&modificationDate=1323277543000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/5.jpg?version=3&modificationDate=1323277543000&api=v2" /><br />
3 -- Write whichever combination of ‘<strong>COMPONENT DESCRIPTION</strong>’ you want, separating the same by commas as per the screenshot.<br />
<ul>
<li>In order to set the iview you have just created to be the one displayed for the user when the user hits the <strong>“Report a problem”</strong> option:</li>
</ul>
1 – Edit the iview which you want the new Request Support iview to be shown in the Content Administration role and specify the PCD address of the new Request Support iview created in the setting <strong>“'Report a Problem’ iView Path”</strong> as you can see below: <br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/6.jpg?version=2&modificationDate=1323270534000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/6.jpg?version=2&modificationDate=1323270534000&api=v2" /><br />
After this was done, when the user clicks in the “Request Support” for the iview, your created iview will show up with the list of components as you have specified for it to be chosen.<br />
<h6 id="ConfiguringanInternalSupportDeskScenarioonEnterprisePortal-Conclusion:">
Conclusion:</h6>
If you create a new EPSolman iview as per the first set of steps mentioned and inform the following components in the property <strong>“Solution Manager Components: The Administrator may add pairs of ('key' 'description') separated by Commas”</strong> :<br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/7.jpg?version=2&modificationDate=1323263094000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/7.jpg?version=2&modificationDate=1323263094000&api=v2" /><br />
And then inform your created EPSolman iview in the <strong>“'Report a Problem’ iView Path”</strong> for the iview to which it should be linked, the Report a Problem iview will show the informed components as per it follows (showing the defined components):<br />
<br class="atl-forced-newline" /><img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/259785089/8.jpg?version=2&modificationDate=1323270542000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/259785089/8.jpg?version=2&modificationDate=1323270542000&api=v2" /> <br class="atl-forced-newline" /> <br />
<h6 id="ConfiguringanInternalSupportDeskScenarioonEnterprisePortal-RelatedContent">
Related Content</h6>
<ul>
<li>More information about this can be found at: <a class="external-link" href="http://help.sap.com/saphelp_nw70ehp1/helpdata/de/48/3a4094ae9671b9e10000000a421937/frameset.htm" rel="nofollow">http://help.sap.com/saphelp_nw70ehp1/helpdata/de/48/3a4094ae9671b9e10000000a421937/frameset.htm</a></li>
<li>Also more details about this iView can be found on <a class="external-link" href="https://service.sap.com/sap/support/notes/641707" rel="nofollow">SAP Note 641707</a></li>
</ul>
</div>
</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-10815405386912226962014-05-29T23:39:00.000-07:002014-05-29T23:39:00.512-07:00Object Based Navigation<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 id="ObjectBasedNavigation-OBNWiki-Purpose">
Purpose</h2>
Purpose of this wiki is to provide a central entry for information regarding Object Based Navigation (OBN), explaining different scenarios, configuration, settings and common issues when using OBN Navigation in SAP Netweaver Enterprise Portal.<br />
<h2 id="ObjectBasedNavigation-OBNWiki-Overview">
Overview</h2>
Object-based navigation (OBN) is a runtime portal capability of navigating and passing business data between applications in the scope of the user roles or only in the source role. Offers to portal users an additional method of navigation based on business objects and its operations to reach/launch target iviews/pages.<br />
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Structure">
OBN - Structure</h2>
A business object may have multiple operations attached to it the single business object operation may have multiple implementing iViews associated with it. The implementing iView displays business information relevant to the users for whom it is authorized. In the event of multiple associated operations, the iView implemented during runtime depends on two considerations:<br />
<ul>
<li>The role of the user: iViews are role-based, with permissions defined for them by the portal administrator.</li>
<li>The operation priority</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Terms:">
OBN - Terms:</h2>
<ul>
<li>Source Application: The iView/page from which the OBN action is launched.</li>
<li>Target Application: The iView/page that is launched as a result of the OBN action, or an iView/page that implements a certain operation.</li>
<li>System Alias: The Back-end or Logical system that you are using for that business object.</li>
<li>Object name ID: it is the ID used for the business Object in an OBN call (it is case sensitive).</li>
<li>Operation ID: it is the ID used in an OBN call for specific action (it is case sensitive).</li>
<li>Resolving mode/scope: It is the way OBN will look for the targets, it can be set as "sourceRole" or "default",</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Usage:">
OBN - Usage:</h2>
OBN is used in many SAP applications and business packages, but it can also be created by customers based in needed business logic.<br />
<img class="confluence-embedded-image confluence-content-image-border" data-image-src="/wiki/download/attachments/257820425/wiki_OBN.png?version=1&modificationDate=1321030613000&api=v2" src="http://wiki.scn.sap.com/wiki/download/attachments/257820425/wiki_OBN.png?version=1&modificationDate=1321030613000&api=v2" /><br />
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Errormessages:">
OBN - Error messages:</h2>
<ul>
<li>"There is no iView available for system <system_alias_name>, object <business_object_name>"</business_object_name></system_alias_name></li>
<li>"Page not found or not available"</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Investigation">
OBN - Investigation</h2>
When facing an OBN issue get all the OBN relevant information as per SAP documentation :<br />
<ul>
<li>"SAP note 1646042 - Information required for issue handling in OBN area"</li>
</ul>
<ul>
<li>Create an httpwatch file following SAP note 1558903 and check information below:</li>
<li>FQDN: Ensure customer is using it as per SAP notes<br /> (#654982 : URL requirements due to Internet standards.<br /> #1334956 : Various problems that solved by using FQDN in portal URL)</li>
<li>Check protocol (mixing http / https)</li>
<li>Check domain (mixing domains)</li>
<li>OBN info: In a "POST" method you will find the OBN information that was triggered by the application:<br /> ( "object_name" / "operation" / "system_alias" / "resolvingmode"</li>
<li>In case resolvingmode is sourceRole then check also "source" parameter<br /> If value is a NAVURL rash you need to decode it in system administration >> navigation >> shortURL >> decode the string ).</li>
<li>Check "NavMode" value as per SAP note #1354803.</li>
<li>Try to identify if the OBN call is being done by doObjNav (Two round trip) or if it is doNav (one round trip)<br /> eg.:NavigationTarget=OBN://BOTechnicalName=<business_object_name>/<br /> BOSystemAlias=<system_alias_name>/Operation=<operation_name>.</operation_name></system_alias_name></business_object_name></li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-TestsatRuntime:">
OBN - Tests at Runtime:</h2>
<ul>
<li>In a HTTP connection check the following</li>
<li>Ensure business object exists and that it was created for the relevant system:<br /> Once you know the "system_alias" value check if there is a system/system alias resolving it correctly on system landscape;<br /> You can search for it in the portal content using the "search" tab in this format: <<strong>system_alias</strong>><strong>.</strong><<strong>obj_name</strong>></li>
<li>Ensure the PCD path of the target (iview / page) that should be launched.</li>
<li>In the business object editor select the relevant OBN and operation and press the display iviews/pages</li>
<li>Make sure that the target iview/page is assigned to the specific role (In OBN editor column NAV must show as Yes).</li>
<li>The role that includes the target iview/page must be assigned to the relevant users.</li>
<li>In case of SourceRole mode, the target iview/page must be located in the same role as the source application.</li>
<li>Test’s Result from OBN_source iview in support page<br /> Portal >> System Administration >> Support >> Web dynpro OBN source >> OBN source >><br /> fulfill all data and test the navigation with the relevant user (who has the needed roles assigned)</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-NW7.3:">
OBN - NW 7.3 :</h2>
OBN changed a lot from designtime point of view on 7.3 version and it is very important to explain here the main differences when analysing / checking / changing OBN scenarios. However from runtime point of view it is still same concepts with minor changes which will also be explained here:<br />
<ul>
<li>DesignTime SAP changed a lot the OBN editors in order to provide a clear/detailed view of OBN settings in the UI making it more organized and logical;<br />In NW 7.3 OBN editor has 2 phases in adding a target since you need to add portal content objects to a second tree which can define the targets for OBN operations.<br />In the new editor there is a link called Show<strong> "all implemented targets" </strong>which is responsible to get all valid targets for all operations in a business object and it mounts them in a dynamic tree in a more organized view.<br />In the OBN editor you set target/operation priority based on the tree position using "-" or "+" buttons.</li>
<li>Runtime SAP changed the OBN concept once it is not obligatory anymore on 7.3 to have a SystemAlias context for each business object, however it is still possible to have it and OBN call / API does support calling OBN object passing as "blank" the "systemAlias" value;</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-Knownissues:">
OBN - Known issues:</h2>
Most OBN errors are caused by wrong configuration of the OBN scenario.<br />
SAP Note 1494536: Object Based Navigation - Specific Component Note.<br />
SAP Note 1651958 Portal Navigation using OBN doesn’t work in SourceRole mode/scope.<br />
Business object name/ID properties - Be careful! "ID" is the relevant property for the code and it is "case sensitive".<br />
<h2 id="ObjectBasedNavigation-OBNWiki-OBN-OnaFPNscenario:">
OBN - On a FPN scenario:</h2>
<ul>
<li>Check if OBN works fine at least in the producer portal...</li>
<li>Check if customer is using compatible versions as per FPN note (FPN interoperability)</li>
<li>Check if customer is using merged roles (in RRA it is a limitation for OBN in sourceRole mode SAP note #1547740)</li>
<li>Check if user does have the source and target roles assigned on Producer(RRA) or whether the source and target objects are copied as RDL to consumer in order to get OBN resolved successfully.</li>
<li>Check if customer has the sourceRole assigned on Producer AND on Consumer to resolve the navigation correctly as per SAP note #1902470</li>
</ul>
<h2 id="ObjectBasedNavigation-OBNWiki-Conclusion:">
Conclusion:</h2>
You are now able to analyze and understand OBN scenarios, and you can also use them as a guide to configure and Troubleshoot Portal OBN navigation functionality.</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-69999967975872498172014-05-29T23:36:00.002-07:002014-05-29T23:36:46.901-07:00Creating iviews for Webdynpro Applications in EP 7.3<div dir="ltr" style="text-align: left;" trbidi="on">
Below is the process followed.<br />
<div class="wiki-content" id="main-content">
1) Goto Content Administration<br /> 2) Select the folder in which you want to create the ivew and then Right click on the folder<br /> 3) This action will open popup menu then select "NEW"<br /> 4) And then select "iview"<br /> 5) And then select "iview from Remote source"<br /> 6) And then and page is displayed in which you have to<br /> Select System alias from Drop done and enter Webdynpro Application ID ,<br /> 7) Select Webdynpro ABAP as Application Type And<br /> 8) Click On Start Upload <br />
iview Will be created.</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-24990793164391939692014-05-29T07:42:00.000-07:002014-05-29T07:42:12.763-07:00Error creating JCO connection: java.lang.NullPointerException<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 16px;">
When creating or viewing a Jco connection in the Web Dynpro Content Administrator it fails with a similar error to the following:<br />
<div class="longtext">
Error as seen in the defaultTrace:<br />
<ul>
<li>Exception occured during processing of Web Dynpro application sap.com/tc~wd~tools/Explorer. The causing exception is nested.<br />[EXCEPTION]<br /> java.lang.NullPointerException<br />at com.sap.tc.webdynpro.serverimpl.wdc.sl.SystemLandscapeFactory.checkStatus(SystemLandscapeFactory.java:991)<br />at com.sap.tc.webdynpro.services.sal.sl.api.WDSystemLandscape.checkStatus(WDSystemLandscape.java:485)<br />at com.sap.tc.webdynpro.tools.sld.NameDefinition.updateJCODestinations(NameDefinition.java:286)<br />at com.sap.tc.webdynpro.tools.sld.NameDefinition.updateNavigation(NameDefinition.java:251)<br />at com.sap.tc.webdynpro.tools.sld.NameDefinition.wdDoInit(NameDefinition.java:158)<br />at com.sap.tc.webdynpro.tools.sld.wdp.InternalNameDefinition.wdDoInit(InternalNameDefinition.java:236)<br />.............</li>
</ul>
</div>
<br style="font-size: medium;" />
<div class="urTxtH1" ct="TextView" style="font-size: medium; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Environment</span></div>
<div class="longtext">
<li>SAP J2EE Engine 640</li>
<li>SAP J2EE Engine 700</li>
</div>
<br style="font-size: medium;" />
<div class="urTxtH1" ct="TextView" style="font-size: medium; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Reproducing the Issue</span></div>
<div class="longtext">
Create or modify a JCo connection using the Web Dynpro Content Administrator.</div>
<br style="font-size: medium;" />
<div class="urTxtH1" ct="TextView" style="font-size: medium; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Cause</span></div>
<div class="longtext">
The cause of the issue is that the JCO connections have been created directly using the SLD WebUI. When they are created this way certain other internal actions won't be executed which is the task of the Web Dynpro Content Administrator.</div>
<br style="font-size: medium;" />
<div class="urTxtH1" ct="TextView" style="font-size: medium; font-weight: bold; white-space: nowrap;">
<span style="color: #04357b;">Resolution</span></div>
<div class="longtext">
To solve the issue you have to delete the jco connections in the SLD then only use the Web Dynpro Content Administrator to create and maintain connections.<br />
<ol start="1">
<li>Invoke the SLD WebUI: http://<host>:<port>/sld<br /> > Administration<br /> > Content Maintenance <br /> > choose here 'JCO Message Server Destination (X)'</port></host></li>
<li>Here delete the entries.</li>
<li>Then you should be able to successfully create JCo connections in the Web Dynpro Content Administrator.</li>
</ol>
</div>
</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0tag:blogger.com,1999:blog-9103951421989355359.post-29325163275755778902014-05-21T05:03:00.005-07:002014-05-21T05:03:48.459-07:00Unable to search for pages or iViews from Knowledge Management<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Symptom</span></div>
<div class="longtext" style="font-size: 100.01%;">
<ul>
<li>You have created a search index in Knowledge Management (KM) to search for
portal pages or iViews however you are unable to find a specific page or iView <br />
</li>
</ul>
</div>
<span style="color: #04357b;">Environment</span><br />
<div class="longtext" style="font-size: 100.01%;">
<ul>
<li>SAP Release Independent
<li>KMC Content Management </li>
</li>
</ul>
</div>
<br />
<br />
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Reproducing the Issue</span></div>
<br />
<div class="longtext" style="font-size: 100.01%;">
<ol>
<li>Configure the search for portal pages and iViews as per the <a href="http://help.sap.com/saphelp_nw70/helpdata/en/b2/d59a4271c80a31e10000000a1550b0/frameset.htm" target="_blank">Configuring the Search for Portal Pages and
iViews</a> documentation
<li>Try to search for a specific iView or portal page from the KM Search iView
<li>The iView or page is not found </li>
</li>
</li>
</ol>
</div>
<br />
<br />
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Cause</span></div>
<br />
<div class="longtext" style="font-size: 100.01%;">
When you use the KM search for portal pages and iViews, you can only search
for content for which you have the correct roles assigned. If you do not have
the appropriate role, you will not be able to search for its
content.</div>
<br />
<br />
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">Resolution</span></div>
<br />
<div class="longtext" style="font-size: 100.01%;">
<ol>
<li>Navigate to User Administration -> Identity Management
<li>Search for the relevant user id </li>
</li>
</ol>
<img alt="SearchForUser.PNG" height="645" src="https://websmp130.sap-ag.de/sap/support/sapnotes/public/services/embedded_image.htm?iv_key=002007204500000230832012&iv_guid=005056A827641EE1A6EE861A4FEF813F&alt=2BCE4CB10DF674B172F4F3F7B34A4A2E4E34308977720E8E37B6B48AAA342BCC4A71493232B3F0F3F50BF249CDCB7374ACF00DF309A80C0ACF320F33CFB2B0CC4F0EACD2750C09514BCECFCFCE4C8DCF4BCC4DB5F575F4F4F3F57771F571F6F70B01B25D83D4120B0A722092A599504EB16D715E3E00" title="Search For User in Identity Management" width="959" /><br />
3. Select the modify option<br /> 4. Assign your user the
appropriate user role which contains the page or iView<br />
<img alt="Add the required role" height="362" src="https://websmp130.sap-ag.de/sap/support/sapnotes/public/services/embedded_image.htm?iv_key=002007204500000230832012&iv_guid=005056A827641EE1A6EE86DDA7BA013F&alt=2BCE4CB10DF674B172F4F3F7B34A4A2E4E34308977720E8E37B6B48AAA342BCC4A71493232B3F0F3F50BF249CDCB7374ACF00DF309A80C0ACF320F33CFB2B0CC4F0EACD2750C09514BCECFCFCE4C8DCF4BCC4DB5F575F4F4F3F57771F571F6F70B01B25D83D4120B0A722092A599504EB16D715E3E00" title="Add Role" width="1258" /><br />
5. Save your changes<br /> 6. Perform your search
again<br />
</div>
<div class="urTxtH1" ct="TextView" style="white-space: nowrap;">
<span style="color: #04357b;">See Also</span></div>
<div class="longtext" style="font-size: 100.01%;">
<ul>
<li>SAP Help Documentation - <a href="http://help.sap.com/saphelp_nw73/helpdata/en/b2/d59a4271c80a31e10000000a1550b0/frameset.htm" target="_blank">Configuring the Search for Portal Pages and iViews</a>
</li>
</ul>
</div>
</div>
Mohammed Bohrahttp://www.blogger.com/profile/11448454668772945525noreply@blogger.com0