Track user changes in customized transparent table

Greetings..
How do i to track user changes in my table ? is there any master table that keep track changes made by user on the specific field.? Is there possible if the table have the original and changed data.

i got the below explanation from other thread, which has explained by an expert, so, take it as reference and interprete according to ur req.
BEGIN
Table Events:
Go to SE11 and open your Ztable
click on the Table maintenance generator.
you can find the function group. right
Take the Function group name and go to Tcode SE37
and open the Function Group.
In the Status of the small window of the Function
group display
you can find out change requests , Main program and
Function group Docu tabs.
Click on Main program and create user defined Include.
check the sample code below
Click on main program
Create user defined include
User-defined Include-files (if necessary). *
INCLUDE LZPHIRF... " Subprograms
INCLUDE LZPHIRO... " PBO-Modules
INCLUDE LZPHIRI... " PAI-Modules
Create the below include.
INCLUDE LZPHIRI01. " PAI-Modules
Double click on the Include name. you have the below
code
Loop at Extract.
module liste_init_workarea.
chain.
field fild1
field fild2
field fild n
module set_update_flag on chain_request.
You have to add a new module here
check the below code
*----User defind module
Module user_defind_validation.
endchain.
Double click on module write code in that.
Include <Include Name> *
*& Module user_defind_validation
Module user_defind_validation.
Here you can write your own validations.
field2 = field1 /2.
field4 = field1 /4.
if field4 field3.
message.
endif.
EndModule. "user_defind_validation
Events allow you to change the generated table
maintenance dialog at predefined positions, which
cannot be reached by user modules in the screen flow
logic.
The user routines are called dynamically at runtime.
For this reason, the routines must be in a user include
in the table/view maintenance dialog function group.
All extended table maintenance global data is available.
An interface is only required for events 22 and AF.
The events can be additions or replacements.
Additional events
Event 01 before saving the data in the database
This event occurs before new, changed or deleted
entries are written to the database
FORM abc.
DATA: F_INDEX LIKE SY-TABIX. "Index to note the
lines found
LOOP AT TOTAL.
IF <ACTION> = desired constant.
READ TABLE EXTRACT WITH KEY <vim_xtotal_key>.
IF SY-SUBRC EQ 0.
F_INDEX = SY-TABIX.
ELSE.
CLEAR F_INDX.
ENDIF.
(make desired changes to the line TOTAL)
MODIFY TOTAL.
CHECK F_INDX GT 0.
EXTRACT = TOTAL.
MODIFY EXTRACT INDEX F_INDX.
ENDIF.
ENDLOOP.
SY-SUBRC = 0.
ENDFORM.
END
thanq

Similar Messages

  • Loading a Z* custom transparent  table using BW ETL tools

    Hi,
    In BW is it possible to load a Z* custom transparent  table(instead of DSO)  directly  using BW ETL tools?.  Thanks.
    Thanks.
    Raj.

    With BI 7.0 a typical tale is DSO[ write protected]...which should solve all your requirements.
    You can have  a start/end routine to add records to a z-table while processing data stagging [ datasrc>psa>dtp>dso ]..and delete data in target BI-datatarget[ dso]...and still keep data in ur ztable.
    Edited by: Gopi Eriki on Aug 13, 2009 5:37 PM

  • Archival Method of a custom transparent table

    Hi, I have created a custom transparent table and now I want to archive its contents after a certain point of time. Is there any way for this? Please advice.
    Thanks, Sagar...

    Hi Sagar,
    Have a look at demo archive object EXAMPLE.
    Create your custom archive object from AOBJ transaction along with the underlying write, delete, reload and read programs.
    Hope this helps.
    Thanks
    Lakshman

  • User provisioning to custom DB tables

    Hi All,
    I have a requiremnt where I need to provision users to custom DB tables(user table,role table and user_roles).
    We need to treat this as a test app which will be used for further implementations.
    what are the ways to achieve this?
    1.using GTC-Will it allow me to provision to 2 different tables? and how?
    2.normally defining the IT resourse-But I am not sure how the where will I define the table names to whcih I need to provision
    Anyways,
    I am using OOTB connectors
    Thanks as always

    hmm...rite...
    Do i need to specify the Status Lookup Code and status attribute values.I just need to implement this requirement for further implementation of the workflows..
    Once I clicked next..the admin console returned to the home page with the following error in the log file
    10/04/07 05:45:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    *ERROR,07 Apr 2010 06:47:59,750,[org.apache.struts.actions.DispatchAction],Dispatch[CreateConnector] to method goNext returned an exception*
    java.lang.reflect.InvocationTargetException
    *     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)*     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
         at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.CreateConnectorAction.execute(Unknown Source)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
         at com.thortech.xl.dataobj.tcADPClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:242)
    Edited by: watisoim on Apr 7, 2010 4:47 AM
    My OIm uses jdk1.5 and the connector is in 1.6...i already raised this issue i received earlier bt oracle say its nt the issue with jd version
    Edited by: watisoim on Apr 7, 2010 4:57 AM

  • Tracking user Changes

    Hi,
    I have an PLSQL Procedure which was overwritten by some other users, I want to find out which user overwrite the code?
    We don't have any audit triggers.
    Using dba_objects I can see the last modified date, but how to find out who made the changes?
    Thanks,
    Vino

    It is dev box, how can I find out who the user changed code (because auditing was not enabled) ?I don't think this is possible without enabling auditing.
    Is there any way to find it out? Also is there any way to revert the changes back done by the other users.Unless you have a valid backup or version controlling software.
    Asif Momen
    http://momendba.blogspot.com

  • Tracking user changes in LMS 4.1

    Hi, I was wondering if it is possible to track and or log the changes that users make in in LMS 4.1. For an example if someone changed a configuration I want that being logged. I want to see what the person changed, when it's changed and who changed it.
    Does anyone know how to do that?

    This is done by default.  You can go back through the audit logs in LMS to see what people are doing within the platform.  See the list of reports under Reports > Audit.  You'll probably want Reports > Audit > Inventory and Config.

  • How to track the changes to a table and update the other table ?

    Hi Guys,
                   I am looking to track deletion of entries on KONV table and sync these missing entries in an other table which has primary key entries of KONV.
    How to do this.. is ALE change pointer is any good for this purpose ?
    Thanks
    AJ

    Hi Sam,
      In order to track the changes in the KONV table, go to table CDHDR and give objectclass and objectid, you will get all the details.
    Regards,
    ramesh.

  • Transparent Table changes

    1. Changes to active transparent tables: The type for the non-key field is to be changed from NUMC to CHAR. What follow up actions are to be expected?
    2. Can we buffer database view table? Does it exist in the underlying database in R/3? Can we insert, change, modify data into database view table?
    3. How database view is different from logical database?
    4. Performance wise which one will be better and why?
    Regards,
    Mau

    Hi,
    <b>1. Changes to active transparent tables: The type for the non-key field is to be changed from NUMC to CHAR. What follow up actions are to be expected?</b>
    If the table is a standard table, you will have to apply for the SSCR key. Once you get the SSCR key, then you can go on and change the standard table. But, as soon as you get the key, SAP will no longer support that table, that means, if something goes wrong in the system because of that field type change, SAP will not suppprt. So, think clearly before changing the field type. That field might have been used in many other tables, so even in those tables this change will reflect which may cause inconsistency in the system.
    <b>2. Can we buffer database view table? Does it exist in the underlying database in R/3? Can we insert, change, modify data into database view table?</b>
    Yes, database view can be buffered. It does not exist in the underlying database. You can insert, change, modify data into database view but it is not advisable because view is made up of different fields from different tables. So, by inserting, changing, modifying data in a view can cause inconsistency.
    <b>3. How database view is different from logical database?</b>
    Logical database has its own selection screens, own hierarchy and data fetching logic. Whereas view does not have any of it. Logical database exists in the underlying database whereas view does not.
    <b>4. Performance wise which one will be better and why?</b>
    It is based on the scenario.
    Reward points if the answer is helpful.
    Regards,
    Mukul

  • Function Module showing Transparent Table access??

    Hi Guys,
    I'm in the process of writing some programs that will archive some of our Custom tables (they are getting very full!).
    Now, instead of going through ALL the custom tables we created, I'm trying to write a small program that will bring me tables that have certain criteria...
    One of the criteria is Tables Access.  I'm trying to see when last a table has been accessed (by a program, for example).  Im not talking about the last Change Date (as per table DD02L entries) as I presume this actually indicates technical changes to the table??
    Im looking for a Function Module that can actually give me the last date any given transparent table's data has been accessed...
    Does anyone know of such a Function Module/Class?
    tks
    C
    POINTS WILL BE REWARDED FOR USEFULL AWNSERS

    Hello Christian,
    To answer your question, it is normally obtained through ST04 (DB Performance Monitor).
    However, the inherent information pertinent to Table Access made by application programs depends on the underlying Database involved. In case of DB server being ORACLE...you may use the program RSORASCC.
    Also, I would like to make a further recommendation about your methodology to identify custom transparent tables. Besides studying the table accesses, it is very important to consider the current size and the growth rate over a period of time. For doing this, use DB02 (Space Statistics for Tables and indexes) and workout the list of tables which you have to concentrate from archiving perspective.
    Hope this info helps you and resolves your query.
    With Regards
    Vijay Gajavalli

  • How to Track the changes made to the custom table field value

    I want to track the changes made to the custom table field value in table maintenance generator.please help me it is very urgent
    Thanks & Regards,
    Kranti

    Hi Satya,
    These are the steps you've to do.
    1. Enable the change document flag in the data element level for the fields of the tables you want to monitor.
    2. Go to transaction SCDO. Create a new change object, and add your table to this object. After generation, you'll get a function module.
    3. Call this function module in the table maintainence generator screen, after the data is saved to the database table. This function module automaticallly writes the changes, with the old and new values, and the fields that were changed to the tables CDHDR and CDPOS.
    4. You can keep track of the changes made to the table by monitoring these tables.
    Regards
    Anil Madhavan

  • Tracking the changes made to the custom table  field value

    Hi all,
           can we track the changes made to the custom table field values. if yes..plz specify how it can be done.
    Example: if i changed the  value of field  'NAME' of table 'YYHCUSTOMER'. i would like to know the old value and the new value of the field. For this, I set the flag 'LOG DATA CHANGES' in the technical settings of the table 'YYHCUSTOMER'.

    -> try TA: SCU3
    regards Andreas

  • Any standard table that keep tracks of changes in user attributes

    Hi,
    We have a HR system and we are tyring to find out a standard table that keep tracks of changes(when was it changed,who changed it,what has been changed) in user details like email,address etc.
    Plz let me know the solution
    Thanks
    Bala Duvvuri

    CDHDR
    CDPOS

  • Tracking changes in a customized database table

    Hi All,
    I have made a customized Z table having the following technical attributes:
    Data class         APPL1   Transaction data, transparent tables
    Size category      0       Data records expected: 0 to 40,000
    \/  Log data changes(ticked).
    I have made one table maintenance generator for the table and inserted some values in it. I am not able to view the changes made in the table in table DBTABLOG or using transaction SCU3. 
    What are the other settings needed to view changes in table(table history). <<removed by moderator>>
    Regards,
    Debopriyo Mallick

    Hey,
    Check this link. U can find step by step.
    http://help.sap.com/saphelp_nw04/helpdata/en/25/f4dd58807b11d395fc00a0c930dcc1/frameset.htm
    Regards,
    Lakshman.Annamaneni

  • 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.

  • Logged changes in Custom Table

    Hi Gurus,
    Need the Transaction code to check logged changes in Customizing Table ....... Something Like V_T510N...
    ...Need to know the USER ID who changed the table......
    NOTE: THIS IS FOR CUSTOMIZING TABLE....Not INFOTYPE or PA Table.
    Kumarpal Jain.

    Hi
    Check SM30->View of your Custom Table Name->Utilities -> change logs.
    Check Tables : CDHDR and CDPOS also.
    Regards,
    Sreeram

Maybe you are looking for