How do I get data into and out of an SAP system (4.0B) from an external application?

We are dealing with a prospect that has an SAP system (R/3 4.0B) that is used, at a minimum, for invoicing and accounts receivable.  We wish to provide them a solution based on our non-SAP technology, but need to get infomation on customer accounts and open invoices.

It would be nice to do a tight integration and query directly into the SAP system, we have been unable to find any documentation that explains a methodology for performing this access from an external system.  Does anyone have any advice on a starting point?  We have talked to SAP who directed us to the IFR.SAP.COM site, but that repository assumes that one has extensive knowledge of SAP to begin with.

It would be acceptable to us to perform periodic extracts of entire invoice and customer tables to create an external repository.  It seems that using IDOCs would be the starting point for this, but again we haven't been able to glean what we need to know to actually make this work.

We're hungry for the information we need to be able to implement our solution.  But the more things we look at the less we understand what is needed.  Does anyone have any knowledge of what steps we need to take to begin an implementation?  We don't even know what questions we have to ask at this point.
Who is Participating?
jonvaughanConnect With a Mentor Commented:

What you need to do is use Remote Function Calls - this is the API for SAP.

Depending on what language  your solution is codes in you will need to get from SAP either the JCO ( Java Connector ) or the .NET connector this will allow you to call the multitude of standard RFCs in SAP, if you are using c++ you need the LIBRFC.dll.

There are a set of standard RFCs called BAPIs ( Business API) that will give you what you need. You can also use SAP ABAP as suggested to write your own and call them in the same way.
These calls are Synchronous and are guarenteed by SAP to remain supported accross versions.

Standard Accounts Receivable BAPIs are for example get account balance, get open items etc.

 ie BAPI_AR_ACC_GETCURRENTBALANCE  which will give you the account balance.
You can see the details for these in where you can search by business object and BAPI, there is also a description of RFCs and BAPIs ....

This is the accepted way to integrate with SAP, doing anything else would be very strange and prospective partners would want to know the reasons why you didn't use the standard API.

1. Read the contents of a table into an Internal table using ABAP
2. use the WS_Download function thru an ABAP Executable and thus export a Tab Delimited Text File.  
Thats one way to 'export' some of your data to 'Outside' your ABAP Application.

For Import there is a WS_upload funciton which can be used in conjuction with a screen / recording etc

dberkowitzAuthor Commented:
This is better information that I was able to get with several hours of reseach on the SAP web site, but not yet sufficient for my needs.  

What do I need to obtain to be able to write/execute ABAP?  I know that I can buy books on the subject of programming the language, but what do I need to purchase to have the ability to create and test executable ABAP code from a Windows XP platform?  And, short of purchasing an SAP system for development use, how can I test the code that we write?
2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

Hi, If you have the SAP licensed software, you can access a tool called the ABAP Workbench. The ABAP Workbench is a code writer for ABAP Programming Language which does most of the screen and transactions.

However if you dont have the Original SAP application in your organisation, you can buy a software called MiniSAP from SAP AG for about 20 Euros. With that you can write the ABAP code and test it on a PC.  

The MiniSAP Software is also available free if you buy a book on ABAP objects or something. Try googling for 'MiniSAP' and you can get the book title.
Also note that there are special functions that you can call to export data to MS EXCEL format or any other that you desire. ABAP 'Executable' is not really an executable. its an interpreted code. So yuo never really compile your ABAP lines of code but merely run it in the SAP application which will read and interpret the tasks.
dberkowitzAuthor Commented:
The remote function calls is indeed what we intend to use.  We have purchased the manuals that come with a mini-SAP system and the SAP book that talks about developing external interfaces.  Hopefully between these two we'll be able to get started on what we need to do.

I'm accepting jonvaughan's answer as it's obviously the right way to go and will gladly award 50  points to jaganpvs if someone tells me how to do that special award.  If one of you guys can also tell me if the BASIS system that is included in the mini-SAP will let me work with the Accounts Receivable objects wthout actually having the ERP or CRM packages I'd be grateful.


All Courses

From novice to tech pro — start learning today.