Rec/client paramater for logging of table changes

Hello all,
I know that it was asked many times on many forums how to activate the log of a specific tables and most of the answers were about disabling every table activated by default through DD09L table and then use SE13 to enable the ones we want.
But on the documentation on SPRO, there is this mention about "rec/client" parameter :
Set the rec/client profile parameter to one of the following values :
-- mmm,nnn,ppp,...: logs client-specific tables in the named clients
If I understand well, using this value I can focus the logs on a specific table, am I right ?
If so, how do I use it ?
I guess "nnn" is the client number. So what does "mmm", "nnn", "ppp" means ?
Thanks & regards,

Thank you for your answer.
Never mind my question, I misread the description, didn't notice the "s" on "in the named clients". I should have changed the language to my native language
I misunderstood and thought that we could actually put the name of a table directly in this parameter.
So then, my question is, how would do to actually activate the logs only on a specific table because looking at my production server, I can see that there is about 30 000 tables activated by default to be logged.
Thanks

Similar Messages

  • Doubt on logging the table change

    For the logging the table changes, we have to check log data changes in the technical setting of a table. But came to know that it is not enogh to log the table changes. There is some parameter rec/client, that we need to take into consideration for logging the table changes. Can anyone please help me where exactly can i find that parameter and what changes do i need to make there.

    Hi,
    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.
    It has a Dependency:
    Logging only takes place if parameter rec/client in the system profile is set correctly.
    Now rec/client is a system parameter which i think you see in sytem profile but I am not sure how do we go about it.
    Some BASIS consultant can help you on this.
    Regards,
    Mayank Verdia
    Moderator message: copy/paste of parts of the F1 help of field "log data changes", points removed, please do not repeat this behaviour!
    Edited by: Thomas Zloch on Sep 7, 2010 9:39 AM

  • Logging of table changes

    Hi All,
              We are working on ERP 6.0. Recently Basis team has been asked to activate the table changes logs in Production system. Accordingly we activated the rec/client parameter for Production system client. We are also required to click the log changes tab in the table for which the logs are to be activated.This is to be done through t code SE13. While trying to do so, I have found that our Production system is not allowing to make changes directly as it is configured in non modifiable stage. I have also tried to make changes in devp clinet and then transport it to quality an Production,however it is not working.
    Kindly let me know the exact method by which I can activate the tab in the table.
    Thanks,
    Prasad Thakur

    Hello Prasad,
    This is strange. It is understandable that the table content changes is not getting recorded in case rec/client (in default profile) is not set along with recclient="XXX" (in transport profile) but  table logging activation not getting reflected in QA is a bit weird.
    Are you sure that the transport carried correct contents. Can you list the contents of the transport. It should have an entry related to DD09L.
    Is the table showing as activated ? Just try to activate/generate it.
    For more info on recording please check OSS notes 1916 and 84052.
    With Regards.
    Ruchit Khushu.

  • Log data changes for only a table

    Hi,
    We know that to read log modification from a table we need to set the client on system parameter rec/client and also set flag in settings table from transaction SE13. But we do not want to set log for all tables in system only for one for table T001B.
    Any suggestion?

    Another option would be to only make changes to T001B and accept the defaults... no other logs will be written
    You might also want to take a look into the "recclient" parameter (without "/") in the transport profile.
    Anyway, I think you are concerned about a performance urban legend? Application data generally has it's own logs (CDHDR, etc) which are not related to this, and you mostly cannot turn it off anyway.
    Cheers,
    Julius

  • Log for Table changes

    Hi Experts,
    Is there any standard table in XI  that maintains the log  if I Changes some enttries in my custom table?
    Thanks
    Sugata B

    Kindly check the list of tables here [https://wiki.sdn.sap.com/wiki/display/XI/XI+Tables]

  • Logs the activities for specific critical tables

    Hi Guys,
    rec/client     Logs the activities for specific critical tables       OFF     Absence of logging of changes to critical tables in SAP could lead to unauthorized modifications being overlooked     ON
                        (Only for critical tables)     Set to ON 
    What does it mean? This is a piece of Audit Recommendation
    what to do?Please help me out.
    Itzz very urgent guys.
    Points will be rewarded.
    Warm Regards,
    Mohandoss P.
    Edited by: mohan doss on May 28, 2008 1:37 PM

    Hi,
    Parameter description :                                                                               
    This parameter is used to activate and deactivate client-dependent table logging. Depending on the setting of this parameters, certain change options are either not logged at all, or only in certain clients or in all clients. The settings for these tables in the ABAP Dictionary must be correctly set for this.
    OFF       Table logging is deactivated. No change operations are logged, even if table logging is activated for certain tables in the ABAP Dictionary.
    ALL       Table logging is activated in all clients. All change operations for tables are logged, according to the settings in the ABAP Dictionary.
    <Client1>,<Client2>,...,<ClientN> (1 <= N <= 10)                  
              Table logging is only activated for the specified clients. You can specify up to 10 different clients.                                                                  
       Caution:  Make sure there are no space characters before or after the separator ",".
             Incorrect: rec/client=001, 002 , 003
             Correct:  rec/client=001,002,003                                                                  
    Regards
    Suresh Radhakrishnan
    Edited by: Suresh Radhakrishnan on May 28, 2008 9:56 PM

  • How to set a change pointer for a perticular table?

    Hi,
    Please let me know how to set a change pointer for a perticular table.

    what do you mean by 'change pointer'? normally this idiom is used for sending ÍDOCs from one system/client/org-unit to another ...
    do you generally want to record changes to a specific table? then set parameter rec/client using RZ10 for your instance profiles and restart the instances in order for the parameter to take effect.
    set the table to 'record all changes' using SE11.
    you might re-consider if the table has a lot of  data and is accessed very often for performance-resons.
    change protocols can be evaluated using tx, SCU3.

  • Change documents for customer Z table - serious help wanted

    Hi all,
    I am no beginner and I don't expect any comments from beginners.
    Situation: My customer wants to replace the material valuation transactions MRN1 MRN2 MRN3 due to bad performance and locking problems with own developed programs.
    The valuation results will be stored in a customer Z-Table on a monthly base. For auditing and transparency purposes, this Z-table has to get a change object and the update routines will have to write change documents.
    Due to the expected size of the new Z-table, it is not advisable to simply switsch on table logging.
    In this huge project (and in none I participated!) nobody ever implemented the change document process for a Z-table. <b>BUT EVERYBODY CAN TELL YOU THI IS NO PROBLEM AT ALL.</b>
    I read some documentation at SAP and serached for threads or blogs here. I could not find anything desribing that in depth.
    So before I start, I'd be happy to get some hints from people who created own change documents and implemented the process. Links to documentation and other helpful pages are also welcome.
    If I can keep the process simple, I'd like to create a BLOG on this - because I think, in the future it will get more and more difficult to pass the auditing process with undocumented features and uncontrolled table changes.
    TIA.
    Regards,
    Clemens

    Hi,
    Please check this thread.
    http://www.sapdevelopment.co.uk/tips/changedoc/cd_createch.htm
    Once you create your change document object using generate update pgm option then  please check the WRITE document fm.
    I have done this long back i am updating CDHDR and CDPOS for 2 table YATT and YATTPLANTS. Here YATT have single record (header table) and YATTPLANTS have multiple records (item table)
    function yatt_write_document           .
      call function 'CHANGEDOCUMENT_OPEN'
        exporting
          objectclass             = 'YATT           '
          objectid                = objectid
          planned_change_number   = planned_change_number
          planned_or_real_changes = planned_or_real_changes
        exceptions
          sequence_invalid        = 1
          others                  = 2.
      case sy-subrc.
        when 0.                                   "ok.
        when 1. message a600 with 'SEQUENCE INVALID'.
        when 2. message a600 with 'OPEN ERROR'.
      endcase.
    if upd_yctc                           ne space.
       call function 'CHANGEDOCUMENT_SINGLE_CASE'
         exporting
           tablename              = 'YATT                          '
           workarea_old           = o_yatt
           workarea_new           = n_yatt
            change_indicator       = upd_yattc
            docu_delete            = 'X'
         exceptions
           nametab_error          = 1
           open_missing           = 2
           position_insert_failed = 3
           others                 = 4.
        case sy-subrc.
          when 0.                                "ok.
          when 1. message a600 with 'NAMETAB-ERROR'.
          when 2. message a600 with 'OPEN MISSING'.
          when 3. message a600 with 'INSERT ERROR'.
          when 4. message a600 with 'SINGLE ERROR'.
        endcase.
      endif.
      if upd_yctcauthplnts                  ne space.
        call function 'CHANGEDOCUMENT_MULTIPLE_CASE'
          exporting
            tablename              = 'YATTPLANTS                 '
            change_indicator       = upd_yattplants
            docu_delete            = 'X'
          tables
            table_old              = yyattplants
            table_new              = xyattplants
         exceptions
           nametab_error          = 1
           open_missing           = 2
           position_insert_failed = 3
           others                 = 4.
        case sy-subrc.
          when 0.                                "ok.
          when 1. message a600 with 'NAMETAB-ERROR'.
          when 2. message a600 with 'OPEN MISSING'.
          when 3. message a600 with 'INSERT ERROR'.
          when 4. message a600 with 'MULTIPLE ERROR'.
        endcase.
      endif.
      call function 'CHANGEDOCUMENT_CLOSE'
        exporting
          objectclass             = 'YATT           '
          objectid                = objectid
          date_of_change          = udate
          time_of_change          = utime
          tcode                   = tcode
          username                = username
          object_change_indicator = object_change_indicator
          no_change_pointers      = no_change_pointers
        exceptions
          header_insert_failed    = 1
          object_invalid          = 2
          open_missing            = 3
          no_position_inserted    = 4
          others                  = 5.
      case sy-subrc.
        when 0.                                   "ok.
        when 1. message a600 with 'INSERT HEADER FAILED'.
        when 2. message a600 with 'OBJECT INVALID'.
        when 3. message a600 with 'OPEN MISSING'.
    *    WHEN 4. MESSAGE A600 WITH 'NO_POSITION_INSERTED'.
    * do not abort, if positions are not inserted!!!
        when 5. message a600 with 'CLOSE ERROR'.
      endcase.
    endfunction.

  • 10.1.3: How are client ids for elements in an af:table determined?

    Hi all,
    I have an af:table (let's say Departments) with some columns (let's say DeptName) is one of them, and (let's say) a 15-row range. Normally, modulo naming containers, the clientId of a particular DeptName field is of the form:
    Departments:0_indexed_row_in_af_table:DeptName
    So, for example, the DeptName field in the third row of the table will be
    Departments:2:DeptName
    The problem occurs when, due to, say, a data change and requery, a partially distinct set of rows appears in the table on refresh. Then, any old rows that reappear will keep their old clientIds, but new rows will get new numbers,starting with 15. So, if the refresh retains the first and third rows in the first and fourth positions, and retrieves new rows for the second and third position, the client IDs for the first four departments fields as they appear in the table will be:
    Departments:0:DeptName
    Departments:15:DeptName
    Departments:16:DeptName
    Departments:2:DeptName
    If the data's completely new, the table will be rendered starting with Departments:15:DeptName.
    My question: Is there any way to figure out, programmatically, what the client ID for a particular DeptName field will be, assuming that the table might have been refreshed with partially or completely new data an arbitrary number of times?
    Thanks much for any help,
    Avrom

    Hi,
    Try something like the following:
    RichTable table = // Get the table component instance somehow;
    int rowIndex = // Find the right row and get its INDEX in the ResultSet and/or data, not the row key
    // Save row state
    Object oldRowKey = table.getRowKey();
    try
        table.setRowIndex(index);
        UIComponent field = table.getChildren().get(columnIndex).getChildren().get(0); // Get the field from column columnIndex
        field.getClientId(FacesContext.getCurrentInstance()); // Since setRowIndex was called, the id should be correct
    finally
        // Restore state
        table.setRowKey(oldRowKey);
    }The idea of rowKey vs. rowIndex is that rowKey is stable to ensure that a given row key is always the same row (very useful to avoid some strange issue with sorting), whereas row index change with the position of the row.
    Regards,
    ~ Simon

  • SMD Tool. No change pointers log on table CDHDR nor CDPOS.

    Hi everyone.
    I'm trying to use the SMD tool. I've created my Message Type, and my Change Document Object(Tcode SCDO).
    Priorly, I've tested the ALE Layer configuration, by sending iDocs of my message type directly with the MASTER_IDOC_DISTRIBUTE Function Module, and it works fine. I mean, I have no problem with sending iDocs or the ALE configuration.
    In the transaction SCDO I've logged my Object Type, and I've assigned the table THOC (Public Holiday Calendar), from wich I want to monitoring the field DATUM, wich is flagged as "Copy as Internal Table" and "Doc. for individual fields at delete". Also in this transaction (SCDO), I've created the Update pgm.
    In transaction BD95, I've inserted my ALE Object Type, and I've assigned the table THOC and the field DATUM to my Object. Field DATUM is referenced to the DATUM Data Element. Due that the Data Element DATUM isn't flagged as "Change Document", I've changed the Data Element referenced by the field DATUM for one copy of the Data Element DATUM, wich I've flagged as "Change Document".
    My Message Type is alredy on the following tables:
    Tcode BD50: The checkbox for monitoring Change Pointers is on.
    Tcode BD52: Where I've assigned my ALE Object, the table THOC and the field KEY.
    Tcode BD59: Where I've assigned to it the segment of my Message Type, and the field (same field type) wich corresponds to the field DATUM of table THOC.
    Tcode BD60: The ref. msg. is the same as my Message Type, i've created the function module to create the iDocs containing the delta information (via tcode BD21 I alredy reach this FM that I've created), there's no table nor Object Type Associated (in this step I've tried both cases, with table THOC and my Object Type assigned, and both not assigned), the checkboxes "ID for reducible message type" and "BDCP2 OK" are off.
    The Change Pointers in Tcode BD61 is on.
    After all this configuration steps, I still cannot see logs of my Change Document Type in tables CDHDR nor CDPOS. Besides, when I run Tcode BD21 with my message type, and when  the program reaches my Function Module (Z_MASTERIDOC_CREATE_SMD_xxxxx), the function CHANGE_POINTERS_READ with my ALE Object gets no records. At this step, the same function (CHANGE_POINTERS_READ) with another ALE Object does get records.
    Table BDCPS alredy contains records for my Message Type, and in those records, the "Process" field is empty.
    Am I missing one step or something?
    Can anyone help me please?
    Thanks in advice.
    Regards.

    Hi everyone.
    I'm trying to use the SMD tool. I've created my Message Type, and my Change Document Object(Tcode SCDO).
    Priorly, I've tested the ALE Layer configuration, by sending iDocs of my message type directly with the MASTER_IDOC_DISTRIBUTE Function Module, and it works fine. I mean, I have no problem with sending iDocs or the ALE configuration.
    In the transaction SCDO I've logged my Object Type, and I've assigned the table THOC (Public Holiday Calendar), from wich I want to monitoring the field DATUM, wich is flagged as "Copy as Internal Table" and "Doc. for individual fields at delete". Also in this transaction (SCDO), I've created the Update pgm.
    In transaction BD95, I've inserted my ALE Object Type, and I've assigned the table THOC and the field DATUM to my Object. Field DATUM is referenced to the DATUM Data Element. Due that the Data Element DATUM isn't flagged as "Change Document", I've changed the Data Element referenced by the field DATUM for one copy of the Data Element DATUM, wich I've flagged as "Change Document".
    My Message Type is alredy on the following tables:
    Tcode BD50: The checkbox for monitoring Change Pointers is on.
    Tcode BD52: Where I've assigned my ALE Object, the table THOC and the field KEY.
    Tcode BD59: Where I've assigned to it the segment of my Message Type, and the field (same field type) wich corresponds to the field DATUM of table THOC.
    Tcode BD60: The ref. msg. is the same as my Message Type, i've created the function module to create the iDocs containing the delta information (via tcode BD21 I alredy reach this FM that I've created), there's no table nor Object Type Associated (in this step I've tried both cases, with table THOC and my Object Type assigned, and both not assigned), the checkboxes "ID for reducible message type" and "BDCP2 OK" are off.
    The Change Pointers in Tcode BD61 is on.
    After all this configuration steps, I still cannot see logs of my Change Document Type in tables CDHDR nor CDPOS. Besides, when I run Tcode BD21 with my message type, and when  the program reaches my Function Module (Z_MASTERIDOC_CREATE_SMD_xxxxx), the function CHANGE_POINTERS_READ with my ALE Object gets no records. At this step, the same function (CHANGE_POINTERS_READ) with another ALE Object does get records.
    Table BDCPS alredy contains records for my Message Type, and in those records, the "Process" field is empty.
    Am I missing one step or something?
    Can anyone help me please?
    Thanks in advice.
    Regards.

  • Change documents for a Z table

    Hi,
    We have a Ztable with 4 fields, Due to some business reasons.. . We have given access to users for changing the contents of the table. Now For audit purpose Customer wants to track the changes made to the table. I came know that this can be achieved by using the change documents concept. I am little confused in using this concept. After clicking on the generate update program, system will ask us to give an include name and functiona group. After giving these two system will create include object as <change document object>_write_document. This Include inturn calls some more includes like F<K4>CDC,F<K4>CDT,F<K4>CDF,F<K4>CDV.
    Here my questions are
    1. Wher do we need to write our owncoding for capturing the changes?
    2. is it possible to share the sample code starting from the First Include <changedocument>_Write_Document to ending.
    3. Does this change document functionality will be called automoatically when we use Transaction SM30(Table maintainance) for changing the contents of the tables?
    4. What is the difference between single case and Multiple case. My scenario falls into single/Multiple?
    Awaiiting for all the expert responses
    Thanks and Best Regards
    Jagadeesh Ambati

    Hi Srinivas,
    you can activate in DDIC that your entry changes will be logged.
    Go to SE11 -> Your Tablenname -> CHANGE
    Button TechnicalSettings -> Activate checkbox Log data changes.
    From now on any chenge will be logged in table DBTABLOG.
    Kind Regards
    Henner

  • How to capture - Custom tables change log

    Hi,
    I need to maintain the change logs for Cutom tables. But, my custom table contains the fields with data type DEC. So, i am getting the record as "####" for DEC fields.
    These values, i have captured in Table Maintenance generator Flow Logic Editor - In the loop of EXTRACT or TOTAL.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
    ENDLOOP.
    So, can you please help me to find the solution?
    Regards,
    Srinivas
    200AR99#u200C######   MUKKAVILLI  20090728
    200AT02###u200C####   MUKKAVILLI  20090731

    Hi,
    Please refer to the following link
    http://www.saptechies.com/how-to-activate-the-img-change-log/
    Track Table chnages
    Hope this helps.
    Regards,
    Swetha

  • How to enable logging of database changes of  Z tables into a log table.

    Dear Team,
    We have 8 Z tables and we need to log the changes in these tables. Earlier Change Document process was proposed but now we know that the possible changes in the Z tables will be many and this can cause too many entries in CDHDR and CDPOS tables. Going through so many entries of Change Document tables will decrease the system performance. The other option involves enabling the Log data base changes for the Z data base tables, but this will also cause the system to slow down as per SAP F1 help on "Log data changes" checkbox.
    description-"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."
    So we came to a solution where we can create a Z table and we will log the above mentioned Z table changes in the Z Change table but I have no idea how to implement the suggested solution. Please help me on this.
    Regards
    Amit

    Hi,
    Have a suggestion..
    Have custom fleld as LOG with char 1 and date field (sy-datum) in all the 8 ztables. The ztables are updated either through SM30 or from custom program, making sure who ever changes the record if manually then fill that flag field as 'X' and if by program then populate the field with value 'X'.So you will know based on the flag field whether changed or not.similarly for date field updatin as well.
    Now create a custom program to update the new ztable . Schedule this program daily may be at midnight..Read the 8 ztables with having flag = 'X' and update the new ztable. Once done clear the FLAG  from all the 8 ztables to space for that day and update the date field in the custom program.
    So for that particular day the records were written to new ztable and all the 8 ztables are having flag value as space and date will be sy-datum.
    Now for next day again do the same procedure.
    Hope this gives you an idea.
    Regards,
    Nagaraj

  • Reporting Services - How to open a second table inside report, for each number of client (each apears in first table)

    Reporting Services - How to open a second table inside report, for each number of client (each apears in first table)?
    Exemple:
    Table1
    Cliente name:
    John
    Client number:
    12345
    Survay number of negative answers:
    3
    Table2
    Questions and answers that were negative:
    Question: How much time where you waiting
    Avaluation: 3 (from 1 to 10)
    Answer: They only called me 1 mouth later
    Can you please help me?

    Hi,
    Based on the description, I understand that you want to add subreport in the main report. When previewing the main report, the subreport can be shown in detail. Please see the screenshots on my test:
    In Reporting Services, we can create parameters and pass them from main report to subreport in order to control the data dynamically.
    References:
    Subreports (Report Builder and SSRS)
    Add a Subreport and Parameters (Report Builder and SSRS)
    If I have any misunderstanding, please feel free to contact me.
    Regards,
    Heidi Duan
    Heidi Duan
    TechNet Community Support

  • Change documents or logs for Analysis authorisation access changes

    Is there a way to review the change history or table logs in BI 7.0 to show who assigned analysis authorizations and when it was assigned or removed?  I presume there should be a SUIM change document that shows the Analysis authorization access changes that are assigned directly to users via RSU01 or RESEADMIN when these analysis authorizations are not included in roles.
    An example area of concern is with the assignment of 0BI_ALL, having an accurate log or mechanism to track the assignments to users.

    Hi Srinivas,
    you can activate in DDIC that your entry changes will be logged.
    Go to SE11 -> Your Tablenname -> CHANGE
    Button TechnicalSettings -> Activate checkbox Log data changes.
    From now on any chenge will be logged in table DBTABLOG.
    Kind Regards
    Henner

Maybe you are looking for