Archive for July, 2006

SP15: XML Content and Actions by Daniel Wroblewski

SP15: XML Content and Actions
Daniel Wroblewski SAP Employee
Business Card
Company: SAP
Posted on Jun. 13, 2006 01:28 PM in Enterprise Portal (EP)

Permalink

 

    Print. Print

It took 3 months, but finally here is the last blog about the major features that were added to SAP NetWeaver Portal 2004, SP15. 

Today we look at the changes to the XML Content and Actions tool, which lets you automate the creation of portal content. Instead of using the administration interfaces to create iViews, pages, worksets, roles and other portal objects, you can simply upload an XML file with all the information and — poof! — all you content is created.

The tool is good if you are designing content on a test machine, and then you want to create the content on another machine. Also, if you need to create a lot of objects that are similar — several roles with similar structure; you create the XML for one role, and simply duplicate it in the file and upload the file.

In addition, some companies design their content based on some back-end data, or use some tool (such as Excel) to define the content. From Excel, for example, you can then create a small conversion algorithm to export the Excel data to XML, and then upload the XML.

The tool is a lot like the PCD Inspector, in that it provides a type of backdoor for modifying PCD content. And like the PCD Inspector, you must be careful and check your XML, as you can create a lot of content — but also do a lot of other things, perhaps unintentionally, to harm the portal.

A Quick Review

Open the tool by going to System Administration –> Transport –> XML Content and Actions.

image

The import tool lets you upload a well-formed and valid XML file. After you export the file, the portal parses it and creates the portal objects and performs the actions defined in the XML. A report of the execution is displayed, showing what objects were created, what actions were performed, what sections did not parse correctly, and so forth.

image

How to Write XML to Create Content

The XML for the XML Content and Actions tool is, essentially, a collection of tags, possibly nested, and each tag defines an object to create, modify or delete. The type of object is specified by the handler name provided in the objectClass attribute.

For example, to create an iView, you specify com.sapportals.portal.iview.

You can also add tags, that specify an action — such as deleting all objects from a folder, running another script, or assigning users to groups. These tags are not nested.

The following is an example file that creates a folder, a workset in the folder, a page in the workset, and an iView in the page:


   
   

   
   

      
      

         
            
               
            
         

         
          template=”portal_content/com.sap.pct/admin.templates/pages/${namespace}.portalpagetemplate”
objectClass=”com.sapportals.portal.page” create_as=”1″
title=”User Data Import Page”>

            
            

               
                  
                     
                  
               
            
         
      
   

What’s New

The main addition in SP15 was the addition of an export tool, that lets you take existing content and create an XML file based on it. You can then take this XML file, modify as needed, and upload the file so that the content — or similar content — is created on the same portal, perhaps in a different area, or on another portal.

With the tool, you do not need to code XML by hand. You can design the skeleton of what you want and export it to XML. You can then modify the attributes, copy the elements to create additional objects, and so forth.

In addition, a large group of handlers were added in SP13, with which you still may not be familiar. The following objects can now be created:

  • Translation worklists
  • Related items (of iViews)
  • System aliases

The following actions can now be performed:

  • Run a script from within another script
  • Copy and mirror content
  • Assign users to groups and roles

Documentation

And, of course, we have a document that explains all the rules for building a valid XML file for the XML Content and Actions tool. It also lists all the objects you can create and all the actions that you can perform.

The documentation is located at How to Automate Content Creation via XML.

Daniel Wroblewski is an information developer for SAP, focusing on documentation for portal developers.

Add comment July 4th, 2006

Days in the Life: Situation Analysis from the point of view of a BPX by Helen Sunderland

Days in the Life: Situation Analysis from the point of view of a BPX
Helen Sunderland SAP Employee
Business Card
Company: SAP Canada Inc.
Posted on Jun. 26, 2006 10:00 AM in Business Process Expert

Permalink

    Print. Print

You’re a BPX, it’s Monday morning and you’ve arrived at a brand new client. You have a limited engagement of one week. Your mission: to produce documented recommendations for new technology supporting an existing business process requiring some redesign. How do you get the job done?

This scenario is a common occurrence to the Business Process Expert who functions as the ‘hired gun’. It is not uncommon for the BPX to be called into situations which require high- to mid-level analysis and a quick, but comprehensive set of recommendations as output.

To accomplish this task, the BPX must deal with the following factors:

- quickly developing a relationship with the client, to establish trust and credibility
- sorting through the business issues, often with little or no understanding of the client’s business or particular circumstances
- analyzing the technology in place and understanding the future of the landscape (i.e., upgrades, etc.)
- designing (at a high-level) various alternate solutions
- creating thorough recommendations (and the corresponding document).
How does a BPX quickly establish a relationship with a new client?
To establish trust and credibility, it is important for the BPX to become a ‘trusted advisor’ to the client as quickly as possible. Sometimes the client is aware of the BPX’s profile and history; however, regardless of the client’s prior knowledge, it is still imperative that a face-to-face relationship be established to increase the productivity of interaction between the client and BPX.

Clear communication is key between a BPX and any client, but particularly essential in a short-term assignment which results in ultimately influencing business change. Some of the tactics of a BPX for creating a relationship should include:

- listening attentively to the client (often they drop hints about the pains in their culture; sometimes they may actually be explicit)
- active listening: asking questions for clarity
- demonstrating forthrightness: be clear that you do not have a hidden agenda, and that you are working for them
- briefly outlining your own experience in two minutes or less, focusing on other occasions where you were a trusted advisor

Typically, this openness will precipitate a comfortable, receptive relationship which facilitates your getting the information you need to create your conclusions.
How can a BPX sort through business issues when he/she knows nothing of the client’s business?

This can be a tricky situation and often requires reliance on two things: your past experience and intuition. However, that’s sometimes easier said than done.

It is easy to feel like a fish out of water in a foreign environment, however one of the surest ways to gaining an understanding of the client’s business environment and issues is by listening for similarities to your own past experiences. Often situations, although radically different in exterior application, can be very similar in nature at their core.

By actively listening to the client and asking clarifying questions regarding business priorities and areas of greatest pain, a BPX can quickly get a sense of where the most urgent concerns exist. Generally, this will naturally become evidence to formulating recommendations.

It is critical to accumulate information that forms the “bigger picture” which includes the client’s culture, technical environment and political landscape. Having this bigger picture can direct the recommendations to solve very specific issues.
Analyzing the technical environment

While seemingly straightforward, it is often necessary to dig deep into the system landscape only to ensure that nonconforming systems are indeed identified in any formal architecture discussions. No one likes surprises at the end of an assignment where he/she discovers that there was a complete application built for one area of the business outside of the main landscape, which executed the exact requirements of the consulting assignment! Know all the players involved, even if you must unearth clues through your listening.

Also, ensure that a complete technical landscape is provided to you, inclusive of the go-forward plan for technical upgrades. This can impact the timing of implementation of your recommendations or can drive to a phased implementation approach.
Now that I have the information I need, how do I design the solutions?

This step typically involves your own personal style. Generally speaking, the recommended solutions will begin to become apparent throughout your discussions with the client. As the client unfolds their circumstance and explains their issues, the possible solutions often naturally ‘fall out’ of the analysis.

Again, the development of solutions is reliant on your own knowledge and experience, and in cases where some information may not be available, a healthy dose of your own intuition may be required. More often than not, implementation of similar solutions follows a similar path at its most fundamental level. Intuition, then, can be useful in making a best guess on high-level timing of a project or an approach to phasing-in a solution.
And, finally, I have to write the recommendations document: what should I address?

Typically, a comprehensive document should include the following sections:

- Introduction (why is this document being created) - Scoping Summary (when the exercise and occurred and what the general outcome was)
- Detailed Business Process Information of the specific scope reviewed
- Alternative Recommendations (a text description of the recommended solutions)
- Organizational Impact Assessment (how will the organization be affected)
- Interfaces (a brief description of any foreseen technical interfaces into the new solution)
- Security, Authorizations and Roles (how the new solution will impact who does what in the organization, both from a business and a technical point of view)
- Integration Points (what other parts of the business and technical landscape may be affected by the new solution)
- Training Requirements (at a high-level)
- Description of Improvements and Business Benefits (a brief summary)
- Resource Estimates of the main actions to be taken to implement the solution
- Proposed Timing of the Activities
- Issues (any issues within the organization which have been identified and must be addressed as part of the project)
- Key Success Factors (what will it take to make the project successful)
- Project Assumptions (what was assumed to create the recommendations and resource estimates)

Closing thoughts…
The expectation of the client is that the BPX has the knowledge, expertise, ability and confidence to ‘hit the ground running.’ This can be a tall order in politically difficult situations, however by sticking to the basics of analysis and design as discussed above, the BPX has excellent odds of being successful under most circumstances. These tactics have worked for me and for others. Honing one’s skills through repeated exercise is the key for owning the process of quick situation analysis.

 

 

 

Helen Sunderland is a senior SAP consultant specializing in Business Intelligence. Her role at clients primarily requires Business Process Expert skills and, as such, she is an advisor to the SAP Business Process eXpert Community.

Add comment July 4th, 2006

Geocode Business Partner with Google Maps by Gregor Wolf

Geocode Business Partner with Google Maps
Gregor Wolf
Business Card
Company: Siteco Beleuchtungstechnik GmbH
Posted on Jun. 27, 2006 06:13 AM in ABAP, Beyond SAP, Business Server Pages, Business Solutions, Interoperability, SAP NetWeaver Platform, Technologies

Permalink

    Print. Print

Update: Have also a look at Geocoding - the next step: Routing with Map24 AJAX API

Inspired by Eddy De Clercq’s SDN World Map and the German Podcast Pimp My Brain where they introduced me into Google Maps I’ve tried out to combine this with our SAP CRM People Centric User Interface (PC-UI). The result is this little BSP application which uses ABAP Object Persistence Service and Simple Transformations.

During my research about geocoding in a SAP environment I found Geocoding for BW and Geocoding for Business Partners. You find more information about this topic in the SPRO customizing transaction at SAP NetWeaver -> General Settings -> Set Geocoding. Unfortunately I’ve found no documentation how to implement this standard interface and I implemented my own. External Geocoding solutions can be found in the Partner Directory Solution Search. SAP Notes regarding Geocoding can be found in the OSS Application Area BC-SRV-GEO.

There is also an SDN Article “Using Geo Services with Web Dynpro” which uses the standard interface which calls external providers using the IGS.

But now let’s start to build our solution which will result in:

image

Preparation

Sign up to the Google Maps API

To use Google Maps you have to Sign up for the Google Maps API. You have to provide the web site URL which must exactly match your WebAS URL including the Port. I. e. http://webas.test.com:8000/. After the sign up you get a sample HTML Source which you can save locally and play around using the API Documentation.

Create Database Table for Geocoding Data

I’ve put all development objects together in the Package ZBPGOOGLEMAP:

image

Here I’ve created also the DB Table ZBPGEOCODE which will contain the Geocode information for a Business Partner (BP). To detect changes on the BP I also save Street, Street No., Postal Code and City in this table.

image

Create Persistent class for Geocoding Data

A long time ago I’ve read Thomas Jung’s Weblog on “ABAP Persistent Classes: Coding without SQL” but never tried it on my own. But here I’ve done it and created the Class ZCL_BPGEOCODE which is from Class Type “Persistent class”. All the rest is described in detail in the mentioned Blog. Be aware that you have to use the DB Table ZBPGEOCODE.

Transform Google KML to ABAP

I did not attend the ABAP Online Meet-up on Simple Transformations but it inspired me to use this to transform the return of the Geocoding HTTP Request into an ABAP Structure. To test the Transformation I first downloaded the result of this request to my local drive:

http://maps.google.com/maps/geo?q=Neurottstr.+15a,+Walldorf,+DE&output=xml&key=…

Don’t forget to use your key which you’ve got after sign up at Google Maps. The result of the request looks like this:

The main problem for me was the Namespace used by the Google KML Format. To get access to the components I had to add this line to the “xsl:transform” element:

Also be aware that the Values which should be transferred to ABAP Variables, Structures or Tables must be Uppercase. Here is the complete XSLT which I’ve saved as ZGOOGLE_GEOCODE_TO_ABAP:

When you test the Transformation you should get this result:

Implement the BSP

Now we can put the elements together and create the BSP Application ZBPMAP with the Page default.htm. Please maintain this Page Attributes:

Attribute Auto Typing Method Associated Type
address   TYPE STRING
bp X TYPE BU_PARTNER
mapcenter   TYPE STRING

Here is the layout:

Please note that you have to insert your Key. Finally the Event Handler OnInputProcessing:

Also here insert your own key to the generated URL. The result is this little BSP Application which provides a Map with a marker where our Business Partner is located.:

image

To combine this BSP with the PC-UI of CRM please have a look at my Blog: “Use CRM PCUI HTML viewer to call a custom URL”.

Gregor Wolf is the Webmaster of www.siteco.de and owner of Computerservice Wolf

Add comment July 1st, 2006


Calendar

July 2006
M T W T F S S
« Jun   Aug »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Posts by Month

Posts by Category