cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI _ Standard Tables

Former Member
0 Kudos

Hi all,

Say I am using a BAPI to upload data to standard tables.Suppose I now the BAPI but do not know which tables will be affected by this BAPI process. Is there any way to find it out ? Since I am working in CRM , on modifying an existing program involving BAPI

Regards,

Varun.

Message was edited by: varun sonu

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Varun,

Is there a specific reason, why you want to know that. May be you can get your task done, without knowing the tables.

Regards,

Ravi

Answers (3)

Answers (3)

abdul_hakim
Active Contributor
0 Kudos

Hi Varun,

It is very difficult to keep track of the tables being affected by ur BAPI.

Cheers,

Abdul Hakim

Former Member
0 Kudos

Hi,

Just a pointer .......

One workaround is to use the CROSS table from se16 to find out all the tables used. CROSS table will give you every information about the program. What tables its using, what message class, what lock objects, etc etc. It is same as doing environment analysis from abap work bench editor.

Could you check if Se49 if it will be of any help?

I agree with Rich. Sql trace is the perfect way to go. Thats the most prefered way.

Cheers

VJ

Former Member
0 Kudos

Hello Vijay,

Can you please explain more about the CROSS table?

I saw cross table but could not figured out for what purpose its being used.

Thanks.

Regards,

Tarun

Former Member
0 Kudos

It is not that easy. It is same as trying to find out all the tables that get updated when you run a transaction online. People normally recommend using sql trace, but the problem with that is it will list a lot of tables that you may not even be interested in or not relevant for transaction itself.

Try to check the function module's TOP include to see if there are any tables mentioned there. But if you are trying to check if the one or two fields that you are uploading are getting populated correctly or not, simply go the display transaction of that BAPI and see if they appear on the screen.

Srinivas

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

As Srinivas as mentioned, there is not really an easy way to know. It does come with experience, knowing what major tables will be updated when using a transaction or BAPI. Also, usually the BAPI is only a wrapper for the business logic, the logic is contained in a API function module inside the BAPI. So, in these cases, you do not want to look at the BAPIs code, but the code of the internal API. Even then, looking at the TOP include for TABLES statements may give you false results as the db tables may not be using the associated TABLES statement to update the table.

Example.

insert aufk from xaufk.

Here AUFK is being updated using the INSERT statement, which is from a internal structure which is defined like AUFK.

The only fool-proof way is to do a SQL trace, and go thru it looking at the tables one by one.

Regards,

Rich Heilman