1 2 Previous Next

john.astill

24 Posts

The schedule for SAP Inside Track Washington DC is now available .

If you are attending please remember to bring photo ID with you as the Ronald Reagan Building is a Federal Building and has airport style security.

 Constitution RoomIndependence Room
9.00-9.50 am  
10.00-10.50 am

C02: David Chambers (SAP)
A discussion on SAP Carbon Impact as an evolving product.  In its  current form it is a Flex based application on the River Platform.     We are currently developing a new version using HTML 5 with SAPUI  5/Phoenix also running on the River Platform.  Discuss Phoenix as a  framework and its capabilities.

IN2: Denis Thomas (SAP)
SAP StreamWork -- SAP's Collaboration Foundation

SAP StreamWork is the collaboration foundation for all SAP applications.  Learn how and why the Business Intelligence Platform 4.0, SAP CRM, and  other SAP applications leverage SAP StreamWork to engage employees and  other stakeholders.
11.00-11.50 amC03: Tammy Powlas (Fairfax Water)
Crystal Reports 2011 against ERP Tips and Tricks  - what should you  consider when using Crystal against ERP for reporting?  Learn what comes  with Enhancement Package 5 with Crystal Reports in ERP reporting.

IN3: Tridip Chakraborthy (Cognizant Technology Solutions)/Rebecca Hughes (SAP)
Where is SAP Procurement Heading

12.00-1.00 pmLunch 
1.00-1.50 pmC04: Rich Heilman (SAP)
What's New in SAP BusinessObjects Planning & Consolidation 10.0, version for SAP NetWeaver

This session will provide a high level overview of the new features in  SBOP PC 10.0 NW.  Learn about the technical architecture and  installation procedures.  Learn about the new web client which provides a  rich set of tools for configuration, and reporting.  Lastly, learn  about the new EPM Add-In for Excel tool and how it can be used to  interactive with the SBOP PC 10.0 NW system.
IN4: Gaurav Salkar (SAP)
Title: HTML5 in Enterprise Mobility.
This session will provide an overview of the HTML5 technology and how it  is currently placed in the enterprise world. We'll take a deep dive  into the new HTML5 features suported by the modern web browsers that run  on Mobile Operating Systems. The session will also talk about SAP's  involvement in HTML5 based technologies and the various development  tools that are actively being used in the industry.
2.00-2.50 pmC05: Tammy Powlas (Fairfax Water)
Learn about BusinessObjects Analysis MS Edition for Office, 1.2, and how  to report against HANA, ERP, Solution Manager and BW using Excel.

IN5: Greg Myers

3.00-3.50 pmC06: Derek Loranca (AETNA)/Tammy Powlas (Fairfax Water)
Trends in BI 4.x / Crystal Reports 2011/BusinessObjects Analysis  Reporting...learn about how to use the tutorials for FREE on the SAP  Community Network.
IN6:
   

Welcome

Come join us on Friday December 2nd at the inaugural SAP Inside Track Washington DC.

Located in the stunning Ronald Reagan building in downtown Washington DC join other community members and be entertained by vibrant presentations and discussions on Sustainability, HTML5, Mobility, analytics and other yet to be determined topics.

Do you have a topic that you would like to present? Then please sign enter an abstract in the sign up document .

If you would like to attend either in person or remotely, then please enter your name in the attendence document .

We look forward to seeing you here.

Each year at SAP we are invited to give back to the community in the form of volunteer days. SAP is the only company I have worked for that offers this. However there is a very simple way of giving back to the community that is open to most of us. Schools in the US and UK (and I'm sure other countries too) have career days. This is an invitation from the local schools for you to talk to the students about your career and encourage them to make positive choices.

This year I presented at a local Elementary school in the suburbs of Washington DC. Most of the professionals were policemen and secret service. Of course the most popular were those that brought big toys, a real fire truck, police cars, a dump truck and handcuffs.
This of course makes it a challenge for a software engineer to engage the students. Given the other options open, I chose part of my presentation to be robocode .

Robocode is a great entry level to introduce students and children to programming. It comes with it own Java IDE that provides a framework and coding for controlling a robot in a game. Young children seem to love things with robots in them.

I explained to the 6 and 7 year olds in the room how the robot was controlled and what they needed to do to change it. I then invited them up to make changes and run the program to see if the changes they made moved the robot as expected.

Even for those of you that are not developers the code snippet below should be simple to follow:

    public void run() {
        // Initialization of the robot should be put here

        // Some color codes: blue, yellow, black, white, red, pink, brown, grey, orange...
        // Sets these colors (robot parts): body, gun, radar, bullet, scan_arc
        setColors(orange, blue, white, yellow, black);

        // Robot main loop
        while(true) {
            // Replace the next 4 lines with any behavior you would like
            ahead(100);
            turnGunRight(360);
            back(100);
            turnGunRight(360);
        }
    }

The students changed the colors and movement and got excited watching it go crazy when they executed the program they had wrote.

The biggest surprise I got was not during the day, but a few weeks later. I received an envelope with handwritten letters from the students that had liked my presentation the best. Being best obviously being a tough task when up against flashing blue lights, wailing sirens and stories about protecting the president. The majority of the letters were from girls and a few thanked me for describing my job as they now understood better what their parents did at work, but the real icing on the cake for me was "I mabey be an enganie when I grow up!" (sic).

 

Such simple things and such little time can help bring a positive influence.

KaBOOM is a non profit organization based in Washington DC that is mapping all the playgrounds in the whole of the US. Their goal is to provide a safe place to play for every child. KABOOM and the first lady work together to help create a healthy and safe environment for everyone to play. The first lady actually added a new playground with the app herself (http://kaboom.org/about_kaboom/press_room/first_lady_michelle_obama).

KaBOOM asked SAPs CSR for help in creating a mobile application to help them locate playspaces across the USA. 6 developers from SAP Labs in Washington DC volunteered. Only 2 had created mobile apps before and some went so far as buying their own macs to be involved.

The requirements for the application were at first simple, but over time the power of the native features of the mobile device allowed more and more fetures to be added.

Using the application is very simple, enter the location you want to find a playspace an go!

 

image

 

The resulting list is the known playgrounds for the location. If the playspace does not exist then please help KaBOOM find the gaps in safe play areas and add it. Adding a new playspace is simple and even lets you upload photographs.

 

image

 

image

 

Playspaces can be rated and favorited. You can even create playdates for a playspace to organize a day out with friends.

 

image

 

image

 

If you have an iPhone, please add the app, it's free and you can help provide a safe play to play. http://kaboom.org/mobile

If you are developing for an Apple device that is accessing services that return JSON data then this parser may be of use for you.

JSON (http://www.json.org/) is a prevalent data format that represents data and objects in a very simple text based format.

The parser development is still in its infancy, but is currently a fully functional JSON Parser that converts the JSON into Cocoa objects.

If you are interested in joining the development or simply using the parser then please join the following Code Exchange Project.

https://cw.sdn.sap.com/cw/groups/objective-c-json-parser

It is very simply to use right now, just copy the .m and .h files to your project and invoke the parser.

John Astill

Demo Jam Singles Club

Posted by John Astill Nov 5, 2010

Demo Jam Singles Club 

During Demo Jam at Las Vegas this year, Open Innovation Manager Craig Cmehil gave an impassioned plea for more customer submissions for Demo Jam. This is definitely something that we need and would be appreciated by almost everyone. I say "almost" because for hackers like me that also work for SAP it means it will now be more difficult for us to be Demo Jam finalists.

Not one to look at the glass half empty, this is a great opportunity for SAP Hackers to co-innovate. We now need to find a customer or partner to innovate and collaborate with. This can only be a good thing.

For those that have yet to see a Demo Jam, you can watch a recording here, you don't know what you are missing, for those yet to submit, just do it. The feeling you get after presenting your ideas to a passionate crowd is incredible.

What do we need to do to get this going? My initial thoughts are for a Demo Jam Singles Club (forum) as a central place for people to meet each other exchange ideas and then start running with them. Tools such as Code Exchange and Streamworks are already available to facilitate the collaboration on the projects we now need a mechanism to bring the people together.

So perhaps all we need now is a Demo Jam Singles Club forum.

image

Intro

Augmented Reality is a technology that is now becoming available to consumers fingertips thanks to the explosion in the use of smart phones. 
This opens up all kinds of possibilities, some useful, some not, for enhancing the camera view of handheld devices.

What is Augmented Reality 

If you have not yet encountered Augmented Reality then Timo Elliott gives a great description in his blog.

The BI prototype came too late for me to consider, I had already made the choice to use Layar.

Layar is available on both Android and iOS, so this made it a simple choice. Covering both popular platforms ensured that the implementation was not tied to any specific platform. 

Plant Maintenance Scenario 

The scenario used for the demo was "Maintenance Inspections". The service technician will collect their shop papers and perform a maintenance inspection. This can involve visual inspection of equipment and also taking readings. Any contextual information a technician would have, would have to be carried with them in printed form.

Augmenting the Scenario

The Augmented/Mobile scenario was to replicate the shop papers on the technicians mobile device. This simply required that the maintenance orders were read and then made available with any supporting information in JSON format for Layar. 

The first enhancement to the equipment/measuring point master data was to include the geo-location for each equipment. Without this, the Augmented Reality application would not be able to identify individual items.

Simply taking the technician to the equipment is useful on its own, but so much more can be provided. Contextual information unique to the measuring points can be provided. This can be in the form of images, manuals, schematic diagrams, installation instructions and min/max measurement data.

The first view show here is the augmented view. This shows the view through the camera overlaid with helpful information for the user. An image of the equipment allows the technician to verify the correct piece of equipment as they traverse the plant. The radar at the top right shows the relative location of each piece of equipment:

image

The information includes images of the device (this can be 2D or 3D), measurement information in the form of min/max values (not shown here) or the values read in the case of a piece of equipment already inspected. 

The same equipment information can be shown on a map, with images of the equipment showing to guide the technician on their rounds:

image

The list display is similar to a job card view and is a list of the tasks/equipment inspections for the technician:

image

Each piece of equipment has an associated list of actions. These actions are specific to the equipment. This is where it gets really interesting. Contextual actions make providing a lot of equipment specific information on the mobile device simple. These actions can take the form of user manuals, vendor contact details or a means to enter the measurements directly on the device and receive immediate feedback. Actions can also use native features of the mobile device, such as the camera for SMS, making calls or sending emails.

image

When entering measurements the immediate feedback can be provided such as shutdown information in the case of a critical reading.

Next Steps

This application was created as a proof of concept on how Augmented Reality can be used to improve an existing process. Maintenance seemed to be an obvious one, but I am sure that there are plenty more. It would be interested to investigate other processes.

I used PHP to provide my Plant Maintenance data to Layar after it was updated by a scheduled report running on the Plant Maintenance system. The PHP is not mandatory and could be replaced by an ABAP based approach using one of the JSON libraries that are available now, assuming the Plant Maintenance server is publicly available.

If there is enough interest I will create a project in Code Exchange to provide an extensible integration with some Augmented Reality applications. 

Demo Jam Video

You can see the Demo Jam Las Vegas presentation here: http://www.sapteched.com/usa/activities/demojam.htm

Are you up for the challenge?

SAP has created the Facebook application Home Carbon Challenge. You can see more details on it Home Carbon Challenge:compete on Facebook for the household with the lowest carbon footprint

Anyone with a Facebook account can join the challenge and see how simulated data would be affected by changes to homeowners habits.

Integrating your home

Are you more of a home hobbyist and want to see real data from your home in the challenge? There are a number of technologies that will allow you to do this. The Home energy monitoring with iPhone and Twitter on home energy monitoring gives you an idea how to monitor the electrical consumption in your home. You may want to use TED with one of the many available home hobbyist solutions. 

Currently I have my home connected to the Home Carbon Challenge. The previous blog covered the details on how I monitored my home using a TED device.

TED


The python script that reads the data from my TED device now posts data at 60 second intervals to a URL that feeds the readings into the Home Carbon Challenge.

There are a number of options available for posting the data from your TED. I have a Mac Mini running as a server, so it was easy for me to add the extra functionality. If you are more of a Linux person then you have more options available, including the possibility of attaching the TED device directly to a routers serial port and having it post the data.

http://gangliontwitch.com/ted/
http://scanwidget.livejournal.com/33045.html
http://www.energycircle.com/blog/tag/the-energy-detective-ted/

You are of course not limited to using TED devices. I would really like to see users of other devices also integrate their homes. 

Posting your data to the Home Carbon Challenge is a simple authenticated URL call, if you would like to participate and connect your home monitoring to our solution please contact me via  mailto:john.astill@sap.com and I will help you setup your connection.

Looking at this from the standpoint of a howeowner and not a utilities company I was trying to find a way to monitor and analyze the energy use in my home without relying on my providers bills.

So now I can check the current consumption via my iPhone or via a Web Page. The iPhone is best viewed on an iPhone/iPod Touch.

 iPhone

 

Once you have easily accessible information it is very enlightening. The cost of appliances in my home definitely did not reflect what I had expected. In fact 5 computers, a TV, PS3, FIOS receiver, 2 fridge freezers and a bunch of lights turns out to cosume less than half the energy of boiling an electric kettle.

The graph of results shows makes interesting reading. Peaks represent appliances such as the tumble dryer and washing machine. It definitely makes you think about being more efficient with the heavy duty appliances.

Technical Details

My first thoughts were to get an old electricity meter and add a STAMP module to it, however there are far simpler ways to do this. You can buy off the shelf units such as The Energy Detective.

There are also project options available that can work out a lot cheaper. The Adafruit Tweet a kit is a modification to the Kill a Watt meter that will tweet for individual appliances in your home.

I bought an energy detective. This requires the sender unit to be wired into your home with the circuit breaker. A remote unit then reads the signal embedded in the power supply and displays power consumption and voltage on a convenient unit. The unit has an USB port that you can connect to a windows machine and use the corresponding software to monitor your usage.

My initial goal was to take those readings and make them available on my iPhone. However once the link from the meter to the server was made it opened all sorts of opportunities.

The meter is read using a python script running on a Mac Mini (scanwidget). The script periodically reads the data via the USB port and posts it to a publicly available server via a PHP script. The readings are stored in a mysql database. The same time the readings are stored, any increase in the peak daily KW usage is tweeted.

The same server hosts

  • A web page showing some latest readings and current reading with some flash based UI
  • An iPhone Web Application

Other links

Once I was almost complete obviously then it was when I found out there are other initiatives ongoing for consumers to monitor their energy usage.

HomeCamp
Google PowerMeter

During this years SAP Developers Challenge (http://www.sdn.sap.com/irj/sdn/wiki) Team Insomnia created a solution to provide tracking of an individuals carbon footbprint. The solution integrated SAP Transportation module, an online shopping cart and Facebook 

For this blog I will cover only the Facebook application as it has received a lot of interest. 

You can see Team Insomnias presentation on you tube (http://www.youtube.com/watch?v=mpEtRvFjqfQ) .

When running the application in Facebook the user can see an instant summary of their current footprint along with their friends footprints. This provides a view not only of the users environmental impact, but also allows competition between friends.

The carbon footprint here can be offset by selecting an amount and then making a purchase through a 3rd party site. The purchase can be made by the user, or as a gift from a friend, as can be seen in the screnshot below.

 Carbon Footprint Summary

In the right hand column your friends (Facebook friends) carbon footprints are displayed. You can navigate to your friends detailed view from here.

Other tabs (in the flash object created with Xcelsius) show details of the individuals consumption.

 Emissions

Or a history of consumption and footprint.

History 

By decoupling the facebook application from the shopping cart we have a standalone application that let's user manually track their carbon footprint. There are already existing tools that allow carbon costs of flights and other items to be calculated so that the values can be entered.

There are many ways that this can be enhanced by integrating with other applications that allow tracking of carbon footprint. In an ideal world this would all update automatically, or perhaps more accurately, in an ideal world the problem would not exist.

If you need help installing the SAP Widget Tools or creating a Widget then I am hosting a hands on session at Community Day Las Vegas. Please come by and visit.

If you are not at Community Day and would still like some help then please ping me and we can book some time in the Networking Lounge at the Community Clubhouse. If you don't find me wandering around the clubhouse you can reach me via email.

 If you do not already have the tools then you can download them from here:

http://www.sdn.sap.com/irj/sdn/widget-foundation

You can get some background information from the existing blogs and guides :
Getting Started on SAP Enterprise Widgets

For guides including videos on how to create a widget from scratch please see here:
http://www.sdn.sap.com/irj/sdn/widget-foundation .

John Astill

SDN in the car

Posted by John Astill Feb 1, 2007
After spending an evening troubleshooting podcasts on the Mac they followed me home.

The picture is of my car stereo, the iPod was hooked up and whilst driving home SDN jumped into the currenlty playing artist.

image

SDN is with you now no matter where you go.

John Astill

Yahoo Widget for ST22

Posted by John Astill Dec 18, 2006
This weblog builds on the ST22 and scripting weblog created by The specified item was not found.. The PHP scripting front end with RFC connection is replaced with a Widget using web services.

The widget is a modified version of the TechEd Schedule widget (thanks to Sebastian Steinhauer and Stefan Huettenrauch).

Widget UI

image

Configuration

image

There are 5 config parameters.
Username
This is the username for authentication on the server.
Password
This is the password for authentication on the server.
Host
The ABAP host. This should not include the protocol.
Port
The port on the server for the service
Service
The path of the service, this should be "/sap/bc/soap/rfc". Ideally I should have hard coded this.

Download

The widget can be downloaded from here

ABAP Coding

The code is almost the same as that provided by Alvaro. The only changes are a sort call, a change on the select params and a try catch to catch errors I occasionally got on the backend. The function module must be remote enabled.

Development Environment

Usually when developing a widget that accesses a Web Service I use another widget that lets me test Soap Requests and monitor the response with TCPDUMP. Unfortunately that widget runs on my Mac that has no SAP access right now. I had to find a way to view the SOAP headers. Some of the other tools I use are Scripting in a box and the SAP Scripting tool (Eclipse add in). Using the PHP generated from the scripting tool I added the following line:


Request Headers
'.htmlspecialchars($client->__getLastRequestHeaders(), ENT_QUOTES); 

This allowed me to see the headers without having to use the Mac.

Possible Enhancements

Being able to lauch directly into ST22 would be nice, as would wrapping the text on the display.

Another problem is that I am being challenged for credentials on a PC, but not a Mac. Hopefully I can figure this one out.

The following will show a simple way for you to use Argo to search for text in ABAP reports and classes. The search looks in TRDIR to find matching reports and then searches the text for the given search string.


Service Definition




The first step is to create a function module to perform the actual search.


Remote enable the function module and create the following parameters:

Input



The two import parameters needed are shown in the image below. IV_STRING contains the text to be searched for, IV_REP contains the filter information for the reports to be searched. Passing Z would restrict the search to only TRDIR entries starting with Z. An important note here is that probably want to filter your reports all the time. If you don't then every report is searched and it is likely that you will get timeouts due to the large volume of entries.

image

 

Output



The output is a table of the TRDIR entry and the line of text from the report. This is achieved by creating a structure that includes TRDIR and one more entry LV_LINE of predefined type STRING. A table type is then created for this structure.

image


image


Function Module Source Code




FUNCTION ZJA_GREP2.

*"----


""Local Interface:

*"  IMPORTING

*"     VALUE(IV_STRING) TYPE  STRING

*"     VALUE(IV_REP) TYPE  STRING

*"  EXPORTING

*"     VALUE(ET_RESULTS) TYPE  ZJTT_GREP

*"----


  DATA: lt_trdir TYPE STANDARD TABLE OF trdir,

        ls_trdir TYPE trdir,

        lt_text TYPE STANDARD TABLE OF string,

        lv_text TYPE string,

        lv_repname TYPE string,

        lv_line TYPE STRING,

        ls_results TYPE zjs_grep.

 

  FIELD-SYMBOLS  TYPE string.

 

" Simple check so that not everything is returned.

  IF iv_string IS INITIAL AND iv_rep IS INITIAL.

    RETURN.

  ENDIF.

 

  • Check the report string

  IF NOT iv_rep CS '%'.

    CONCATENATE iv_rep '%' INTO lv_repname.

  ELSE.

    lv_repname = iv_rep.

  ENDIF.

  TRANSLATE lv_repname TO UPPER CASE.

 

  lv_text = iv_string.

 

  • Get the report names.

  SELECT * FROM trdir INTO TABLE lt_trdir WHERE name LIKE lv_repname.

 

  IF sy-subrc EQ 0.

    TRANSLATE lv_repname TO UPPER CASE.

    lv_text = iv_string.

 

  • Get the report names.

    SELECT * FROM trdir INTO TABLE lt_trdir WHERE name LIKE lv_repname .

 

    IF sy-subrc EQ 0.

      LOOP AT lt_trdir INTO ls_trdir.

  • Now read the report and search the text.

        READ REPORT ls_trdir-name INTO lt_text.

 

        LOOP AT lt_text ASSIGNING

image

 

 

Create new Argo object with the Argo Web Service Wizard shows how to create a connector for a web service in Argo. For this example I used the name and lv_line parameters from the results list. The name identifies the report, lv_line contains the text from the report.


Results




Now that you are fully configured you should be able to run your search. I gave my connector the name "grep". If I want to execute a search using my connector I would use "grep if_model" to search for the text if_model in the reports.

 

Web Page Results

 

image

 

Widget Results

 

image


Next Steps




This was only a demo on how to get started, there is lots of room for improvement. For starters the search is very simple, pass text and a report filter. It does not cover wild card searches etc.


Another improvement could be a link to allow the report to be displayed by clicking on the results.

 

If there is sufficient interest I can take this example to the next step.

 

 

This is a simple widget that uses SOAP to access the RFC TH_USER_LIST. This accesses the server directly using SOAP and does not require an intermediate BSP (or similar) page.

The resultant user list is displayed, selecting a user will display more details in the details window.

image

In the configuration it is possible to set the system endpoint and authentication data. The path and SoapAction are the same across systems.

Config

The UI is modelled on the SAP Argo Widget.

The widget can be downloaded here

Filter Blog

By date: