What Makes a Great ISV Enablement Partner?

DataXstream is a company that specializes in SAP and most readers of this blog are SAP professionals.  So, I have some shocking news for you–news SAP doesn’t want you to know.  Are you sitting down?  Good.

SAP isn’t the only software vendor out there!!

Shocking, I know.  But there are other software platforms than NetWeaver; software languages other than ABAP and Java; and there was a time in the not-too-distant past where the center of the SAP universe, HANA, didn’t even exist!

While you are coming to terms that SAP is not the be-all and end-all, I would like to point out that no modern software system exists in a vacuum.  Because of this fact, attention has to be paid to how software systems interact with each other.  There is a seemingly endless supply of enterprise software solutions that supplement existing functionality, introduce new functionality, improve the user-experience, and, in general, bring value to the enterprise.  SAP’s predominance in the enterprise software market means that it these new enterprise software solutions need to interact with SAP–either getting data from SAP or sending data to SAP (or both).

But, SAP is not an easy software system with which to integrate.  The depth of SAP product offerings and modules make learning how to properly merge SAP functionality with an external software system difficult.  SAP NetWeaver is not known as a particular open or easy-to-access platform.  And while I personally laud SAP for their decision to enforce proper multi-tier data access restrictions (i.e. no direct read/write database access), this decision makes the SAP learning curve especially steep.

Many software companies desiring to integrate their software solution with SAP choose an independent software vendor enablement partner.  So, what makes a great ISV enablement partner?

  • Functional Expertise: In order to make the most of an integrated software solution, you must understand the needs of the business user.  Once these needs are understood, you need to transfer these requirements into software functional units of work.  Finally, an end-to-end workstream is defined across all participant software systems that will deliver the required functionality to your customers.
  • Technical Expertise: The best end-to-end workstream definition is only as good as the framework upon which the integration executes.  A great ISV enablement partner understands all of the technical aspects of SAP NetWeaver integration and development.  They will use this expertise to design and implement a solid, robust, scalable technical integration solution.
  • Go-To-Market Experience: Once the solution has been designed and built, it will need to be made available to the market.  A great go-to-market strategy involves market analysis, promotion, and working with the SAP ecosystem including SAP partnerships and certification.
  • Technical Sales and Marketing Support: Even the best software solutions don’t sell themselves.  Your ISV enablement partner should be there throughout the customer sales process to answer any questions and remove any barriers to sale.
  • Flexible Partnering Agreements: A great ISV enablement partner will work with you to craft a partnership agreement that benefits all parties while giving your customer’s the world-class solutions and support that they need.

DataXstream has been a leader in SAP ISV partner enablement since 2005 and has assisted dozens of software companies successfully enter the SAP market. Contact us today, to find out how we can unlock the SAP world for you!

What Makes a Great SAP Integration Partner?

An SAP integration specialist’s responsibilities are to design and implement a robust, extensible solution that uses the appropriate standards and technologies to guarantee ACID programming guidelines (Atomicity, Consistency, Isolation, Durability) while leveraging the available programming interfaces to the best of their capabilities.  This may sound like a daunting task.  That’s because it is.  Integration is a very complex, specialized areas of expertise in the SAP ecosystem.

A great SAP Integration Partner will offer individuals that design and build integration solutions that adhere to the following concepts:

  • Robust – A good integration solution can recover from data and/or transmission errors. A truly robust solution should automatically attempt reprocessing where appropriate and, barring automatic processing, alerts the support personnel to the exception with context-specific data to assist in the exception resolution.
  • Extensible – Change is constant in the world of business.  A good integration solution is able to rapidly adapt to changes in process, requirements, and/or functionality.  More often than not, the individual that initially implemented the integration solution is not available to make the changes.  A combination of good design, process and procedure adherence, and documentation lowers the total cost of ownership for the integration solution.
  • Standards – Good integration partners understand standards, how they should be applied as well as their strengths and weaknesses.  Integration solutions that conform to standards are usually more robust and extensible, and therefore easier and cheaper to support, than their custom counterparts.
  • Atomicity – Robust integration solutions require atomic actions.  That means if one part of the transaction fails, the whole transaction fails.
  • Consistency – A consistent integration solution leverages the application programming interface to ensure that all business rules and processing logic are applied to the data prior to posting it to the database.  It is also important that data created via the integration solution passes the same validation and business rules as data created via the user interface.
  • Isolation – Great SAP integration partners understand how transaction isolation can greatly impact overall system performance.  Providing isolation means concurrent execution of data transactions results in a system state that would be obtained if transactions were executed serially–or in other words the interface can be executed in parallel, and therefore, take advantage of SAP NetWeaver parallel processing.
  • Durability – A durable integration solution is not affected by errors outside of the transaction–whether these errors be related to environment (power, network, database, etc.), data (business rules, missing data, incomplete data, etc.) or other factors.
  • Programming Interfaces (APIs) – A great SAP integration partner understands available programming interfaces and standards, their relative strengths and weaknesses, and how they interact with other components of the application.  Not all APIs are created equal and a great SAP integration partner will choose the API best suited for the integration solution.

DataXstream solution architects and integration specialists are trained in every one of these aspects and have the experience necessary to ensure every integration solution is a great one.

SAP Information Interchange OnDemand: Why Your System Integrator Matters

This post is third in a series on SAP Information Interchange OnDemand (SAP IIOD).  The first post covered why SAP IIOD’s model is a better solution than your existing EDI solution.  My previous post covered the steps involved in an SAP IIOD implementation.  In this post, I will explain why it is important to have a qualified system integrator working with you on your SAP IIOD implementation project.

I’m going to be candid with you, dear reader, and give you a peek behind the curtain that ordinarily hides my blog-writing process.  You see, originally this post was going to be entitled, Why First-Mile Integration Matters.  I was going to discuss how the SAP Business Network brought a lot of stability to the EDI on-boarding process because they were experts at what they do (i.e. B2B communications is all they do).  From a macro-economic standpoint, it was a perfect case of specialization. Finally, I was going to postulate that the same logic regarding specialization should apply to the team performing the first-mile integration.  This last part was going to be where I snuck in a sell of DataXstream’s SAP IIOD First Mile Integration Services.  Pretty great idea, right?

[Read more...]

What Does a Successful SAP IIOD Implementation Entail?

In my last post, I discussed how SAP’s planned incorporation of recent acquisitions (Crossgate and Ariba) into the SAP Business Network offers a logical advancement in B2B communications. The SAP Information Interchange OnDemand (IIOD) integration model improves on the familiar point-to-point topology by pushing customer-specific logic to inside the business network (aka the “cloud”). Doing this simplifies the integration that any one company using the SAP Business Network needs to maintain.

Chances are, however, that your organization already has a significant investment in your existing B2B communication strategy. Even if you are new to B2B communication, an SAP IIOD implementation is still an implementation project, including all the normal responsibilities, risks, and (hopefully) rewards. SAP Business Network’s value lies in its ability to simplify the on-boarding of new business partners while streamlining the maintenance of your existing B2B network, but that doesn’t mean it is easy (or free) to implement.

While most I’ve encountered understand that there is no such thing as a free lunch, I’ve found there to be much misunderstanding as to what is even on the menu. I will attempt to explain an SAP IIOD project, its deliverables, and provide roles and responsibilities for the parties involved.

(null)

SAP Information Interchange OnDemand (IIOD) – A Primer

It can be said that in the SAP ecosystem, 2012 was the year of HANA.  You couldn’t turn around without being inundated with SAP’s in-memory computing full-court press. SAP has also been touting big data, mobility, and cloud solutions as well.  Clearly SAP is focusing on new, cutting-edge technology in each of these areas.  While much ink has been spilled writing about these technologies, it should be pointed out that you cannot ignore your current technological infrastructure.  For many organizations, this infrastructure includes business-to-business (B2B) communications.

In 2012, SAP acquired two companies steeped in B2B communications, Crossgate and Ariba.  These two recent acquisitions give SAP the opportunity to greatly change the face of B2B communications by combining their respective offerings under the SAP Business Network umbrella.  This blog entry is the first in a series that will explain the SAP Business Network, the SAP Information Interchange OnDemand (IIOD) managed service and how to take full advantage of its differences from legacy B2B communications.

[Read more...]

NCo 3.0 Error: Could not load file or assembly ‘sapnco_utils.dll’ or one of its dependencies

Recently I was deploying a Windows Service that uses SAP .NET Connector 3.0 on a fresh install of Windows (the specific version isn’t important, but it was Windows Server 2003).  I built my installer package, installed .NET Framework 4, and installed my program.  When it came time to execute my service, I received the following error message.

System.TypeInitializationException: The type initializer for
  'SAP.Middleware.Connector.RfcServerManager' threw an exception.
  ---> System.TypeInitializationException: The type initializer for
  'SAP.Middleware.Connector.RfcConfigParameters' threw an exception.
  ---> System.IO.FileNotFoundException: Could not load file or
  assembly 'sapnco_utils.dll' or one of its dependencies.
  The specified module could not be found.
at SAP.Middleware.Connector.RfcConfigParameters..cctor()
--- End of inner exception stack trace ---
at SAP.Middleware.Connector.RfcConfigParameters.Initialize()
at SAP.Middleware.Connector.RfcServerManager..cctor()
--- End of inner exception stack trace ---
at SAP.Middleware.Connector.RfcServerManager
.GetServer(String serverName, Type[] rfcFunctionHandlers)
at DataXstream.AwesomeProduct.InitializeSap()

What was really confounding was that the Fusion Log reported no .NET binding errors! So, what was going on?

[Read more...]

NCo 3.0 Error: “Cannot get destination XXX — no destination configuration registered”

I have received a few inquires about users getting the following error when they try to execute the NCo Samples provided by DataXstream:

Cannot get destination XXX — no destination configuration registered

This error is caused because the .NET Framework is unable to locate the sapnco assembly file.

[Read more...]

SAP NCo 3.0: How-to Pass Table Parameters to SAP RFC

Since I posted step-by-step instructions on how to build an NCo RFC client, the  request I most often get is how to populate and pass a table of data as a parameter to an SAP RFC.  In this blog, I will walk through the steps to pass a table parameter to from a .NET program to SAP via NCo 3.0.  I will not be covering the basics of how to set up NCo 3.0 as a RFC client as I have already covered that.

[Read more...]

SAP Tip Quick Hit: Location of saplogon.ini in Windows 7

Ugh.  I spent the last 10 minutes searching for saplogon.ini!!

I need to copy it to a Virtual Machine so I don’t have to type in all of the SAP system information.  As many of you know, SAP saves SAP Logon Pad entries in a file called saplogon.ini.  For many releases, this file resided in the C:\Windows directory.  Since Microsoft has began enforcing their improved security model, SAP has adapted and, therefore, moved the location of saplogon.ini to a directory that I can never seem to remember.  I have SAPGUI 7.20 running on Windows 7 (x64) and I find myself scouring my hard drive in search of saplogon.ini!  I have 38 versions of the file, but which is the right version? Don’t worry, I finally found the right one. But I have performed this search at least three times in the past year! I seem to never make a point to note the location of saplogon.ini.  I can’t be alone in this search.

So for future me and you, dear internet community, here is the location of saplogon.ini file in Windows 7 for SAPGUI 720:

[Read more...]

SAP IDOCs for Customer Number with different Sales Organizations to different External Partnerships

Have you ever implemented an outbound  EDI process from SAP for a single customer number where the customer has multiple EDI trading by Sales Organization or Division?  It can be done.  In order to accomplish this you will need to create separate output types for each Sales Organization/Division and then set up the Access Sequence/Output Determination in order to create the IDOC for each partnership.  You can then use the Message Variant and/or Message Function fields of the Partner Profile to differentiate between the two Sales Organizations/Divisions.  Finally, you would set up your EDI Mapping to look at the Partner Profile fields in order to route it to the correct partnership.  Let’s take a closer look at this process.

Let’s say that Customer 15 in your SAP system buys products from your company.  It sends inbound EDI Orders to you using three different partner IDs because they have 3 internal divisions and they want all transactions to be separate.  You want to keep all sales data for this customer under one customer number in your SAP system and just separate them by a different division.  You are required to send out EDI invoices to this customer, but they must go to the correct EDI Partner ID.  Let’s say you would normally use the Standard SAP Output Type RD00 and  Access Sequence 0003 (Sales Org, Distribution Channel, Division, Customer Number) for producing your INVOIC IDOCs. [Read more...]