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 alwayshmm...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 -
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,
VinoIt 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
AJHi 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. -
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,
MauHi,
<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 AWNSERSHello 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,
KrantiHi 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 DuvvuriCDHDR
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 MallickHey,
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,
ClemensHi,
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.
a® -
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
-
Can a use a partitioned external hard drive to create a disk image? I tried, doesn't seem to work using disk manager.
-
Imac with 2 cinema displays, help.
I currently have a intel based imac 17" the one with the camera on top. Hooked up with that i have a 20" apple cinema display, aluminium one. I will shortly be upgrading to the aluminium 24" imac. I have just bought a second 20" apple cinema display
-
Continuous endless cycle of restoring messages and iPod does not restore.
I have a black iPod Nano 4GB and I've been trying to restore it for hours. I have the latest iTunes and the latest iPod software. Everytime I plug my iPod into my computer, it shows up in iTunes and iTunes says that I need to restore my iPod, so I cl
-
IAS documentation links are not working today
All the links from http://otn.oracle.com/documentation/content.html work to the next level, but any links starting with http://download.oracle.com/docs/cd/... give a page not found error
-
Cisco Prime 2.0 and monitoring FWSM transparent context
Hi All, We have FWSM and ASASM configured in mixed mode (routed and transparent) In transparent mode, there is no IP address linked to the interface. Cisco Prime save just the admin context, not the global context and other context. My question is: h