I saw this Blog post on the SAP experts site http://sapexperts.wispubs.com/IT/IT-Blog/2012/May/Today-in-SAP-529 and had to comment.  John Wookey has been getting a boatload of press from some of his comments on SAP (and Oracle) related to the Cloud and thought he needed to be set straight.  I respect John and did a lot of analysis on the Cloud for him back when he was here, but my opinion is that his direction is skewed a bit.

 

 

What is wrong with buying your way to the top of the Cloud?  Growing a Cloud based business takes time – look how long it took Salesforce.com to get to $3billion in revenue (10+ years).  With the Cloud, time is critical and obviously, SAP saw that the time is now.

 

 

Time to set the record straight - SAP is not transitioning its entire business model to the Cloud.  On premise software is not going away any time soon (see the post from Gartner) http://blogs.gartner.com/robert-desisto/2012/05/25/death-of-on-premises-vendors-greatly-exaggerated/  Hybrid (on premise + Cloud) might be the way for the next 2, 3, 4 years.  Large companies are not prepared to rip and replace their on premise ERP systems……yet.   

 

 

John Wookey has made some comments over the past few days suggesting that SAP cannot make the transition to the Cloud which I would take exception to.  SAP is acquiring to "get in the game" but if you believe that customers will embrace a "hybrid" model, then how can you argue against the acquisition of SuccessFactors and Ariba?  The injection of additional 'Cloud' DNA into SAP is a good thing and under Lars’ leadership the best is yet to come.

 

 

Perhaps the "real" issue is integration between Cloud and On Premise apps. There is plenty of opportunity here for services companies with the right tools to act as the plumbers.  Look for offerings/partnerships/arrangement with companies like Accenture, Dell (Boomi) and Informatica.

 

 

SAP Business ByDesign is getting traction, SAP Sales OnDemand, SAP Travel OnDemand, and SAP Sourcing OnDemand are relatively new offerings that many customers have embraced (just take a look at some of the Cloud based customer discussions at the recent Sapphire event in Orlando.
http://www.sapvirtualevents.com/sapphirenow/sessiondetails.aspx?sId=2258) .

 

 

There is still plenty of time to get into the Cloud and SAP's diverse customer base provides an advantage as it accelerates into the Cloud.

In this extremely lengthy post, I will show you how to extend a Business Object in ByDesign, then mass load data to the extended fields. I've heard this requested by many customers, and many times it involves creating an extension field post-implementation, and not being able to mass load data to the new field. In this case I chose to use the Customer BO to extend and load stuff too, but you could go with whatever other BO is available to you.

 

Note that this was done in the FP3.5 ByD Studio and though it seems lengthy this whole deal really only takes about 10 minutes. Another key thing to mention here is that for a customer to use this, they would need to engage a partner or SAP via the customer one-off process. HOWEVER, this process could also be made to be generic, and sold in the SAP Store (bu don't try it, because it's my idea).

 

Anyway, I've had to separate this into two posts because I've tried to be as thorough as possible in this tutorial, and for some reason the SCN places some limits on blog size or length.

 

Pause.

 

Deep breath.

 

Here we go:

 

Create a new solution. I’d go with a global solution so you can enable yourself as a key user in case you want to adapt any UI stuff. In this case I’m using the Foundation Deployment Unit because that’s where the Business Partner objects (Customer, Supplier, etc.) hang out.

 

 

Go ahead and Enable Key User for good measure.

 

 

Next create an extension to the Customer BO, so you can add those fields you forgot to initially migrate.

 

 

 

Now add those fields to the BO extension. Remember that extension fields are limited to a short list of data types, so don’t get any ideas of adding something too fancy.

 

 

Here's the BO extension code:

 

import AP.Common.GDT;

import AP.FO.BusinessPartner.Global;

 

[Extension] businessobject AP.FO.BusinessPartner.Global:Customer {

 

              node Common {

 

              element SomeText:Text;

              element SomeAmount:Amount;

              element SomeQuantity:Quantity;

              element SomeDate:Date;

 

           }

}

 

Now create a new BO that you’ll use for staging all the data you want to mass load to your Customers.

 

 

Again, here’s the code

 

import AP.Common.GDT as apCommonGDT;

 

businessobject ExtensionFieldStaging {

 

              [AlternativeKey] element CustomerID:BusinessPartnerInternalID;

              element SomeText:Text;

              element SomeAmount:Amount;

              element SomeQuantity:Quantity;

              element SomeDate:Date;

 

}

 

Create an AfterModify script for the staging BO. Why? Because when we load stuff to the BO, it’s modified, so it will populate your Customer extension fields after it’s modified.

 

 

 

The AfterModify script finds the customers in our staging table then populates the extension fields on the customer BO. Here’s the script:

 

import ABSL;

import AP.FO.BusinessPartner.Global;

 

var query_customer;

var query_customer_selparam;

var query_customer_result;

var customer;

 

// Get customers in staging

query_customer = Customer.QueryByIdentification;

query_customer_selparam = query_customer.CreateSelectionParams();

query_customer_selparam.Add(query_customer.InternalID , "I", "EQ", this.CustomerID);

query_customer_result = query_customer.Execute(query_customer_selparam);

 

// Set extension field values for each Customer identified

foreach (customer in query_customer_result) {

               customer.CurrentCommon.SomeText = this.SomeText.content;

               customer.CurrentCommon.SomeAmount = this.SomeAmount;

               customer.CurrentCommon.SomeQuantity = this.SomeQuantity;

               customer.CurrentCommon.SomeDate = this.SomeDate;

              }

 

Now we want to create a Service Integration to load up our staging BO.

 

 

XML File Input is the easiest way to load the staging BO, so let’s go with that!

 

 

Select our staging table for XML input (duh).

 

 

The next step is the one to pay attention to. First, make sure to check List Mass Processing, unless you want to load stuff one at a time. Then select all the fields in the staging BO, and identify each instance by Customer ID as shown below.

 

 

Finish!

 

 

Activate the Service Integration, then save the generated .xsd file somewhere convenient, such as a folder on your Desktop.

 

 

 

Look, it’s saved!

 

And now, because the SCN won't let me use any more images in this post, I'll have to continue to part 2.

This is a continuation of Part 1, here.

 

So far we have:

  • Created a Global Solution in the FP3.5 Studio
  • Enabled Key User
  • Created an extension to the Customer BO and added some extension fields
  • Created a new BO with Customer ID, and the extension fields to serve as a staging table
  • Added an AfterModify script to the staging BO that will move the staged data to the Customer BO
  • Created a XML File Upload Service Integration to load data to the staging BO, activated it, and downloaded the .xsd file that is generated upon activation

 

Let's finish this thing up!

 

Open up Excel and in your Developer tab click Source and add that .xsd file.

 

 

Now that you have the XML structure in place, you must, and I mean MUST, do two things.

 

The first is to drag the CreationDateTime element to the top of the Excel file as you see below. I don’t know why, but you’ve got to populate the date to look like this: 2012-05-25T12:00:00.000Z. Weird!

 

 

The second thing you MUST do is drag the entire List of your BO’s elements into the Excel sheet. Don’t ask me why. JUST DO IT, OK?

 

 

Now you can delete the columns no one cares about. (BTW, the default value for actionCode is Save, so that’s why you don’t need it in this case)

 

 

Now populate your spreadsheet with the stuff you intended to migrate during your implementation, but sadly forgot to.

 

 

In the Developer tab, export the XML to somewhere.

 


 

Then go to Application and User Management, and choose the File Input view. Select Unprocessed Files in the OWL. Upload that XML document and specify the Service Interface we tossed together earlier.

 

 

Next, create a Run for this Service Interface in the Active Runs OWL. Save it. Activate it. Close it. Schedule it to run immediately. Monitor the process and notice that it has completed successfully. Love it when that happens.

 

 

After all that, you need to enhance the Customer screen to show your extension fields.

 

 

Choose the item checked below. It's the standard ByD Account screen. Trust me on this one.

 

 

Select the Details pane, then add the extension fields!

 

 

Save and activate the UI. We’re almost done! After that, go into Account Management and select Edit > General for any of our staged customer.

 

 

WHOA! Look at the details pane! It’s got our fields, populated with the data we entered!

 

 

This is just one example of a post-implementation mass data load. There are possibilities for many more.

 

In order to see the results in reports, you would need to create a new Data Source on the Customer BO extension, then go into Business Analytics and join it to an Account Data Source. I may cover this in a follow-up post, but for now, rest assured your extension fields contain data.

 

Imagine creating extension fields as a Key User, then having to manually enter data into thousands of screens. I'm pretty sure the solution here is far superior.

 

Should you have questions or need help with with a similar situation, leave comments, email me at jwickham@bramasol.com and/or follow me on twitter @JudsonOnDemand.

 

Have a great long weekend!

Judson Wickham

My Journey, by Design

Posted by Judson Wickham May 11, 2012

journey.jpg

Way back in 2008 I was a PeopleSoft consultant, and somewhat of an expert in all its financials and ‘multi’ functionality; multi-ledger, multi-GAAP, multi-company, multi-book, and on and on. Of course this meant that my skills were in demand for all sorts of global companies, which meant one thing: travel. Constant domestic and international travel.

 

I needed a change.


So I logged onto Dice looking for a cozy Business Systems Analyst job in a single location. I found one very interesting job in LA that was looking to hire someone to implement their ERP system; something called ‘Business ByDesign.’


I did my research and what I saw was a fully integrated, highly functional product that’s delivered in weeks instead of years. I was sold from the start. So I went to LA, nailed the interviews, and figured an offer would be on the way shortly.

 

That’s not quite how it turned out.

 

The company had to go through the proper due diligence, get executive alignment, and find the budget. Oh, and I forgot to mention, this company was a start-up (the current king of froyo, Pinkberry, which I proudly own a piece of). It looked like that offer wasn’t coming any time soon.


Long story short, I took one last PeopleSoft gig in (gasp) Buffalo, NY.

snow-in-buffalo04.jpg

Arriving in the dead of winter, I went to work at HSBC Bank. It was a solid 9-5 gig with a 5 minute commute. But it was still in Buffalo (I’m from San Diego), so when I got a call from that start-up offering me the job I’d interviewed for eight months earlier, I said hell yes.


So I started work at Pinkberry, and this is where my love affair with ByDesign began. I was the project manager on the customer side (the best they’d ever seen according to the SAP leadership), and I really got into the work. So much so that migrating from at least four legacy systems, we implemented CRM, Financials, HCM, and a little SCM in just under 11 weeks.

 

That scope would take 11 years in the PeopleSoft world.

 

And the best part was, I could implement as much additional scope as I wanted. That’s like puting a kid in a candy store and telling him to take as much as he wants for five cents. My proudest moment was integrating ByDesign with our payroll provider, making the accounting staff grin wildly every other Friday. SAP even filmed us for their Run Better campaign.

 

 

That’s not to say there weren’t issues. I was on the phone with our Account Manager and ByDesign Support way more than I wanted to be, and at the strangest hours, day and night. Quite frankly, when there were system issues it was personally embarrassing for me, since Pinkberry basically equated me with SAP Business ByDesign.

 

But I never lost faith. I could see the vision. I could almost feel the vision.I did many interviews and podcasts with such characters as Jon Reed and Dennis Howlett.

 

I attended the last two SAPPHIREs (come visit me at the Bramasol pod, 3127a this time around), and my gut instinct was confirmed. When I saw FP2.5 and the ByDesign Studio I almost cried. (Unfortunately, as a customer, I couldn’t get my hands on the Studio, which I complained about very publicly. Just ask Mr. Christian Happel.)


It was at this point that I knew I would be a ByDesign consultant someday. I spent time discussing various partners with various people, including a man I consider a personal mentor, Sina Moatamed. I followed every piece of news and browsed every job site waiting for the market to offer me an opportunity. I took my time, never applying for any openings I saw.


It turns out, I didn’t have to. I alerted the SAP team that I wanted to work for a partner and they recommended me to several. After many flights, business dinners, and interviews, I got an offer from Bramasol and took it. Bramasol, like me, saw huge potential in ByDesign and they just got the vision.

 

And now I’m where I want to be. I live in San Diego, work wherever I want, and do ByDesign all day long. We’ve got a long way to go with ByDesign and SAP, but that vision continues to unfold. Next week at SAPPHIRE will be very interesting indeed.

 

And that’s my journey, by design.

 

(Follow me on twitter and/or visit me at SAPPHIRE)

asug.jpg

Authors: Christian Happel, Director of Product Management, SAP Business ByDesign

and Puja Sampat, Sr. Client Services Manager, Park Com

 

Open Cloud Solutions

 

SAP cloud solutions are open, flexible and easily extendable.  Business ByDesign is a comprehensive cloud business suite, spanning all lines of business: Financial Management, Human Resources, Project Management, Supplier Relationship, Supply Chain and Customer Relationship Management.  It provides a complete, seamless integration with existing on-premise systems and data.  In addition, ByDesign allows you to extend it with applications tailored to fit a kaleidoscope of unique business needs.

 

ByDesign is created on an open platform that facilitates easy integration of external applications to generate value-adding business solutions. The open and flexible platform allows partners to customize solutions in a number of ways:

  • Mashups: Partners can integrate desired features at screen level. Existing HTML-web-pages can be added as a mashup. Fields from the UI can be used as parameters. In addition data can be consumed via webservices and displayed as a mashup. These mashups are normally hosted at the partner server but it's also possible to write HTML code directly in ByDesign.
  • Software Development Kit:Partners can use an SDK to build their own native applications into ByDesign. This starts with simple screen enhancements or completely new solutions crossing multiple work centers and integrating with existing ByDesign functionality. These add-ons will be hosted by SAP. 
  • Integrated Solutions: Everyone has the ability to extend their ByDesign solution by connecting applications to ByDesign using webservices/APIs regardless of how and where these applications were created. Integrations entail defined interfaces, are open to any platform, and can be hosted on any server. 

 

In this article, we will focus on the extension of ByDesign via webservices, by showcasing a terrific example: the SnapEngage/ ByDesign integration.  SnapEngage was built on the very popular Google App Engine, thus the partnership nicely demonstrates how Business ByDesign can be extended with functionality of any solution regardless of platform.

 

Case study: The SnapEngage / SAP Business ByDesign Integration

 

SnapEngage is a live chat solution: A chat function incorporated in customer-facing web fronts such as a website, online store or Facebook page. It enables customers and prospects to engage directly with customer service agents through live chat sessions, and is currently installed in more than 2,000 websites.


SnapEngage was integrated with Business ByDesign to address two needs:

The first relates to sales, and handles leads; while the other is a support solution dealing with service requests.  Once a chat is initiated on a website, a service agent responds via Google Talk or SnapEngage’s own web chat client. At the start of the session, SnapEngage pulls content rich information from Business ByDesign.  At the end of the session, chat transcripts are automatically sent to ByDesign and create a lead or a service request for each visitor, and populate it with comprehensive content and communication history.

 

The customer data tie-in provides valuable insights to SnapEngage, and there are plans to take this solution to the next level. Future plans include integrating additional SAP cloud solutions such as Sales OnDemand, and generating advanced / customized information such as geo-location and mapping features.

 

SnapEngage was identified as the perfect partner for Business ByDesign as it provided a great customer fit with a shared target customer base of mid-sized companies. With its listing on the SAP store SnapEngage on the other hand is able to extend their market reach and functionality to SAP’s eco-system of cloud based customers. Integrated solutions channeling through the SAP store (https://store.sap.com/) are deployed instantly and seamlessly. SnapEngage was in fact the 100th solution added to the SAP store. 

 

More on the SAP Store

 

This is just one example of how applications can be integrated into ByDesign to create new solutions, but it would be equally straightforward to integrate other apps built on the Google App Engine (or any other third party platform). Other examples of solutions from the SAP Store that integrate with ByDesign despite being built on completely independent platforms are coming from partners such as Hybris (an e-shop solution), Paymetric (a payment processing and credit card authorization solution), Cameleon (a Sales Configurator), and Trias or Navigator (both eCommerce hubs for integrating with Amazon or Magento).

 

Happy chatting ;-)

 

Filter Blog

By author:
By date:
By tag: