cancel
Showing results for 
Search instead for 
Did you mean: 

standard table for keeping record of updation in z tables

Former Member
0 Kudos

hi all,

my problem is that suppose i have a z-table ZXXX with maintanence allowed. now everytime i enter a new record definately some event is triggered . now that event must be a part of a standard business object . can any one tell me the name of the object.

even if some one has knowledge about a standard table which keeps record of tables in which records are updated.

regards

kingshuk

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Kingshuk,

You are correct to some extent but only thing is that nothing is done as per standard SAP for your Z tables.

You need to create a change doc object and attach your table with it. Further you need to genearte the program for creating change documents ( in table CDHDR / CDPOS ) at the time of update/save.

Then you have to include this generated code in your table maintainence program. You can change the coding of generated SM30 program.

Please search the forum for "change document Object" related threads.

You don't have to take care of Business Object / Event part . That is only required if further, you want that as soon as a change document entry will be created, it should also trigger an event on its related BO.

Also check

Cheers,

Ram

Message was edited by: Ram Manohar Tiwari

Former Member
0 Kudos

Hello,

you could have a look on OSS-Note 0000001916. It's a quite old one, but still valid.

The table behind that is DBTABLOG.

But keep in mind: all that records only the table changes maid from standard transaction. If you write with some z*-program to such a table, there's nothing recorded. (It's not very 'event'-oriented ..)

Regards

Wolfgang

Former Member
0 Kudos

Hi Wolfgang;

Do you mean if I write my own Z*-program to update DBTABLOG, SCU3 will not report those entries I made?

The reason I'm asking is we have a batch job to update table T001b. Due to the Sabine-Oxlay requirements, I need to add entries to DBTABLOG each time that batch job updates the table T001b. Then auditors can use transaction s_alr_87003642 (go to utilities -> change logs) to see who made changes to table T001b.

Basically, I need to minic how DBTABLOG entries are created when s_alr_87003642 is called to update T001B.

I found out that each T001b line change thru s_alr_87003642 results in 3 new lines in DBTABLOG. The first line has LOGKEY = VB, the third line has LOGKEY = VE. I can use debug to see how DBTABLOG-logdata(has LRAW data type) is created in the first line and the third line. But debug will not stop at the place where the second line's DBTABLOG-logdata is created! So I have trouble to create DBTABLOG-logdata for the second line.

If it's true that only standard SAP transactions can update DBTABLOG, please tell me where can I find these SAP documentations so that I can tell the functional people that it's not feasible to use Z* program to update DBTABLOG.

Thanks,

Ruthy

jayanthi_jayaraman
Active Contributor
0 Kudos

Hi,

You can use LOG DATA CHANGES in Technical settings.

Just read the following.

The logging flag defines whether changes to the data records of a table should be logged. If logging is activated, every change (with UPDATE, DELETE) to an existing data record by a user or an application program is recorded in a log table in the database.

Note: Activating logging slows down accesses that change the table. First of all, a record must be written in the log table for each change. Secondly, many users access this log table in parallel. This could cause lock situations even though the users are working with different application tables.

Dependencies

Logging only takes place if parameter rec/client in the system profile is set correctly. Setting the flag on its own does not cause the table changes to be logged.

The existing logs can be displayed with Transaction Table history (SCU3).

Kindly reward points,if it is useful.