• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 550
  • Last Modified:

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

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
Rouchie
Asked:
Rouchie
  • 3
  • 3
  • 2
5 Solutions
 
QlemoC++ DeveloperCommented:
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
 
RickCommented:
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
 
RouchieAuthor Commented:
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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
QlemoC++ DeveloperCommented:
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
 
RickCommented:
@ 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
 
RouchieAuthor Commented:
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
 
QlemoC++ DeveloperCommented:
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
 
RouchieAuthor Commented:
Thank you for your input.  That's been very interesting and gives me some confidence with future demands...! :-)
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

  • 3
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now