Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Discussion: "It needs to interface with SAP"...

Posted on 2012-04-03
8
Medium Priority
?
547 Views
Last Modified: 2012-04-10
Our company provide a web application for managing staff training and skill levels.  The app sits on SQL Server and ASP.NET.  Recently some large potential clients have taken an interest in buying our software, however, many of the (very) large businesses state that our software 'needs to interface with SAP'.  Upon seeking clarification about this, we never seem to get any further forward.  I have NO knowledge of SAP at all, so excuse my naivety.

Points will be given to all contibutors who can shed some light on my confusion...

What sort of interfacing do you think might be required here, and how would this work?  One client says they use SAP for the personnel data (so I guess names, DOB, salary, employeeIDs, bank details).  Our system supports basic details, but not salary etc (as we focus on skills not security-sensitive data at present).

Is it possible that personnel data can sit on SAP and the remainder on our system?  If so, if an administrator runs a report for 4000 people, does our system need to pull in 4000 surnames from SAP over a web-API?  That would take forever...!

Also, how would the userID values in SAP correlate with our system's userID's, and when users are created/modified/deleted how is that generally reflected back into 3rd party app's?

Does anyone have any experience of using SAP alongside different software app's?

Sorry for the vagueness here, I'm just trying to get a rough idea of how this would all fit together...
0
Comment
Question by:Rouchie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 71

Accepted Solution

by:
Qlemo earned 1200 total points
ID: 37801005
I can be vague only, too. Too big is the field of SAP interfaces. But most companies expect you to have an active component interfacing into SAP via documented and well-known protocols (IDocs, RFC, XML, and the like). Whenever information is required, that active component retrieves the bulk of information needed.

Our company interfaces more passively, that is we get informed that there are new data, and get only the changes. This requires to have an own data base which contains the necessary information to map SAP to own IDs.

A more direct attempt is to use the SAP database directly. However, since there are a lot of different DBMS running as DB for SAP (like IBM OSses, MSSQL, Oracle, and many more), that task "might" be demanding. But it allows for direct retrieval of necessary information on demand.
0
 
LVL 13

Assisted Solution

by:Rick
Rick earned 800 total points
ID: 37801215
I think what they mean is that they enter all or most the data they need in SAP, they can run some basic reports, but can't get the same level of detail your application provides. They probably want to join the data they have in SAP with the data you have in your application and use your application to pull customized reports.
0
 
LVL 25

Author Comment

by:Rouchie
ID: 37805775
Hi

Thanks both for your responses.

>> Our company interfaces more passively, that is we get informed that there are new data, and get only the changes. This requires to have an own data base which contains the necessary information to map SAP to own IDs.

So does this run as some kind of scheduled task to check for new data, or can SAP 'push' changes to your application?  Surely the latter would require an API that SAP is programmed to recognise?
Is it not very cumbersome having a 'middleware' database to map the ID values?  Could/Can SAP be modified with an extra column to hold your database ID's against each user?

>> They probably want to join the data they have in SAP with the data you have in your application and use your application to pull customized reports.

How would this generally be done?  Would my application interrogate SAP, or SAP interrogate my application, or both?  Would I be therefore expected to know about the SAP database table structure to do this?  It seems like a vast topic...!
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 71

Assisted Solution

by:Qlemo
Qlemo earned 1200 total points
ID: 37806185
So does this run as some kind of scheduled task to check for new data, or can SAP 'push' changes to your application?  Surely the latter would require an API that SAP is programmed to recognise?
We use the timer approach. SAP triggering requires you to provide a service component for that purpose, which is not difficult. That component registers in SAP, and BAPI or whatsoever needs to call it for signaling changes.

Is it not very cumbersome having a 'middleware' database to map the ID values?
Yes, it is. But it is needed in all cases you are not able to use the SAP IDs directly.

Could/Can SAP be modified with an extra column to hold your database ID's against each user?
SAP is customable, and it is "only" an issue for the SAP Consultant doing the customizing. My experience is that it is preferred not have to modify the SAP processes.
0
 
LVL 13

Assisted Solution

by:Rick
Rick earned 800 total points
ID: 37806455
@ 37805775:

In this case, your application would interrogate SAP and use data from both systems to generate customized reports.

You would need to have basic knowledge of their database structure. If you don't know much about SAP, it would be good for you to read this book.

There is a SAP .NET connector add on for Visual Studio. You can learn more about it here.

There is also a 3rd party tool at http://www.aconcaguait.com/components.php which allows you to integrate SAP with .NET.
0
 
LVL 25

Author Comment

by:Rouchie
ID: 37806775
Thanks again for your input - this is proving an interesting read.

>> We use the timer approach. SAP triggering requires you to provide a service component for that purpose, which is not difficult. That component registers in SAP, and BAPI or whatsoever needs to call it for signaling changes.

So I'm guessing here that you'd create a component that, at regular intervals, pushes changes to data out to my application via SOAP (or whatever) for my application to handle and process?

>>SAP is customable, and it is "only" an issue for the SAP Consultant doing the customizing. M

Related to my point above... assuming I'd rather not learn SAP myself and stick to my .NET roots, would the SAP consultant be employed to create the component detailed above?  Given that SAP is customisable and runs on different DBMS's, how do these consultants ever keep up with all the different uses available?  It sounds expensive... ;-)

>> In this case, your application would interrogate SAP and use data from both systems to generate customized reports.

Would you mind sharing with me what applications you currently work on that integrate with SAP?  Rather than give me brand names etc, I'm curious to see what type of data is pushed back and forth, and how the two systems interact.  The idea of pushing changes into another app sounds like the approach I might use, however, I'd be interested to see how else it's used in the real world.

Lastly, and at the risk of offending people...SAP seems to be quite a complex subject, and there doesn't appear to be a huge number of SAP professionals out there compare with other application platforms.  How did SAP ever become so popular amongst large-scale organisations?
0
 
LVL 71

Assisted Solution

by:Qlemo
Qlemo earned 1200 total points
ID: 37806936
There are a lot of SAP professionals - but they all get paid very well for being exactly that.
SAP isn't a system you can say "do a little of this, add something here, compile". It is very complex, because it is customizable. Money isn't earned so much with SAP itself, but everything having to do with it. The poor folks having to cope with the introduction of SAP in their company usually have a training phase of 2 years - does that tell you something?

We've got the luck that the companies needing our services pay the SAP consultants. In your case you need to provide something more generic, and probably even need to register for a SAP certificate (SAP will validate function, documentation and integration). Expensive, I can tell.
0
 
LVL 25

Author Closing Comment

by:Rouchie
ID: 37826474
Thank you for your input.  That's been very interesting and gives me some confidence with future demands...! :-)
0

Featured Post

Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question