Skip to Content
avatar image
Former Member

How to build an external Java Client for SAP?


I need to realize the following Application as an external Java Client which have to be started out of SAP:

The application needs to have access to database tables of SAP. It has to read a lot of values out of the tables, combine them with values entered by a user, do some really freaky calculation with them and then create some files with the result. It also has to create some SAP objects like documents or MaterialMasters in between. The values entered by the user must be stored in the SAP DB as well to allow the user to reload his settings, change and recalculate them again. So, each run must be stored the reload it.

So the requirements are:

- Technology must be Java as an external client

- Start out of SAP

- Access to the SAP DB (read and write; great would be direct access with SQL)

- Create SAP Objects (I guess via BAPIs)

- Create files on the local harddrive

After all this, what technology can be used? Is JCo a way to implement this? I'm out of the ABAP world and do not have a lot of experience with JAVA and SAP. I know how to use JCo to run a BAPI and so on but I do not know if JCo is able to access DB tables directly. If not JCo, what else could I use?

Thanks for every hint,


Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Apr 28, 2006 at 11:00 AM

    Yes, JCO could be the right choice is you are developing STANDALONE JAVA APPLICATION, without J2EE container.

    You should write your application logic in ABAP RFC enabled function module, and call this RFC using JCO. Accessing SAP tables directly is not recommended and should not be practiced. The layer of ABAP is the best way to handle such applications.

    If your external Java client is going to reside in J2EE container, then use connection pooling mechanism given in JCO.

    If you can use WAS, then definitely you can go for adaptive RFC model in web dynpro application which is very efficient.

    Hope it helps!


    Add comment
    10|10000 characters needed characters exceeded