1 2 3 25 Previous Next

SAP Enterprise Portal

374 Posts

This Blog Describe how to extract the total number of End users & Service users logon counts from each Portal server node using Authentication logs .This information correctly depicts the total number of logon, user has performed unlike the unique login of the user provided in portal activity reports. Analyst /Consultants can merge this information logs with the Backend ECC/HR/SRM/CRM user logs maintained in USR02 tables for further reporting purposes for determining business transactions in more detailed manner.


following are the steps :

 

1) Go to NWA log viewer of SAP Portal

 

Capture1.PNG

 

2) Choose authentication log from view

 

Capture2.PNG

 

3) Click everywhere and from advance filter choose date filter and set it for biggining of day time till present time click on apply filter

 

Capture3.PNG

 

4) Now download the excel file of logs from log file download content

 

Capture4.PNG

 

5) Choose all column and download

 

Capture5.PNG

Capture6.PNG

 

6) Save it on the location you like on your machine. Now open excel file and apply filter, Select all login ok and application irj logs and now choose and count the required users

 

Capture7.PNG

 

Below example show total number of 120 logons from the selected date on all the nodes of SAP portal for all user types, user type can be selected from user dropdown (Service or end user)

 

Capture9.PNG

 

Portal Consultants can merge this information with ECC/ABAP system user logs and device statistics and reports ,they can formulate a Excel template based on their requirement  if they want and feed the data from ABAP system and Portal Authentication logs and generate Graphs out of it.

 

Main Advantage which I see in this approach is no coding required (Java or ABAP) and all the user logins(End users & Service users) based on the application(irj) can be identified from all server nodes, the approach works well in the Portal scenario where login screen is used by the users for Login to Portal.

 

Thanks for reading!

This blog is for portal content administrators who would like to learn about the administration tasks required for enabling SAP Fiori launchpad on Portal (FLP on EP). It contains pre-configured sample content that you can import into your portal. In only a few steps you can easily run the SAP Fiori launchpad experience within the SAP NetWeaver Portal environment.


SAP Fiori launchpad on Portal is available for portal customers as of NW 7.31 SP12 and NW 7.4 SP7. It is highly recommended to update to EP latest patches before running FLP on EP in order to get the most updated version.

 

With FLP on EP, portal users can control which applications appear in their launchpad on mobile devices and on the desktop. Portal iViews appear as tiles in the launchpad and access to content is based on portal roles, per device. Administrators can configure content to appear by default in the home page for all users and tag content as New and Recommended.

SAP Fiori launchpad on Portal provides the following capabilities:

  • The ability for administrators to configure content for different devices.
  • A dedicated framework page for displaying the SAP Fiori launchpad.
  • Access to the tile catalog containing the content that users can add to their home page.
  • The ability to save personalization per device.


Let`s get started:


1) In versions NW 7.31 SP12, NW 7.31 SP13, NW 7.4 SP7 and NW 7.4 SP8 only, create a URL alias and add it together with the Fiori desktop to the Master Rule Collection:
    
a) Create a new URL alias using the URL Alias Manager:

URL alias manager.png

     b) Add the alias together with the Fiori Desktop to the Master Rule Collection:
Master Rule Collection.png



2) Define the relevant device types using the Device Group Manager:

Device Group Manager.png


3) Import the OOB_Admin.epa file located in Out of the Box FLP-EP Admin Content, using the Transport Packages import tool.

This transport package contains the following:

      a) Fiori Launchpad Categories iView - Manages categories in the tile catalog. Administrators can create categories to group applications in the tile catalog. The iView is configured with sample categories:

Fiori Launchpad Categories iView.png


     b) A role for assignment to users, containing iViews that are configured to demonstrate the different properties available for FLP on EP, and web resources for the tiles:
         In order for the content to be visible in the home page and tile catalog, set a container in the hierarchy as entry point (role, workset or folder). Make sure that the iView is set to visible.

Role for assignment.png



4) Work with the iViews and different properties to manage the content for FLP on EP. The following properties are available on each iView, allowing you to configure tiles according to your requirements.
Note: The iViews in the sample content has already been configured to highlight the various capabilities of FLP on EP.

  1. Mandatory: Set the device groups on which the application will be displayed using the property "Object ID of Device Group". Separate the device groups with a semicolon (;). If this property is not set with any device group, the tile will not appear at all.

  2. Set the categories in which the application will appear in the tile catalog using the property "Mobile App Categories". Separate the categories IDs with a semicolon (;). If this property is not set with any category ID, the tile will appear under the General default category.

  3. Mark an application as default using the property "Permanent in Launcher" to make it appear in the user's home page the first time that the user logs in. Users can remove default applications from their home page. If this property is set to "False", the application will only appear in the tile catalog.

  4. Set an image on the tile using the property "Image Type".

  5. Promote applications in the tile catalog:
    • Set property "Mark as New Until".
    • Set property "Mark as Recommended Until".

  6. Indicate a native application using the property "Native App". If this property is set to "True", the application will only appear in mobile devices (even if the device type is set to desktop).


Here are some examples of configured properties on the iViews from the Out of the Box FLP-EP Admin Content:

iViews Properties.png

iViews Properties2.png


Without making any changes to the sample content, this is how the user`s home page will look:

Launcher.png

This is how the user`s tile catalog will look:

Catalog2.png


Now you can play around with the Fiori launchpad on Portal. Enjoy the new experience and let us know what you think!


To learn more about FLP on EP:

Hi,

 

In this blog post you can find code sample of how to read properties from Portal iViews and how to set iView properties from the portal component the iView is based on.

General list of iView properties in help.sap.com

 

In this example I have a Portal component called ProfileUsage and I have created an iView called myIView from it.

see more on Creating iViews

 

1. Reading property:

In the portal component ProfileUsage I would like to display, as output to the user, who last modified this iView.

Opening the iView in the property editor you can see the following:

1111.png

 

For getting this in runtime the following code reads the property Id named: "com.sap.portal.pcd.unit.LastChangedBy" that holds this information and prints it to the user:

 

ProfileUsage.java Code:

public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
{
      response.write("This iView was last modified at:<br>");
     // retrieve a property from the component profile
     IPortalComponentContext componentContext = request.getComponentContext();
     IPortalComponentProfile profile = componentContext.getProfile();
     String lastChangedString= profile.getProperty("com.sap.portal.pcd.unit.LastChangedBy");
     response.write(lastChangedString);
}

Creating iView from this Code and running the iView, the output will be:

1111.png

There you have it, user administrator changed it last...

 

 

2. Having a custom property and setting property:


Custom properties can be added to portal components and iView through the component's PortalApp.xml file.

Here is a code sample adding a simple property to my application with the value "My property Value".

 

PortalApp.xml:

    <component name="ProfileUsage">
      <component-config>
        <property name="ClassName" value="com.sap.portal.examples.ProfileUsage"/>
      </component-config>
      <component-profile>
        <property name="com.sap.portal.mySampleProperty" value="My property Value"/>
      </component-profile>
    </component>

See more on custom component properties.

 

Reading current value in this property and setting in through code:

 

ProfileUsage.java:

public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)
{
     response.write("My sample property is:  ");
     // retrieve a property from the component profile
     IPortalComponentContext componentContext = request.getComponentContext();
     IPortalComponentProfile profile = componentContext.getProfile();
     String myProfileProperty = profile.getProperty("com.sap.portal.mySampleProperty");
     response.write(myProfileProperty);
     //updating the profile property
     profile.setProperty("com.sap.portal.mySampleProperty", "I've just changed this property!");
     profile.store();
}

Results:

  • First launching this will print the old property:

1111.png

  • launching it again ,the code will print the updated value:

2222.png

 

Enjoy!

Tal

About two years ago we have announced the availability of running the SAP Enterprise Portal on mobile devices (also known as: Portal On Device, Mobile Portal or SAP Enterprise Portal mobile edition). Since then, we have significantly enhanced and extended the solution. With the release of the Fiori launchpad on the SAP Portal, we have reached a key milestone for consuming the SAP Portal on mobile devices with:


  • Rich end user experience for desktop and mobile consumption
  • Responsive design running on both desktop and mobile devices
  • Aligned user experience across devices
  • Following the SAP Fiori design
  • Extended PAM support
  • Theme customization with the UI Theme Designer
  • Developed on top of SAPUI5 libraries
  • Integration with SAP Fiori applications (planned)



Important related links

Hi,

 

We all(If not, you better read about it) know the concept of Merge ID in Enterprise Portal.

From help.sap.com:

You can merge a node from one freestyle role with a same-level node from another role. Both nodes then appear as one entry in the top-level or detailed navigation, with their respective subnodes appearing in a given sequence beneath the new merged node.

You can merge the following objects:

  • Entry points
  • Root nodes of roles and worksets
  • Folders in roles or worksets.

 

See more details here.

 

Sometimes you find yourself struggling with Merged roles and folders, and not sure what you actually see on screen, or where it is located.

There is a (unofficial) support tool in EP that can help you with that , Merge ID Finder.


How to access the Merge ID Finder:

<server:port>/irj/servlet/prt/portal/prtroot/com.sapportals.navigation.testComponent.FindMerge

 

1.png

The tool provides a way to:

  • Get nodes according to a specific Merge ID (from assigned user roles)
  • Get all nodes that have a non empty Merge ID (from assigned user roles)
  • Get all nodes with a specific merge ID that are under chosen roles.
  • Get all nodes with non empty merge ID that are under chosen roles.

 

Usage:

Usage is quite simple , just paste the requested value in the input field and click the desired action you wish to use.

 

Example 1:

For getting all nodes with Merge ID ="com.sap.portal.home" under role eu_role fill the following values:

2.png

Clicking on getMergedNodesFromSelected button will bring the following result of nodes found under eu_role:

3.png

In this example you see there are 3 worksets with this same merge id and we have their exact location.

 

Example 2:

Viewing all nodes that have non-empty merge Id under the eu_role:

1. Fill in the role you want to inspect and click on getAllNodesFromSelected button:

5.png

2. Get all nodes and their respective merge ids:

6.png

 

 

Enjoy!

Tal

 


In this case the customer complained that some of the pages running in his portal fail to execute when using Chrome.

He got this annoying message:

 

1.JPG

The portal shell (TLN, DTN, etc.) – was rendered well.

 

What could the issue be?

The first thing I checked was the value of the Supported User Agents property on one of the pages that triggered this message.

The value should be (MSIE, >=5.5, *) (Netscape, *, *) (Mozilla,*,*) (Safari, >=3.1, *) (MSIE, >=5.5, *) (Netscape, *, *) (Mozilla,*,*) (Safari, >=3.1, *) (Chrome,*,*)

If the (Chrome,*,*) part is missing from this list – the page won’t be rendered in Chrome.

 

Well, the value for that page was OK.

Now this was getting interesting! What could be the issue then?

The next thing I did was to change the framework page. This specific customer has a custom framework page, and I thought that maybe there was something he had added to the pages in this framework page that missed the (Chrome,*,*) value and caused the page failure. If any object within the page is missing this value the entire page will fail!

The issue was reproduced also in the Classic Framework Page. So it wasn’t an issue with the framework page.

 

Hmmm…

At this stage I raised the log level of the userAgent location to “All”. The location of userAgent is com.sap.portal.portal. I did it through the logWatch. You can learn how to use logWatch here.

In the recorded log I found the culprit! – There was a log at debug level for every UI element which specifies the supported userAgents.

One of the elements was the layout, and the layout didn’t have the (Chrome,*,*) value!

 

2.JPG

So it was the layout. It didn’t have the (Chrome,*,*) value and it caused the failure of the entire page.

You won’t see the layout object in the Portal Catalog, but you can see it if you explore the page in the PCD Inspector.

So I opened the object through the PCD inspector and there I saw that the property of the layout object was indeed missing the (Chome,*,*) value.

 

3.JPG

4.JPG

In this specific case it wasn’t only a single iView that wasn’t supported by Chrome, but many of the portal iViews. That meant that the root cause was the layout template object.

You can view the layout inheritance hierarchy by selecting it and clicking the “DL” button in the PCD Inspector:

 

5.JPG

6.JPG

The layout object inherits the property value from the template, so it should be fixed in the template and it will affect all the objects that inherit from it, unless one of the objects overrides the default value of the template.

 

7.JPG

After the “SupportedUserAgent” was reset for the layout template – the issue was fixed and the pages rendered well in Chrome.

That’s it!

 

This blog is the first support case that I document.

The entry point to my support blogs will be from here

See you in my next blog…

Maya Amit

My EP Support Blog

Posted by Maya Amit Jul 1, 2014

Who am I?

My name is Maya and I am from the Portal support group.

The main task of our group is to solve bugs in the product – so we’re only supposed to receive messages about actual bugs.

This is not always what happens in reality. Many of the cases that initially seem to be bugs end up being an issue with configuration or incorrect usage.

 

One of the important activities that we have in our group is to reduce these kinds of messages and save time both for you – the customers – and for us (fewer messages = less work J).

 

So the purpose of this blog is

  1. Share these issues with you – interesting cases that I encounter in the course of my support work that can be solved either by using a workaround or with correct configuration as well
  2. New bugs which either I or my team colleagues fix.

 

And how can you help me with this?

  1. By distributing this blog to other portal customers.
  2. By suggesting cases that you think could be interesting for everyone – either cases that you solved on your own or issues that were solved through messages – you can add your suggestions in the comments section of this blog.

 

The first case that I want to share with you is an issue with portal support for Chrome.

So let’s begin…


some pages in the Portal are not supported in Chrome

SAP_pref_d_code_Anvil_R.jpg

 

I would like to invite you to a series of SAP Portal ASUG webinars that will take us all the way to D-CODE Vegas. These webinars will cover the major and most interesting topics of the SAP Portal Portfolio. By attending these webinars, you will get up-to-date with the latest offering of the SAP Portal, and when attending SAP D-CODE you will be able to discuss the products details with the experts onsite .

 

TitleAbstract & SpeakersDate & Time
SAP Portal Portfolio Overview and Planned Innovation

Join this session to get an overview on the SAP Portal Portfolio and the planned innovations for cloud and mobile consumption evolving the SAP Enterprise Portal towards a true a user experience platform.

 

Speakers: Yariv Zur Aviad Rivlin Thomas Hensel

 

Register today!

July 9th

11:00 US Eastern Time Zone

SAP HANA Cloud Portal Overview, use cases and recommendations

Join this session to learn how you can easily create appealing business sites using SAP HANA Cloud Portal. The session highlights the solution approach, benefits and capabilities as well as recommended implementation scenarios. You will learn how to quickly build sites, integrate content, define brand elements and consume published sites on multiple devices.

 

Speakers: Yariv Zur Ifat Shwartz Aviad Rivlin

 

Register today!

August 13th

10:00 US Eastern Time Zone

Boosting your User Experience with SAP Fiori Launchpad

Join this session to learn about SAP Fiori launchpad – the new role bases, personalized, responsive and contextual application entry point running on multiple devices and deployed on multiple platforms.

 

Speaker: Aviad Rivlin


Register today!

September 17th

11:00 US Eastern Time Zone

Get ready for SAP D-CODE – all you need to know about the SAP Portal  before packing your staff to D-CODE

Join this session just before you pack your stuff and travel to SAP D-CODE. Get a glimpse into what is planned for SAP D-CODE from a Portal and Ux standpoint. Which sessions are planned, which hands-on seminars are scheduled and what shouldn’t you miss onsite.

 

Speakers: Thomas Hensel Aviad Rivlin

 

Register today!

October 8th

10:00 US Eastern Time Zone

These webinars are provided by the ASUG Portals Special Interest Group together with the SAP Portal Product Management team.


Sneak preview for the SAP Portal Portfolio:


SAP Portal PortfolioSAP HANA Cloud PortalSAP FIori Launchpad


As the number of browsers and their version is increasing, the need for a standard way of writing client side code (HTML, CSS, JavaScript etc…) so one syntax will be interpreted the same way on all browsers, is increasing as well.


This is known as “standards mode” rendering in browsers.

Today, browsers support also web sites which were written before the standards were created and published by W3C so those web sites will still be accessible.

This backward compatibility support is known as “Quirks mode”.

We at SAP are also in constant evolving and supporting the new way of rendering sites so every now and then we come across client side bugs that start to surface due to the more and more relevancy and adoption of the standards mode.

quirks2.jpg

(In the picture: quirks and standard...)


More about Quirks mode and standard mode can be found here:

http://en.wikipedia.org/wiki/Quirks_mode


One of these bugs causes iViews for wrong height calculation in IE versions prior to IE9, as the window.innerHeight property is not supported in those versions with standards mode.

The solution was to use "window.screen.availHeight" instead.


SAP note 2028106 fixes height issues in NetWeaver Portal page builder.


A good solution for rendering issues and browsers support is to use jQuery which has specific API which is the same on all browsers so that the developer does not need to implement many “if” statements in order to support all browsers by duplication of code with visual properties changed.


jQuery is also becoming more and more in use in SAP, but of course we still support our products which were not developed with jQuery.

I am excited to write this blog as we reached a key milestone for the SAP Enterprise Portal and the overall SAP Ux strategy.


I assume that you have all heard (and if not, I highly encourage you to read the following announcement) that SAP Fiori and SAP Screen Personas are now included in the underlying licenses of the SAP software. This is a major change that I (personally) expect to have a very positive impact, and will play a key role in renovating and improving the SAP User Experience.

 

IMG_2021.JPG

 

In the last few months we have been working hard to align the SAP Portal Ux with the Fiori Ux. With SAP Enterprise Portal 7.4 SP7 it is the first time that we are delivering a new portal framework page following the SAP Fiori design. This is a new role based, personalized, responsive (based on SAPUI5; running on multiple devices), and very intuitive portal framework page, running on the SAP Portal infrastructure and following the Fiori Design. This is actually running the Fiori launchpad on the SAP Portal infrastructure.  Together with the Fiori applications and the SAP Screen Personas Flavors, this will provide a new and highly improved user experience for the portal, while re-using the existing investment and key capabilities of the portal.

 

An important remark is that running the Fiori launchpad on the Portal, enables you to consume any type of content (Web Dynpro, SAP UI5, SAP Screen Personas, SAP Fiori, etc.). You are not limited to SAP Fiori applications only.

 

 

** there is an existing limitation to consume Fiori wave 2 and above applications in a standalone mode in the portal. This limitation is planned to be solved by Q3/2014.


Two additional new enhancements that will help you delivering a better user experience for your end users are:

  • UI Theme Designer integration with the portal – UI Theme Designer is a browser-based, WYSIWYG editor used to customize the user experience. Now, the UI Theme Designer is also used to customer the look & feel of the SAP Enterprise Portal in a simpler and easier way across UI technologies including SAPUI5
  • Broadcast Messages – a simple and intuitive tool to broadcast/send messages to groups of users in the portal, according to their role, assigned groups , etc.

 

Additional details:

 

Those of you who had the privilege to attend the ASUG Annual Conference, had the chance to see all of the above live in the conference. At SAP D-CODE, we plan to show this and much more. So, stay tuned…

 

Aviad

As a part of SAP NetWeaver Portal 2014 Movie Challenge: Instructions I got a chance to review SAP Fiori Launchpad on SAP Enterprise Portal.

 

 

The movie has excellent background soundtrack(similar to Star-wars giving out-of-the-world feeling) which play throughout the movie. It would be better if some one explains the environment, scenario and steps for proceeding in Launchpad in human voice. Although it is self explanatory but voice gives a more sincere feeling toward the topic.

 

Movie starts with SAP Fiori Launchpad logon on SAP Enterprise Portal leading it to 'My Home' (homepage) where existing selected applications persists.

 

The movie takes us through the Tile Catalog options:

fiori_03.jpg

1. Browsing through the available Fiori Applications

2. Adding Tiles to Home Page from available applications list (clicking '+' sign below an application)

3. Reordering of tiles on Home Page (is just a matter of drag and drop)

4. Executing Fiori Applications from Home Page(Leave Request and Travel Expense)

fiori_04.jpg

5. Removing Tiles from Home page (is just a matter of drag and drop)

 

 

It is always helpful to know the amount of flexibility we can provide to clients specially for web applications, where presentations (look and feel) matters the most. It could be better if more UX (user experience) sub-topics/steps in Fiori Lauchpad is added to the movie making it more content rich. Additional information with speech bubbles could have been provided.

 

It is always easy to be critic rather than producing a movie by ourselves. Not taking any credit out, for overall experience and simplicity in presentation, I will give the movie a 5-star rating.

fiori_02.jpg

 

For those who want to have a deep dive into SAP Fiori User Experience, you can view What is SAP Fiori UX?

 

For more information on Movie Challenge, please see Announcement of SAP Portal and HANA Cloud Portal Gamification Movie Challenge

 

*Image source: SAP

Welcome to the third edition of the SAP Portal News Blog in 2014. This is what we have prepared for you:

  • Impressions from SAPPHIRE NOW and ASUG 2014
  • HANA Cloud Portal News Ticker
  • SAP Fiori LaunchPad News
  • Subscribe to the new SAP Portal newsletter
  • SAP HANA Cloud Portal movie challenge contribution
  • Blogs from the Community

 

SAPPHIRE NOW and ASUG Impressions

 

This year’s SAPPHIRE NOW in Orlando was the best ever yet: more than 20,000 participants were registered and a few 125,000 more joined online. User experience and its modernization was a big topic at SAPPHIRE NOW. From Bill McDermott’s keynote to the Fiori Café to the customer sessions talking about UX, there was definite interest and desire to reinvent the SAP user experience. Read also this blog on UX Buzz at SAPPHIRE NOW.

The Portal team delivered 15 sessions at ASUG conference and the SAP Fiori Launchpad was one focus topic of the sessions. SAP Portal is also aligning with this new user experience and in the following weeks we are planning to release a key enhancement for the SAP Portal - running the SAP Fiori launchpad on SAP Enterprise Portal, thus leveraging customers’ investment in the portal while modernizing the look & feel of the portal with an aligned UI and UX across clients and applications. Read also Aviad's blog on his SAPPHIRE NOW and ASUG experiences with SAP Portal, mobile consumption and Fiori launchpad.

 

One of the key announcements: SAP Fiori Now Included With SAP Software:

fioriforfree.png

Our partner John Appleby in one of our sessions talking how Bluefin Solutions extended SAP Fiori launchpad with employee specific contextual content:
appleby.png

 

SAP HANA Cloud Portal News Ticker

 

OpenSAP course on HANA Cloud Platform

The advanced OpenSAP course for SAP HANA Cloud Platform was about to kickoff on June 12. This course will expose you to new functions available for the platform developers as well as how to leverage your custom applications for use in the Cloud Portal. You can still register for the course, for more information check out this blog by Ifat Shwartz.

 

Video Integration into HANA Cloud Portal

An advanced integration of video capabilities is available within SAP HANA Cloud Portal using Kaltura technologies. Kaltura is the world’s first Open Source Online Video Platform, providing both enterprise level commercial software and services, as well as free open-source community supported solutions for video publishing, management, syndication and monetization.

 

Customizing Your Sites and Editing Page Templates

SAP HANA Cloud Portal is delivered with a set of out-of-the-box page templates. With the new page template editing capabilities it is now possible to customize a page template and save the modified template to be used in the site.

 

HANA Cloud Portal Partner Test

We plan to host a HANA Cloud Portal partner test on the last week of September 2014 in Palo Alto. Detailed agenda and event arrangements will be finalized soon. For more information check out this blog by Ifat Shwartz.

 

For SAPPHIRE NOW we have also published the following new movie on how to add business apps to HANA Cloud Portal

 

 

SAP Fiori Launchpad News

 

Overview Information

SAP Fiori Launchpad is a real-time, contextual, role based and personalized aggregation point for business applications planned to be deployed on multiple platforms – ABAP (available today), SAP Portal, Cloud Portal and HANA. For more information read the blog Introduction to Fiori Launchpad by Aviad Rivlin and SAP Fiori Launchpad Overview by Elisabeth Thorburn.

 

SAP Fiori Launchpad on the SAP User Experience Community

Have a look at the SAP User Experience community where you can find information on SAP's UX strategy and an introduction to SAP Fiori launchpad.

 

New Product Movies

For SAPPHIRE NOW we also released several new SAP Fiori movies, this one showing how Fiori launchpad is running as a new framework page in SAP Enterprise Portal:

 

 

There are 4 additional movies on SAP Fiori launchpad, check out our playlist on YouTube.

 

 

Business Information Technology (BIT) Info-Days Tours

 

Several big cities in India were on the tour of ten SAP product managers who delivered workshops and seminars onsite at the offices of their ecosystem partners like Cognizant, Deloitte, HCL, Mindtree, L&T InfoTech, NTT Data, Infosys, TCS, IBM, Tech Mahindra, Wipro, and Accenture. From the Portal site the product managers Aviad Rivlin and Thomas Hensel participated in the tour.

The info-days team showed partners how they can make best use of Lumira, Fiori, HANA, BI, Mobile Secure, SMP, and Gateway to help their own customers. The product managers were available to dive deep into the technology with partners and to discuss how to take full advantage of the tools to address critical customer scenarios. More in the blog We don't Innovate alone by Kieran O'Connor.

 

SAP Portal Movie Challenge Contribution

 

Have a look at this great contribution for the SAP HANA Cloud Portal Movie challenge: Robert Russell created a showcase movie on how HANA Cloud Portal could be used to show different SCN usage data and a community map on a site:

 

 

Read Robert's complete blog It is an SCN world. Thanks to Roberts for his great contribution.


Subscribe to the Second Edition of SAP Portal Newsletter

 

Subscribe here to receive the next edition of the quarterly SAP Portal e-mail newsletter which is planned for July 2014. Each issue contains valuable information about SAP Portal's new portfolio, including SAP HANA Cloud Portal, Cloud for Service, SuccessFactors Extension Platform, Mobile Portal, Fiori Launchpad and more...


Blogs from the Community

 

Utilizing Shindig Cache to Improve Cloud Portal Performance by Roye Cohen

http://scn.sap.com/community/hana-cloud-portal/blog/2014/04/09/utilizing-shindig-cache-to-improve-cloud-portal-performance

 

Change the Authentication Error Message Text on Logon Page for SAP NetWeaver Portal 7.3 by Madhvika Joshi

http://scn.sap.com/community/enterprise-portal/blog/2014/04/18/change-the-authentication-error-messages-text-on-logon-page-for-sap-netweaver-portal-73

With Enhancement Package 5 SAP makes use of the Object Based Navigation (OBN) when calling ESS/MSS standard services. The Object Based Navigation is supposed to offer more flexibility in changing the underlying application and to loosen the coupling between the called application and its configuration. Briefly worded, instead of calling a specific URL you call a procedure of a Business Object.

Practical examples are for instance the Manager Self-Service (MSS) or more precisely the Personal Object Worklist (POWL), the Employee Profile and the Employee Compensation Profile.

 

So far, so good. This works smoothly in most cases when standard applications are concerned. In case you want to use your own application configuration for a WebDynpro ABAP application, different errors may occur. There are multiple reasons why error messages appear when calling the services. Locating some of the causes can consume quite some time. Therefore I thought of sharing some of my experiences.

 

A common error I have faced is this one:

 

“There is no iView available for system “SAP_ERP_Human_Resources”: object “employee”. For more information, contact your administrator.”

 

In the following I’d like to list some possible causes and how to fix them fast:

 

  • Support Package not up to date > Read SAP note 1386141
  • Missing setting “User Set of Roles” in Launchpad > Transaction LPD_CUST go to extras > general settings and check “User Set of Roles”
  • IView is not located in the Portal Role of the calling OBN > Content Administration and maintain the Portal Role
  • IView is not registered to the Business Object
  • Application parameters are not maintained in the Launchpad > Transaction LPD_CUST

 

Following this link you can find a more in-depth explanation and screenshots in the form of a How-To. However, for the moment it is currently in German. The Screenshots might still be a help in order to find the locations more easily. I hope this can be of use for clearing some annoying obstacles and saves some time!

You have configured Federated portal network between two portals and When a remote role(through RRA- remote role assignment) is accessed on consumer portal, then DTN does not show any entry for the role,hence no content in content area. The same role shows DTN entries on producer portal.

 

Troubleshooting steps:

  1. Gather diagtool traces for the issue simultaneously on consumer and producer portal with increased severity for the locations:
    com.sap.portal.fpn = All
    com.sap.portal.ivs.globalPortal = All,
    com.sap.portal.SOAPLogger = All,
    com.sap.engine.services.rmi_p4 = All
  2. Analyze the traces for Red Errors and you will see the below information:

    Starting trying to retrieve remote data provider for alias '<producer_object>'
    Found cache handler com.sap.portal.ivs.global.jndibridge.objectmanager.cache.handlers.NavigationCacheHandler for rule NAVIGATION
    GPCacheGet : start get request : key <producer_object>:<pcd_path>
    System.currentTimeMillis 1402559516498
    GPCacheGet : start getting from CML cache : realkey 4kfdkekkd4433kk2n2n2 : Thread 133 : System.currentTimeMillis 1402559516499
    GPCacheGet : end getting from CML cache : realkey 4kfdkekkd4433kk2n2n2 : ObjectId (0=null) 1224705374 : Thread 133 : System.currentTimeMillis 1402559516499
    Found no result for attrName com.sapportals.portal.navigation.FolderEntry
    No results found for attribute value/s.

  3. It seemed to be a cache issue
  4. Clear FPN cache: http://help.sap.com/saphelp_nw73/helpdata/en/49/520064ab682222e10000000a42189d/content.htm
  5. The issue was solved

Java EE standard includes a REST specification and Jersey is an implementation of it. You can use Jersey with NetWeaver Java 7.3 without a problem. But you can do so only in Java EE applications. If you want to expose a SAP Portal application as a REST interface? What are your options in doing so?

 

Remember that a SAP Portal application is executed from within the SAP Portal framework. In the context of a portal, you are developing portlets that are executed by a portal. The portal itself is a Java EE application. Now it gets clear that using Jersey in that context isn't that simply: the incoming and outgoing calls are handled by the portal framework.

 

The EJB and Java EE tasks is normally not executed by a SAP Portal application. A Portal application may call them, but normally won`t do the JPA et al stuff. Now, why use a SAP Portal application with a REST interface? Of course to use the Portal framework. A scenario can be to retrieve user information and to secure this by the portal security and by having the user been assigned to the right iView and role.

 

REST

A browser supports the usual HTTP commands like GET, POST and so does the SAP Portal. The portlet specification and SAP’s implementation allow to have a listener for each HTTP command, so the foundation is already laid. The method called independently of the method specified by the browser is doContent. A enum in the portlet class defines the HTTP types:

 

private enum Rest {
                GET, POST, PUT, DELETE;
}

The doContent method is used to identify how the client invoked the portlet. While the IPortalComponentRequest is SAP Portal specific, it contains a method to retrieve the HttpServletRequest object. That one is form the Java EE servlet and contains the information needed to know how the servlet was called. Using the enum it is easy to find out how the portlet was called:


public void doContent(IPortalComponentRequest request, IPortalComponentResponse response) 
{
                HttpServletRequest servletRequest = request.getServletRequest();
                String method = servletRequest.getMethod();
                Rest rest = Rest.valueOf(method);
                switch (rest) {
                case GET:
                                break;
                case POST:                            
                                break;
                }
}

Of course this will only work when the client uses the URL of the portlet without specifying any other information directly path. For instance, to get the data of a specific object identified by id, the Id parameter must be passed as a query. Something like /path/to/servlet/portal.component/{id} won`t work, while /path/to/servlet/portal.component?id=2 will work.

 

JSON

To return a JSON object, the SAP Portal output must be overwritten. If not, the portal framework will add it`s typical additional portal information. To prevent the portal from doing so, the writer object from the servlet response must be obtained.

 

1. Get the HttpServletResponse. Providing the parameter true means that we want to overwrite the output with our own information (effectively eliminating the portal framework HTML).

HttpServletResponse servletResponse = request.getServletResponse(true);

2. Get the writer.

PrintWriter out = servletResponse.getWriter();

 

Now only the JSON object is missing. There is a nice library available at json.org for creating JSON objects in Java. Using this library, creating a JSON object is really simple:

 

JSONObject retObj = new JSONObject();
retObj.put("status", 1);

As just sending back a JSON object is actually not a JSON response, the content type must be set to JSON too.

 

servletResponse.setCharacterEncoding("UTF-8");
servletResponse.setHeader("Content-Type", "application/json; charset=UTF-8");

Now the portal application can send back a JSON response to the browser:

 

out.write(retObj.toString());
out.close();

 

 

Source Code

This is just the portal component class. For JSON to work, the library from json.org must be imported. The link to access the portlet is defined by the portal component name or the iView.

 

The class javax.servlet.http.HttpServletRequest is included in the jar jee5.facade.jar found at DCs\sap.com\engine.jee5.facade\_comp\gen\default\public\api\lib\java

 

The source code can be found here: tobiashofmann/JSONwithSAPPortal · GitHub

 

The class ScnBlog:

 

package com.tobias.blog.json;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sap.tc.logging.Location;
import com.sapportals.portal.prt.component.AbstractPortalComponent;
import com.sapportals.portal.prt.component.IPortalComponentRequest;
import com.sapportals.portal.prt.component.IPortalComponentResponse;
import java.io.IOException;
import java.io.PrintWriter;
import org.json.JSONObject;
public class ScnBlog extends AbstractPortalComponent {
                private static final Location loc = Location.getLocation("com.tobias.blog");
                private static Category category = Category.getCategory(Category.APPLICATIONS, "com/tobias/blog");
                private enum Rest {
                                GET, POST, PUT, DELETE;
                }
                public void doContent(IPortalComponentRequest request,
                                                IPortalComponentResponse response) {
                                String subloc = "doContent";                                                              
                                loc.entering(subloc);
HttpServletResponse servletResponse = request.getServletResponse(true);
                                HttpServletRequest servletRequest = request.getServletRequest();
                                String method = servletRequest.getMethod();
                                Rest rest = Rest.valueOf(method);
                                switch (rest) {
                                case GET:
                                                try {
                                                                PrintWriter out;
                                                                out = servletResponse.getWriter();
                                                                JSONObject retObj = new JSONObject();

retObj.put("status", 1);
servletResponse.setCharacterEncoding("UTF-8");
                                                                servletResponse.setHeader("Content-Type", "application/json; charset=UTF-8");
                                                                out.write(retObj.toString());
                                                                out.close();
}
                                                catch (IOException e1) {
                                                                loc.errorT(subloc, "IOException: {0}" , new Object[]{e1.getMessage()});
                                                }
                                                break;
                                }
                }
}



Actions

Filter Blog

By author:
By date:
By tag: