Monday, January 14, 2013

Portal task management unleashed

Intro

During my final project for B.Sc. I did in Holon Institute of Technology, I had to do a research. There were many topics to pick from, but somehow I ended up doing a research about short-term tasks management in  matrix-based organizations. 

The issue came up from my everyday work at customer sites: my ongoing work was managed with Excel. I will skip the part about Excel disadvantages, as you all know them better then I do. Anyhow, we had to study available task management tools, learn their functionality, and propose a best-fit solution for ongoing task management. 

We finished the study, proposed a solution, got a good grade, and none of proposed tools was implemented, mostly because it requires more than just a research: a budget, top management support, training and so on...

And then I thought, why not implementing standard portal UWL workflow, and complete it with a functional management report to achieve the desired result?

Keep it standard

UWL is a good tool for portal users to process tasks from SAP back end systems, as it is flexible enough, thanks to XML configuration. You can make tasks look different, process them in different way, add fields from back end and even develop providers from third party systems.

There is also a built-in workflow engine, which requires no configuration - you can start managing tasks based on portal workflow, and have several nice features there:
  • Email notifications & reminders
  • Due date management
  • Group tasks creation
  • Task forwarding and ad-hoc tasks creation
  • Attachments
  • Tasks approval upon completion
  • Sequential tasks processing
The problem arises when you want to change the standard tasks creation screen, which looks like this:


There is no standard way to add a field here. And this is a huge problem for any customer, that wants to add subsidiary, company selection, or any other field. 

Of course we can take the source code, import it to NWDI, and start developing a new screen, but at this stage I decided to avoid such changes, for the sake of future SAP support and upgrades.

So, let's see what are we missing, and how we can extend this UWL to be a good task management solution...

Missing functionality

Additional fields
As mentioned before, there is no standard way to add fields to task creation screen, which makes UWL tasks information incomplete

Management report
Once managers are required to go over open tasks of their employees, they see only those tasks they are assigned to as trackers, or those they created themselves. You cannot expect employees to remember adding managers as trackers to all their tasks, which results in lack of control and transparency

Grouping of tasks
Issue is derived from missing option of adding fields: there is no way to assign task to some field and filter by this filed later on

Sending follow-ups
Standard workflow mechanism sends one follow-up email upon task overdue, but there is no way to initiate this process on demand

Due date monitoring
If users change due dates (and yes, task processors can do that) there is no central way to see all those tasks and check initial due date

Export to excel / PDF
Managers plan to take task list with them to some meeting, and there is no convenient way to export task list to excel and print it out

Statistics
There is no graphical tools to monitor tasks processing trends, such as tasks overdue time, task completion time and so on

A solution

In order to complete UWL task management with missing functionality, we can develop a report based on standard UWL tables. This approach keeps the tables structure and logic implemented in UWL, keeping our options of portal upgrade and maintenance open for the future:

  • Additional fields: can be held in an SQL table, mapped to standard task by task ID
  • Management report: can embed tailor-made logic with fields assignment, calculations and styling
  • Grouping of tasks: can be made by creating UME groups in the portal itself, and then select tasks of employees assigned to UME groups
  • Due date monitoring: we can load initial and current due dates and point out those that were changed
  • Export to excel: we can do any export we like, making this truly important function available
  • Statistics: we can use WebDynpro built-in graphic elements to provide analytic tools

Tables to use

There are several standard tables in the portal SQL database that should be used in order to build the functionality described above, and here they are:
  • Our own table for additional attributes
  • KMC_WF_WORKITEM - this table contains information about completion date (TIME_COMPLETED) and initial due date (DUE_DATE)
  • KMC_WF_WFTASK_USR - this table contains task assignees
  • KMC_WF_WFTASK - this is the table that contains tasks information

    Important note: don't use KMC_UWL_ITEMS2, this table holds cached tasks, and if you clear the cache all tasks will be missing from your report, until users access their UWL again.

Summary

The WebDynpro for Java application described above extends UWL to provide a good, user-friendly, full-cycle task management solution, with comprehensive functionality. Development of such a tool is a question of several days, and it's true value for any enterprise that have SAP portal.

You are welcome to download the solution for free.
Feel free to contact me directly.

Good luck!

Sunday, December 30, 2012

SAP NetWeaver as Collaboration Platform

Efficiency is doing things right
Effectiveness is doing the right things
Peter Drucker ©

Intro

This post looks more like a white paper, but I hope you will get the right idea from it!


Executive summary

According to Darwin's Theory of Evolution, survival depends on ability to adjust to environmental changes in a best way possible. If we observe the changes in IT world over last years - internet has became a major tool for performing business activities. People are working online and perform their interaction with other companies through internet, using personal computers at home and mobile devices while on the go. However, many companies avoid exposing their IT infrastructure to outside world, preventing external parties to participate in company processes.

Exposing SAP web applications is not a question of "if", but "when".

Having a possibility to involve business partners (suppliers / distributors / customers / etc.) and providing online tools for interaction puts your company in a different place in worldwide competition. SAP NetWeaver, which includes SAP Portal installation, can serve your company as a stable and secure tool for Web Applications, integrated with internal back end system. I believe such adjustment to our online world delivers a true added value to any company.

Target audiences

  • IT Managers and Team Members
  • IT Business Consultants
  • SAP End Users
Many customers envision involving their business partners in company activities, but due to security constraints and other business aspects run into difficulties.
This post is addressed to customers with SAP back end systems, looking for a way to involve external business partners in ongoing internal processes. I believe this methodology can enrich one's mind by looking at company infrastructure from a new angle, and deliver a solution for companies having business-to-business activities performed manually.

Benefits of B2B Collaboration

As world grows and companies evolve, business processes require interaction with external factors more over. Working with many customers around the country, I found similar requirements at customer sites, which are hardly satisfied today. Companies are looking for a way to cut down TCO by keeping their current company infrastructure, however interested in providing collaboration tools for partners, although not sure how to get there, yet.

I believe that integration between SAP back end systems and SAP portal applications exposed to World Wide Web represents the best solution for companies looking for a way to involve their customers / suppliers / business partners in company processes. Opening a secured entry point to your organization changes the way company routines are performed. Once partners must engage in your business process and has online tools that provide a solution – a true added value is born.

Main Challenges

There are many aspects that are taken into consideration, when solution is to be found. Having rich knowledge in implementation of SAP products along our way, I find following challenges to be most common.

Inefficient workflow

Companies invest IT resources in internal enterprise applications, such as ERP, CRM and BI systems. In best case scenario these applications are supplying employees' handy tools to perform ongoing tasks, while there are problematic tasks require additional external inputs, for example working with vendors or distributors.

Once business partners must engage in company workflow, online applications for performing different tasks must be provided. Such applications, relying on company ERP system, improve level of service and cut down costs of everyday company routine.

As an example, we can study a classic case of working with vendors. Any company interacts with vendors on a daily basis, sending emails with purchase orders, receiving phone calls with delivery dates updates etc. Number of aspects in such workflow is enormous, while same functions must be performed over and over again. Imagine providing your vendors a tool that answers both your company and vendors needs. Let's take a look at benefits of such a tool for vendors collaboration:
  • Vendors evaluation
  • 24/7 availability
  • Payment process optimization
  • Outsourcing of processing functions
  • Reduction of payment disputes (transparency)
  • Reduction of paper work and human mistakes

Lack of interaction with external parties

The trick of exposing part of company infrastructure and providing access to end users has benefits for both parties, as it saves time and resources for everyone, at the same time positioning your company at a higher level in the market. Once business partners are provided with an intuitive tool, which didn’t require any input from them, it makes your company look different, and work different, as a result.
Once external parties begin to participate in business processes according to your guidelines, master data maintained in your ERP system is extended and becomes up-to-date, delivering vital business information to company employees.
Looking back at the example of application for vendors / suppliers, you can imagine how important for any company to receive updates from their vendors. Once such tool exists in a company, vendors comply with your processes and become interested in delivering goods in shorter terms and lower prices to receive higher ranking, while you can benefit from saving time of interaction with them.

Implementation Approach


To extend the relevancy of your business applications and deliver a product that answers your business needs, organizations need to study external parties requirements and answer them in a best way possible.
Following is a general description of implementation approach, which I believe is a great methodology for any company interested in improving their level of service.


The ideal solution would natively reflect company activities, translated into user-friendly interfaces for external factors, keeping existing company processes the exactly same way they are today.

Business

The main goal of external web applications is to reach maximum collaboration with suppliers, distributors, customers and partners, without requiring from them understand your back-end system. Such solutions, deployed within you existing SAP landscape, lets you achieve following goals through ongoing interaction with business partners:
  • Hide the complexity of business systems for end users
  • Guide business partners through company processes
  • Reduce the need of both parties to work "offline" and perform tasks manually
  • Enable employees to focus on core tasks
Once mentioned requirements are satisfied, use of such applications will become a great value for all parties involved, delivering your company up-to-date information. Organizations need a solution that simplifies the way information flows, while interfaces to update this information are intuitive and learning curve of using these interfaces is minimal.
During such web applications implementation, it is very important to leverage existing infrastructure in new ways, consuming as less resources as possible. In order to succeed, companies using SAP NetWeaver platform would want to deliver business applications as productive and effective as possible, minimizing cost and risk. SAP Portal, serving as application layer, can help you do that.

Technology

SAP Portal provides development tools that can deliver fast and stable solutions. If your company has a strong SAP vision and would want to implement customer-centric processes (regardless of what customer types we are working with, being direct customers, vendors, distributors, other external parties, or even your company departments), portal is the best place to do it.
As part of SAP NetWeaver package used by any company, portal infrastructure can be used to expose web applications, making use of following built-in elements:
  • Authentication mechanisms based on Roles / Groups authorization maintained internally (ABAP of Java)
  • Knowledge Management API
  • Reporting functionality for wide range of standards (Excel / PDF / HTML)
  • Tools for infrastructure management (SLD)
  • Tools for establishing data flow from back end system (JCO / RFC)


As portal applications are developed according to MVC architecture and Development Components, you can save development time by reusing functions and components, assembling them differently, and mapping them to business activities. Mentioned development guidelines result in faster deployment, reduce development time, increase flexibility, and create a company standard for web applications.
Following is a general description of main elements that can be used to begin providing web applications for your business needs:
1. Back end system
2. Secure gateway (firewall)
3. SAP Web Dispatcher (or other reverse proxy service) with HTTPS encryption
4. SAP Portal installation that can be exposed through web dispatcher

Summary

SAP NetWeaver Platform provides tools for exposing interactive web sites to business partners, but not many companies are taking advantage of their existing IT infrastructure. Starting to use existing platform for B2B collaboration can be a turning point in company vision and provide tools to save time and resources in a very short term.

If you are interested in any of described above, please contact me directly.

Cheers.