Mein Blog im SAP Community Network (SCN)

SDN

Das SAP Community Network (scn.sap.com) ist eine wahre Fundgrupe an Informationen Rund um SAP. Diese werden sowohl von SAP Mitarbeitern selbst aber auch vor allem von Beratern und Entwicklern der SAP Community weltweit gratis zur Verfügung gestellt.

Da ich von diesem Netzwerk profitiert habe, möchte ich als kleines "Dankeschön" auch meinen Beitrag leisten und habe dort meinen eigenen Blog begonnen. 

  • Using KeePass Instead of SAP Logon

    Together with Renald Wittwer I am preparing SAP Inside Track 2012 in Hamburg. Instead of the usual InnoJam we decided to create something new, which we called “Solution Jam” (short: SolJam). The idea is to present within 8 minutes innovative solutions / ideas / tools with or on top of SAP technology. I decided to show the participants how I use KeePass instead of SAP Logon.

     

    As soon as I had posted the title, Uli Burner came up with I am very interested in your #sithh soljam topic “keepass instead of sap login” - any information about this available yet? and also Gregor Wulf was interested. Both managed to find out themselves before I could answer – only knowing the title was already a benefit for them.

     

    Since a good story can always be told twice, I decide to write this blog even before I am going to show it to you in May.

     

    1. The Open Source Software KeePass

    So how did I came across this? Well, being a busy consultant my SAP Logon is flooded with system entries and I somehow had to remember all these passwords. The most  people I know use either more or less the same password for all the systems or they use something like excel where they keep their passwords protected with a master password.

     

    Both ways of doing it are not very secure. Since I have to remember not only the user an passwords of the SAP systems, but also of a lot of websites and other applications, I was very happy to find this excellent open source software KeePass, a light-weight and easy-to-use password manager.

    You can create different databases, each of them protected with a master password. It also allows to create  (sub-) directories and the content is encrypted (see Figure 1 - KeePass - Main Screen).

     

    image

    Figure 1 – KeePass – Main Screen

     

    If you enter an entry you have data fields for e.g. title, user name, password, quality of the password and URL of the application. If you enter the password, it is not shown. You have to repeat it, as if you would logon to a system (see Figure 2). But you can also switch to visible password (if nobody is looking over your shoulder).

     

    Entry Screen

    Figure 2 - KeePass Entry Screen

     

    2. How to Logon to a SAP System via KeePass

     

    As you can see in the screenshots I have used the URL field to connect to the SAP system. With command “cmd” you can call a program. The program I am calling is SAP Shortcut (sapshcut). It is in the same directory as saplogon. Maybe you have to extend the path, if the program is not found. SAP Shortcut has a lot of parameters, which are all described in sapnote 103019.

     

    What I have entered is the following:

     

    cmd://sapshcut -system=NSP -client=100 -user={USERNAME} -pw={PASSWORD} –maxgui


    The parameters have the following meaning:

    • system - System name
    • client - The client you want to login to
    • user - Your username. The “{USERNAME}” is a feature of KeePass to refer to the user name you have entered in the KeePass entry.
    • pw - Your password. The “{PASSWORD}” is a feature of KeePass to refer to the password you have entered in the KeePass entry.
    • language - The language you want to logon with (I omitted that).
    • maxgui - Maximize SAPGUI after login

     

    If you select the entry and click on the link shown in the lower area of  the main screen, you are immediately logged into the selected system.

     

    Watch yourselve:

     

    Together with Renald Wittwer I am preparing SAP Inside Track 2012 in Hamburg. Instead of the usual InnoJam we decided to create something new, which we called “Solution Jam” (short: SolJam). The Idea is to present within 8 Minutes innovative solutions / ideas / tools with or on top of SAP technology. I decided to show the participants how I use KeePass instead of SAP Logon.
    As soon as I had posted the title, Uli Burner came up with I am very interested in your #sithh soljam topic “keepass instead of sap login” - any information about this available yet? and also Gregor Wulf was interested. Both managed to find out themselves before I could answer –only knowing the title was a benefit for them.
    Since a good story can always be told twice, I decide to write this blog even before I am going to show it to you in May.
    Open Source Software Keepass
    So how do I come across this? Well, being a busy consultant my SAP Logon is flooded with system entries and I somehow had to remember all these passwords. The most  people I know use either more or less the same password for all the systems or they something like  Excel where they keep their passwords protected with a master password. Both ways of doing it are not very secure.
    Since I have to remember not only the User an passwords of the SAP systems, but also of a lot of websites and other applications, I was very happy to find this excellent open source software KeePass, a light-weight and easy-to-use password manager.
    You can create different databases, each of them protected with a master password. It also allows to create  (sub-) directories and the content is encrypted (see Figure 1 - KeePass).

    Figure 1 – KeePass – Main Screen
    If you enter an entry you have data fields for e.g. title, user name, password, quality of the password and URL of the application. If you enter the password, it is not shown. You have to repeat it, as if you would logon to a system (see Figure 2). But you can also switch to visible password (if nobody is looking over your shoulder).

    Figure 2 - KeePass Detail Screen
    How to Logon to a SAP System via KeePass
    As you can see in the screenshots I have used the URL field to connect to the SAP System. With command “cmd” you can call a program. The program I am calling is SAP Shortcut (sapshcut). It is in the same directory as saplogon. Maybe you have to extend the path, if the program is not found.   SAP has a lot of parameter, which are all described in sapnote 103019.
    What I have entered is the following:
    cmd://sapshcut -system=NSP -client=100 -user={USERNAME} -pw={PASSWORD} –maxgui
    The parameters have the following meaning:
    •    System – system name
    •    Client – the client you want to login to
    •    User – your username. The “{USERNAME}” is a feature of KeePass to refer to the user name you have entered in the KeePass entry
    •    Pw – your password. The “{PASSWORD}” is a feature of KeePass to refer to the password you have entered in the KeePass entry.
    •    Maxgui – Maximize SAPGUI after login
    If you select the entry and click on the link shown in the lower area of the main screen, you are immediately logged into the selected system.
    Together with Renald Wittwer I am preparing SAP Inside Track 2012 in Hamburg. Instead of the usual InnoJam we decided to create something new, which we called “Solution Jam” (short: SolJam). The Idea is to present within 8 Minutes innovative solutions / ideas / tools with or on top of SAP technology. I decided to show the participants how I use KeePass instead of SAP Logon.
    As soon as I had posted the title, Uli Burner came up with I am very interested in your #sithh soljam topic “keepass instead of sap login” - any information about this available yet? and also Gregor Wulf was interested. Both managed to find out themselves before I could answer –only knowing the title was a benefit for them.
    Since a good story can always be told twice, I decide to write this blog even before I am going to show it to you in May.
    Open Source Software Keepass
    So how do I come across this? Well, being a busy consultant my SAP Logon is flooded with system entries and I somehow had to remember all these passwords. The most  people I know use either more or less the same password for all the systems or they something like  Excel where they keep their passwords protected with a master password. Both ways of doing it are not very secure.
    Since I have to remember not only the User an passwords of the SAP systems, but also of a lot of websites and other applications, I was very happy to find this excellent open source software KeePass, a light-weight and easy-to-use password manager.
    You can create different databases, each of them protected with a master password. It also allows to create  (sub-) directories and the content is encrypted (see Figure 1 - KeePass).

    Figure 1 – KeePass – Main Screen
    If you enter an entry you have data fields for e.g. title, user name, password, quality of the password and URL of the application. If you enter the password, it is not shown. You have to repeat it, as if you would logon to a system (see Figure 2). But you can also switch to visible password (if nobody is looking over your shoulder).

    Figure 2 - KeePass Detail Screen
    How to Logon to a SAP System via KeePass
    As you can see in the screenshots I have used the URL field to connect to the SAP System. With command “cmd” you can call a program. The program I am calling is SAP Shortcut (sapshcut). It is in the same directory as saplogon. Maybe you have to extend the path, if the program is not found.   SAP has a lot of parameter, which are all described in sapnote 103019.
    What I have entered is the following:
    cmd://sapshcut -system=NSP -client=100 -user={USERNAME} -pw={PASSWORD} –maxgui
    The parameters have the following meaning:
    •    System – system name
    •    Client – the client you want to login to
    •    User – your username. The “{USERNAME}” is a feature of KeePass to refer to the user name you have entered in the KeePass entry
    •    Pw – your password. The “{PASSWORD}” is a feature of KeePass to refer to the password you have entered in the KeePass entry.
    •    Maxgui – Maximize SAPGUI after login
    If you select the entry and click on the link shown in the lower area of the main screen, you are immediately logged into the selected system.
  • Girls'Day 2012 - Ten Girls from all over Hamburg, Germany visited ADVENTAS Consulting

    It’s Girls‘Day 2012 - Ten 10 to 15 years old girls took the change to get to know, what a computer scientist does. I used the day together with my colleague Annika Rosner to introduce them to the secrets of programming. After explaining them what a computer scientist is and where you can work with such an education I gave an overview of the main notions of programming. Finally in teams of two they wrote a little game or animation, which they could take home.

     

    It’s the third year now that I am participating in the German Girls’Day program. Every year at the last Thursday in April, girls join their father for work. They are supposed to get to know jobs in technique, computer science, engineering and science – jobs, where too few women are working.

     

    The reasons why I am participating is that I want to give the girls a chance to get to know computer science without being dominated by boys. On the other hand I am missing women in computer science jobs. I think that man and women complete one another, and therefore it would be good to have more women in project teams.

     

    Have you done something similar? If not - would you like to start something similar in your company / country?

     

  • Publishing Content from the SAP Netweaver AS ABAP to iGoogle and other RSS Readers

    1 Introduction


    When I tidied up my desk I found this little ABAP finger exercise which I did some years ago, when I had to take care of more than one SAP Solution Manager within a support organisation. I was irritated by the fact, that I had to login to and check within each single system, if anything had happened for me.

    So the idea came to my mind, that it would be good, to have a little tool which does this for me. It should process a status list of tickets and change requests my user is related to and publish this in the iGoogle portal, which I was using heavily by that time.

    2 Publishing Content using RSS feed


    The basic technique used there as well as in many other web 2.0 platforms is the RSS 2.0 web feet format. “RSS” is an abbreviation for “Really Simple Syndication”. It is used to frequently publish frequently updated works — such as blog entries, news headlines, audio, and video — in a standardized format. An RSS document (which is called a "feed", "web feed", or "channel") includes full or summarized text, plus metadata such as publishing dates and authorship.

    RSS feeds benefit publishers by letting them syndicate content automatically. A standardized XML file format allows the information to be published once and viewed by many different programs. They benefit readers who want to subscribe to timely updates from favoured websites or to aggregate feeds from many sites into one place. (See [RSS11])

    iGoogle is the RSS reader I intended to use. But there are many other possibilities such as RSS feed readers integrated in your browser or MS Outlook. Also desktop panels like Google Desktop allow you to integrate RSS feeds.

    After knowing the standard format we need the question is, how we can generate and access this using the SAP Netweaver AS ABAP.

    2.1 Accessing the SAP Netweaver AS ABAP via HTTP


    To add information to iGoogle via RSS means that we have to be able to access the SAP Netweaver AS ABAP via HTTP protocol. To do so, we use the internet connection framework (ICF), which you can configure using transaction SICF. I have defined my own virtual host there called zadventasand a service called z_rss_feed. This service can be called from the internet respectively the intranet with something like this: http://server.example.com:8000/zadventas/z_rss_feed/. It will then return the RSS XML file as a result, which will be displayed by the reader.

    image

    Figure 1 – Configuration of the ICF

    The configuration of the ICF you can see in Figure 1. The named handler ZCL_RSS_FLIGHTS is a class, which is called, when the above mentioned URL is called. The class is one leaf of the class hierarchy shown in Figure 2. [1]

    image

    Figure 2 - class hierarchy

    2.2 Implementing the object model


    First I implemented the class ZCL_RSS_FEED. It inherits from the standard interface IF_HTTP_EXTENSION. Its method HANDLE_REQUEST is called, when the URL is processed. Furthermore the class has two more methods. The method GET_PUBDATE, which gets a time and a date as input parameter and returns the publishing date in a format requested by the RSS feed. The second method FILL_RSSFEED is the method where the RSS feed is build. It is declared abstract and must be redefined by the classes, which inherit from ZCL_RSS_FEED to implement the feed for a proper application.

    In my case this is the class ZCL_RSS_FLIGHTS, but it can by any other class like e.g. ZCL_RSS_TICKETS which might display the open tickets within an SAP Solution Manager, which my user is related to.

    The entry method HANDLE_REQUEST does the following:

    1. Get the parameters of the HTTP request (in our example there none. But you could for example put a language key here).
    2. Fill the RSS feed data structure
    3. Transform it to XML
    4. Send the result to the RSS reader

    To build the RSS feed means to fill the data structure and convert it to XML.

    2.3 Fill the RSS data structure


    Before I continue to explain the details of the implementation, I have to tell you, what a RSS feed is. Simply speaking it is a XML formatted plain text, which can easily be read by human as well as automated processes. Instead of giving you with a formal definition [2], I want to provide you with the example shown in Figure 3.

    image

    Figure 3 - Example RSS feed

    Each RSS feed consists of one or more channels. Each channel has header information, which contains a title, a description, a link, language code and can have an image. The header is followed by the feed items. Each item has a title, a link, a description, an author, a publishing date and guid, which uniquely identifies the item.

    To represent this structure in ABAP I defined a structure ZRSS_FEED. It has nine strings, which represent the header information of the feed. Furthermore it has a table, which represents the list of items of a feed. Each item is again represented as a structure of strings, which are related to the attributes of an item.

    In Figure 4 you can see the details of the channel header data structure and in Figure 5 you can see the details of the item data structure.

    image

     

    Figure 4 - RSS feed header data structure

     

    image

    Figure 5 - RSS feed item data structure

    2.4 Transform the data structure to XML


    To transform the RSS feed data structure to XML I am using the powerful so called simple transformation mechanism. You can create or edit it using transaction STRANS, but it is also integrated in the development workbench [3]. It takes a XML template and fills it with the ABAP data. If you have already worked with BSPs you are already familiar with the template technique. As with BSP transformations are supported by a special language editor.

    image

    Figure 6 - The RSS feed structure as a simple transformation

    In Figure 6 you can see the beginning of the RSS template I have defined. It is displayed in a special layout editor, which comes along with the development environment. You can see the native XML and between simple transformation tags, which allow you to integrate ABAP statement such as e.g. assignments or loops.

    To use them you just call them like this:

    CALL TRANSFORMATION zrss_to_xml
        SOURCE rssfeed = rssfeed
        RESULT XML l_xml.

    The source rssfeed is our defined ABAP data structure and as a result we receive the XML file l_xml build by executing the transformation of the defined template.

    2.4 Publishing the content to iGoogle


    So finally we are ready to publish everything to the iGoogle portal. To do so is quite easy. First you go to you iGoogle start page und press “ADD GADGETS”. Then on the right hand side you click on “Add feed or gadget”. In the opening window you enter your URL and press “Add”.

    image

    Figure 7 - Add the RSS feed to IGoogle

    After a while (depending on the speed of your server) you will see the flight list in your portal.

    image

    Figure 8 - RSS feed in portal

    3. Conclusion

     

    So what have we done? We saw how to access the SAP Netweaver AS ABAP via http protocol. We implemented a handle, which is executed, when a specific URL is called. We read flight data into a specific RSS data structure and transformed it into a XML data feed, by using simple transformations. The feed can be consumed e.g. by iGoogle portal or other RSS feed readers.

    If you want to try out the example shown in this article, please go to the SDN code exchange project, where you can find the source code mentioned in this article.

    If you are interested in other ways of integrating google applications to SAP ABAP, please go also to the very nice project abap2gapps. If you are interested in using XML in your project I also recommend you the book XML for developers by Tobias Trapp [TR10]. As far as I know it is only available in German.

    Literature

     

    [RSS11]    http://en.wikipedia.org/wiki/Rss_feed, 3. Oct. 2011.

    [KK07]       Horst Keller, Sascha Krüger, ABAP Objects – ABAP Programming in SAPNetWeaver, SAP Press 2007

    [TR10]       Tobias Trapp, XML für ABAP-Entwickler, SAP Press 2010


    [1] For further instructions on how to use this interface please refer e.g. to the online help http://help.sap.com/saphelp_nw73/helpdata/en/48/d402801904154ee10000000a421937/frameset.htm

    [2] This is the example I choose to implement. There is other information you can pass on. Here http://feed2.w3.org/docs/rss2.html you fined the complete definition as wells as examples for a RSS feed.

  • With a Little Help from My Friends

    Last night after a really great SAP Inside Track NL I set together with Tobias Trapp in the hotel bar, telling him what my vision of what a really cool help portal is. (Please also read his post on What is “Smart Documentation”?)

    I want to share my ideas with you too. Maybe they can help to improve the SAP Help Portal even more.

    So if I had a wish free, I really would like the SAP Help Portal to become a personal documentation. My vision is that I could login to it with my own (SDN-) User and save my own bookmarks. Today I save my most often used documentation in the bookmarks of my browser. But in a customer’s place I cannot always use my own PC. So for me it would be good to have my own favorite documentation links in the portal.

    Also it could be helpful, if I could tell the help system, which SAP systems I am working with and it then only shows me the related help information.

    Furthermore I would like toadd my own additional information, which relates the documentation to my own business context. E.g. as an ABAPer I would like to add my own sample code or give a cross reference to the SDN.

    Also it would be nice to share this information to other users.

    And a really good functionality would be if I could make my own notes in the F1-Help of a data field and/or enrich it with the company’s information’s from the business context.

  • 2012 is the Alan Turing Year - How do we want to give honor to him?

    image

     

    If you have studied Informatics (or Computer Science) as I have, you have for sure heard of and have been taught at least one or more results of the work of Alan Mathison Turing. He is one of the co-founders of (Theoretical) Computer Science. Furthermore he was a Mathematician, Logician and Wartime Codebraker.

    He was born 23rd of June 1912 and died in the age of 41 at the 7th of June 1954. He was a victim of prejudice about his homosexuality. Because of his sexual orientation was sentenced and has probably committed suicide.

    As co-founder of computer science he is known e.g. for the so called Turing machine – a theoretical machine with an endless tape, a read/write header, which could also move left resp. right after reading resp. writing from/to the endless tape. Turing proved that this machine could solve any mathematical problem, which can be solved by an algorithm. He also proved, that there exists no algorithm to decide, if a given Turing machine will stop.

    Turing also invented the Turing Test as a criterion to decide if a machine is intelligent. With this test he influenced the area of artificial intelligence a lot.

    Because of his lifetime work the year 2012, the year of his one hundred´s birthday, has been declared as the Alan Turing Year. Many conferences as well as exhibitions, competitions and other events around the world are organized during this year (see the link above).

    Also SAP Software and its ecosystem are based on the work of Alan Turing. In my opinion we should think about in which way we can honour this great scientist and man during the coming SAP events and activities in 2012.

    What else can we do? Here are some suggestions:

    • Start telling people about it
    • Put the official ATY-Logo on your slides, hompages, papers or what so ever
    • Name a project, a room or a street in honor of him
    • Start a project, write a blog or article which deals with the subjects of his work
    • Dedicate a piece of software to him (something substantial please, not just a subroutine).

    image

  • First 2012 Meeting of the SAP Network Group Hamburg, Germany - When will you start your group?

    Yesterday the first meeting of the SAP Network Group Hamburg, Germany took place. The aim of the group is to establish an exchange of experiences about  SAP technology, trends, projects, customers and companies in the  metropolis region of Hamburg, Germany.

    Alstership Galatea

    10 consultants and SAP customers came to the meeting, which took place on the Alstership Galatea. We had a really good time...

    SAP Network Group Meeting

    It all stared when René Eberstein founded the group in 2008 as a XING group. Right now we are four moderators (René Eberstein, Thomas Klimmek, Dirk Martin and Peter Langner) and we are having 348 group menbers. Every meeting is different from the other. Sometimes we are having a special topic somebody is presenting. Other meetings we are just getting to know each other.

    I love this meetings, because everytime different people are attending it. And everytime I get to know something interesting about SAP technology or ongoing SAP projects in my region.

    Have you ever thought of starting such a group in your town? If not, now is the time to do it! Via Social Networks like XING or LinkedIn you can easly find people in your neigbourhood which are also in the SAP business. Contact them and invite them to a pub, your office or any other suitable place.

Kontaktdaten

Peter Langner
Kattjahren 8
22359 Hamburg

Vanity +49 0700 ADVENTAS
Telefon +49 (40) 60 55 94 01
Fax +49 (40) 60 55 94 00
Mobil +49 (151) 12 21 48 67
Mail Kontaktseite

Anmelden