Reporting on field changes
Mike or anyone,
I am wondering if there are ANY fields that can be used in analytics to see changes to a field (one in which audit is turned on)....I think the Opportunity Sales stage is the only one...and I realize that Custom fields currently do not offer that but I am looking for an Account Level field that I can report against...your swift reply is appreciated.
Thanks Debbie
Since audit trail functionality isn't exposed on Account, you would have to build it yourself. For the fields that you want to audit, you would build workflows that capture the data for you. If it was a simple audit where you only wanted to keep the most recent value, then you could add a field and then populate it with the old value before you save the record. If you needed more history, you could use notes or activities or a custom object to store the history. It would be essentially the same approach, where you copy the old value out before you save the record. This would need to be repeated for all fields where you want to track the history.
Good Luck,
Thom
Similar Messages
-
How to change crystal report data field at runtime ?
Hello everyone,
I have a Crystal Report file ,which i am using to generate report for my windows form project .
In that report i have a filed called as Quantity which data type is set as decimal, the requirement is like that the number of value those comes after decimal point that should be set according to the value which is given by the user at the run time .
For eg: If user gives 1 at the run time then the report Qty field value set one value after decimal point. Like 12.1
if user gives 2 then Qty field the value is 12.22 like tat but user can give from zero to any number.. and if it is zero it should not show decimal
Note: The main idea hear is how to change the filed in Crystal Report decimal point value by using code(or we say writing code we need to set manually as user input it will change)
Can any body help me how to solve this issue .
S.K NayakI think you could probably make the field you see a formula field and take a parameter as the number of decimal places.
totext converts a number to a string.
totext({decimalField}, 2)
That's 2 decimal places.
You could probably substitute a {parameter} for that 2.
If not then you could substitute an entire formula.
To explore formulas:
foreach (FormulaFieldDefinition f in rpt.DataDefinition.FormulaFields)
MessageBox.Show(f.Name);
// f.Text = your new formula
Where rpt is an instantiated report.
Or add another string field which you display in the column and do the calculation with the original decimal.
Hope that helps.
Recent Technet articles:
Property List Editing;
Dynamic XAML -
Report needed: Customer master TAXKD field changes
We are looking to track changes made to TAXKD (tax code) in customer master. Is there any report we could generate weekly that would detail changes made to the field.
Also, we'd like what change was made. (i.e. customer number, date, field changed from 0 to 2)
Thanks,
MichelleHi Michelle,,
Those changes will be recorded in the CDHDR and CDPOS tables with your field name based on the dates..
and also with the Old value and the New value
from the CDPOS
pass
OBJECTCLAS = 'DEBI'.
OBJECTID = Your document number "optional
TABNAME = 'KNV1.
FNAME = 'TAXKD'.
if you pass these thins you will get the in the fileds VALUE_NEW and VALUE_OLD
hope these informatino useful to you.
Thanks
Edited by: Prasanth on Apr 13, 2009 7:40 PM -
How to change report region fields in read only mode?
How to change report region fields in read only mode?
skud.add the following javascript fuction to page header(or Javascript function and variables section)
function disableItems(pRegionStaticId,pDisableFlag) {
$('#'+pRegionStaticId).find('[name^=f]').each( function(){ /* matches fxx */
if( $(this).attr('name').match(/f[0-9][0-9]/) ){
return $(this);
}).attr('disabled',pDisableFlag);
pRegionStaticId is the region's static Id+
Note that this code specifically disables only application arrays. Disabled items are not available after submission (and hence are different from readonly) . But any page javascript can modify disabled or readonly items(client side), so you must check at the server side to validate the data.
You can disable items using
disableItems('MY_REGION_ID' ,true);and enable them by passing false
disableItems('MY_REGION_ID' ,false); -
Report COOIS Field string text change
Dear all ,
I have found the report RCOTX000 to change the text in field string in order information sytem report , well I want to change some field label text in the report COOIS / COOISPI ,so I try with the help of RCOTX000 but it is not changing the field text . Is there any other setting required for this or there is no way for changing the field text ?
Please help me out from this issue.
Thanks
RajeshDear,
Please refer the OSS Note 363327 and 395258.
Regards,
R.Brahmankar -
Using PRE Function to report field changes
Hi Everyone,
As they reporting on audit trail is not available, I was wondering if there was a work around using the PRE function (or any other way) in analytics.
We're looking to track Revenue changes with respect to Opportunities (so, if Opp A's Revenue ever changed since the first time the $ amount was submitted) - we're especially interested in reporting on weekly changes. If the weekly isn't possible, tracking any change would be helpful.
Any suggestions?
Thanks!Why not create a workflow using the PRE() function to record the changes in a Task, you could then report on that task.
cheers
Alex -
Report to track changes to infotypes prior to running the payroll interfac
wants a report to track changes to infotypes prior to running the payroll interface. The attached report looks like it should work but it returns nothing. Is there config that turns on "Track Changes": for select infotypes? If so, can they be activated for key infotypes so this report will run?
Name, Address, position, etc.
Not attendance and absence ITs.Hi,
IMG Personnel Management Personnel Admin Tools Revision Set up change document:
This node has three items:
Infotypes to be logged
Field Group Definitions
Field Group Characteristics
Using these three options you define which infotypes you wish to log, then which fields, then you define which groups of fields are to be saved. Click each link, or see the sections below:
Infotypes to be logged
Here you define which PA infotype numbers you require logging. Select New Entries and enter a transaction class (A for Pers Admin, B for recruitment), then enter the infotype number and save.
Field Group Definition
When changes are made to a logged infotype, the field contents before and after are recorded. This is the very reason for logging the infotype, but there is an overhead in performance and disk space used so it needs to be given consideration. Typically you will want to record fields that are pay relevant.
Using the field group definition, you specify which fields you wish to record changes in. When any of the fields in the group are changed, all the fields in the group are saved. You can use an asterisk to log all the fields of the infotype but this is not recommended for space and performance, also there are many fields on an infotype that you will not be using, that will be saved also. Ideally you will pick individual fields of the infotype and enter them like so:
The field group number is a freely defined number you allocate to the group, it will be used in the next step. For normal use, simply pick any number not already used in that infotype. All fields with the same field group number are recorded in the log, even if they have not changed.
Click New Entries and enter the infotype number, field group number and field names that you wish to record.
Field Group Characteristics
When you have set up the field group numbers, use the field group characteristics to activate the logging of those fields. You can also specify a supplementary field group; this means that the contents of another field group can also be saved at the same time, even though the contents have not changed. In practise it is not used much. Simply select new entries, enter the transaction class, infotype, and in the DocFieldGr enter the number you assigned to the field names that you want to store, then enter L for Long Term Documents (short are not supported)
The Audit Report
To access the report showing the logged infotype changes, use the HR report tree available from various menu paths, including:
Main Menu Human Resources Pers Management Administration Info System Reports - Documents Infotype change logged changes in infotype data. (RPUAUD00).
When you run the report, select the infotypes you require, and select and execute.
Cheers
Prasanth -
Crystal Report to PDF change fonts, cut text and change lines
Post Author: jzwanziger
CA Forum: Exporting
Hello all, I am using Crystal Reports v10 and I created my report. The report works fine and the export function works fine in some particular servers. We were developing under Windows Server 2003 Service Pack 2 using Visual Studio 2005 Service Pack 1. We created the deployment and in our testing servers works fine (Windows Server 2003 and Windows XP these machines doesn't have any development tool).
When we installed the same deployment (MSI) file in the customer Windows Server 2003, the exporting function to PDF or using it the Crystal Reports viewer doesn't work (Same worng thing that is displayed in the viewer is in the PDF). We had detected labels cut in the middle, some fields changed the font size or alignment and some lines move it up, down or growing. Obviously this looks like a environment problem, but we don't have any idea how to fix it, or what is missed.
We tried to install, Windows Service Pack 2, install Acrobat Reader v8, verified the dll's, try to install the "dbex10win_en.zip" hot fix (we were not able to install it, setup file fail due some registry inconsistencies), Validate that the fonts are the same, and nothing fix the problem.
Could somebody help us, we are a little desperate.
thanks in advace for any idea.See [this|https://forums.sdn.sap.com/click.jspa?searchID=29094456&messageID=7206473] forum thread for possible clues to a resolution. In a nut shell, as long as the Calibri font is up to date, the other two steps are;
1) Ensure you are using the latest Service Pack as suggested by Jonathan
2) See what USP10.dll is loading (use the [Modules|https://smpdl.sap-ag.de/~sapidp/012002523100006252802008E/modules.zip] utility)
Also, if this is a win app, compile it to an exe and run the exe to see if the issue persists. (when running the app exe, the USP10 loaded should be from the CR bin directory. when running ion the .NET environment, the USP10 will load from win\system or other)
Ludek
Edited by: Ludek Uher on Jul 16, 2009 10:57 AM -
Custom report #value.FIELD# issue
I've created a report using the custom report layout option. This type of report has field tags #column_name.LABEL# in the heading section and #value.FIELD# in the Body section.
The layout of my report requires that some of the values, #value.FIELD# , be in the heading HOWEVER when I place them there they are returned literally. Values are only substitued when I place them in the Body section.
AND
If I place #column_name.LABEL#'s in the BODY section they are repeated for every row returned. How can I get the #value.FIELD# to return values in the HEADER section?Dear All,
I have checked that for the company code which has COPA value field as zero there is no settlement posted in c088.
For other company codes there are postings on date 30.11.2010 but for this company code there is no poating on date 31.12.2010.
When I am executing co88 in test run its says:
Invalid posting period (please check your entry)
Message no. CK122
Diagnosis
You are attempting to update in a period that is locked against posting. This error can occur when you attempt to post to a period that is in the past.
Procedure
You can allow posting to the prior period in Materials Management. Choose Logistics -> Materials management -> Material master -> Other -> Post to previous period and activate this function for your company code.
If the posting is to be neither in the current period nor in the previous period, then you cannot change any stock data (such as goods movements, purchasing postings, invoice entries, or settlement to materials) because stock data can only be updated in two periods. Possible entries:
the current period in the material master record
the previous period
the last period of the previous fiscal year
Please suggest on the reason ofl error in order settlement how can I rectify
Regards
Raju -
hii,
I have an requirement to track the field changes for customer excise in J1ID transaction . can anyone tell me in which table the changes are logged. I have debugged the standard report and check the table DBTABLOG. but I am not able to get the proper data into the table as which fields are changed and wht is the new and old value.
Regards,
Anil N.hello,
Changes are logged in database as follows
1) CDHDR Header Data,
2) CDPOS Item Data
regards
suresh nair -
Track field changes - Modelling
Hello Gurus,
I hope someone out there can help me. I have a requirement to track header data field changes from data loaded from a non-SAP external system and report on the changed columns showing old value and new value. I am using dbconnect to extract data into a standard ODS.
What modelling do I need to do to satisfy this requirement.
Can you please help?hi Ruregerero,
i think at least there are 2 approaches
#1 account-base,
keyfield1- keyfield2 - ... keyfieldN - itemname - old_value new_value - change_flag
with this, it's more flexible in terms of if new item(s) to be tracked come,
but will have more records
to have reports like following, in query you can use 'restricted keyfigures' (each keyfigure restricted to item value),
keyfield1- keyfield2 - ... keyfieldN - item1_old_value -item1_new_value -changes (new-old)- item2_old_value item2_new_value-...
#2 column-base
keyfield1- keyfield2 - ... keyfieldN - item1_old_value - item1_new_value item2_old_value - item2_new_value .... itemN_old_value - itemN_new_value
not flexible for new item added, has to add new infoobjects in ods,
performance may better compared to approach #1
hope this helps. -
Re: Problem in ALV reports using Field symbols
Hi Friends,
Can you tell me how to convert a normal report using field symbols into ALV report
can ypu please suggest me any solutions.I am sending the code along with this mail.
Regards,
Dinesh
<b>Coding:</b>
*& Report YSDBTEMP *
REPORT YSDBTEMP .
tables: ekko , ekpo .
TYPE-POOLS: SLIS.
*Internal Table Declaration
data: begin of line ,
ebeln like ekko-ebeln , "Purchasing Document No.
bedat like ekko-bedat , "Purchasing Document Date
matnr like ekpo-matnr , "Material No.
netwr like ekpo-netwr , "Net Order Value in PO Currancy
meins like ekpo-meins , "UOM
change like ekpo-menge ,
end of line .
*Internal table Declaration
DATA: IT_final like table of line with header line.
DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV with header line.
DATA : V_REPID TYPE SYREPID.
DATA : IT_LISTHEADER TYPE SLIS_T_LISTHEADER.
data : i_layout type slis_layout_alv .
Header for Main Grid Display
data:i_header1 type slis_t_listheader with header line.
Header for Interactive Report Display
data:i_header2 type slis_t_listheader with header line.
*Field Symbol declaration.
FIELD-SYMBOLS: <FS> type any table.
**select option Declaration
selection-screen begin of block block.
select-options: s_ebeln for ekko-ebeln .
selection-screen end of block block .
start-of-selection.
perform get_data.
perform field_cat.
perform layout using i_layout .
perform grid_display .
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data .
SELECT EKKO~EBELN
EKKO~BEDAT
EKPO~EBELP
EKPO~MATNR
EKPO~NETWR
EKPO~MEINS
EKPO~MENGE
EKPO~BPRME
INTO CORRESPONDING FIELDS OF table IT_FINAL
FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
WHERE EKKO~EBELN IN S_EBELN.
ENDFORM. " get_data
*& Form field_cat
text
--> p1 text
<-- p2 text
FORM field_cat .
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order No'.
fieldcatalog-col_pos = 1.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'BEDAT'.
fieldcatalog-seltext_m = 'Purchasing Document Date'.
fieldcatalog-col_pos = 2.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material No'.
fieldcatalog-col_pos = 3.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Net order'.
fieldcatalog-col_pos = 4.
append fieldcatalog .
clear fieldcatalog.
ENDFORM. " field_cat
*& Form layout
text
-->P_I_LAYOUT text
FORM layout USING P_I_LAYOUT.
i_layout-lights_tabname = 'IT_FINAL'.
i_layout-box_tabname = 'IT_FINAL'.
ENDFORM. " layout
*& Form grid_display
text
--> p1 text
<-- p2 text
FORM grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
*IT_EVENTS = I_EVENT[]
TABLES
t_outtab = <fs>.
endform.Hi,
This is one sample program,
Check this.
I hope it is helpful to you.
TABLES : zeastable_02,zeastable_04.
TYPE-POOLS : slis.
TYPES : BEGIN OF fieldst,
name LIKE zeastable_02-name,
znum LIKE zeastable_02-znum,
empno LIKE zeastable_04-empno,
zempsalary LIKE zeastable_04-zempsalary,
END OF fieldst.
DATA itab TYPE TABLE OF fieldst WITH HEADER LINE.
DATA: w_report_id LIKE sy-repid. "Program name
DATA: w_title TYPE lvc_title VALUE 'Assignment 1 in ALV'.
DATA: w_layout TYPE slis_layout_alv. "Layout setup
DATA: w_fieldcat TYPE slis_t_fieldcat_alv. "Field Catlog
START-OF-SELECTION.
SELECT-OPTIONS employee FOR zeastable_04-empno.
SELECT zeastable_02name zeastable_02znum
zeastable_04empno zeastable_04zempsalary
INTO CORRESPONDING FIELDS OF TABLE itab FROM
zeastable_02 INNER JOIN zeastable_04 ON
zeastable_02name = zeastable_04name
WHERE zeastable_04~empno IN employee.
w_report_id = sy-repid.
PERFORM i_layout CHANGING w_layout.
PERFORM i_fieldcat CHANGING w_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZEASALV_04'
i_grid_title = w_title
is_layout = w_layout
it_fieldcat = w_fieldcat
i_save = 'A'
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
PERFORM i_layout CHANGING w_layout.
PERFORM i_fieldcat CHANGING w_fieldcat.
*& Form i_layout
text
<--P_W_LAYOUT text
form i_layout changing p_w_layout.
clear w_layout.
w_layout-colwidth_optimize = 'X'.
w_layout-edit = ' '.
endform. " i_layout
*& Form i_fieldcat
text
<--P_W_FEILDCAT text
form i_fieldcat changing p_w_feildcat.
data: l_line_fieldcat type slis_fieldcat_alv.
clear l_line_fieldcat.
l_line_fieldcat-fieldname = 'NAME'.
l_line_fieldcat-ref_tabname = 'itab'.
l_line_fieldcat-seltext_m = 'NAME'.
l_line_fieldcat-key = 'X'.
append l_line_fieldcat to w_fieldcat.
clear l_line_fieldcat.
l_line_fieldcat-fieldname = 'ZNUM'.
l_line_fieldcat-ref_tabname = 'itab'.
l_line_fieldcat-seltext_m = 'NUMBER'.
l_line_fieldcat-key = 'X'.
append l_line_fieldcat to w_fieldcat.
clear l_line_fieldcat.
l_line_fieldcat-fieldname = 'EMPNO'.
l_line_fieldcat-ref_tabname = 'itab'.
l_line_fieldcat-seltext_m = 'EMPLNUM'.
*l_line_fieldcat-key = 'X'.
append l_line_fieldcat to w_fieldcat.
clear l_line_fieldcat.
l_line_fieldcat-fieldname = 'ZEMPSALARY'.
l_line_fieldcat-ref_tabname = 'itab'.
l_line_fieldcat-seltext_m = 'SALARY'.
*l_line_fieldcat-key = 'X'.
append l_line_fieldcat to w_fieldcat.
endform. " i_fieldcat
Reward for useful answers. -
Value of the input field changing automatically on click of enter
I was trying to write a simple report that has a single input field with a f4 help for a directory browser attached. the input field can only be filled using the f4 help ( achieved through function module DYNP_VALUES_UPDATE) . The problem is after the input field is populatd if i click on enter or press f8 the text in the input field changes automatically. Please can anyone find the reason for this behaviour and provide a solution .Thanks in advance.report code attached.
Regards,
Kiran A.
REPORT zpgm_md61_error1.
PARAMETERS: p_file TYPE string MODIF ID abc LOWER CASE .
DATA: dyname TYPE programm,
dynumb TYPE sy-dynnr.
DATA: dynpfields TYPE TABLE OF dynpread WITH HEADER LINE.
DATA: lv_folder TYPE string,
sel_folder TYPE string.
AT SELECTION-SCREEN OUTPUT.
PERFORM disable.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
initial_folder = lv_folder
CHANGING
selected_folder = sel_folder
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
dynpfields-fieldname = 'P_FILE'.
MOVE sel_folder TO dynpfields-fieldvalue.
APPEND dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = dyname
dynumb = dynumb
TABLES
dynpfields = dynpfields.
FORM disable.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM. "dISABLEHello Kiran,
This is because you've defined the field as TYPE STRING.
Change the declaration & the problem should be solved:
PARAMETERS: p_file TYPE dynfieldvalue MODIF ID abc LOWER CASE .
BR,
Suhas -
Hi all!
I've been searching for the most simple solution for tracking changes made to database data. I know there are some posts about this already but I haven't fuound suitable solution yet. I've been searcing for Orcale built in solutions and came up with Workspace manager and AUDIT statement for keeping the track on data changes.
I'm wondering, is there another option to do this or is it best to make own history tables and triggers on INSERT, UPDATE and DELETE? If these history tables have similar structure like original tables, what happens when table is altered, a column is added or dropped?
All I need is to be able to make reports on data changes. Basically I need to know who changed what column, what the old value was (NULL on INSERTs) and what the new value is (NULL on DELETEs).
Does anyone have any simple and effective solution for this. Maybe some Oracle built in feature I haven't found out about yet? (We're using 10gR2)
Thank you in advance!
BBWell I came up with some solution :).
Since we have our owns user and timestamp fields on almost every table and triggers, taht fill these two columns, it wasn't that difficult after you suggested your solution.
I include my user column into change table and in JDeveloper in application module I've overridden the prepareSession method with custom method that sets identifier on the database. It looked OK. Bu now I have a couple of questions about CDC and really hope for some answers since I'm running a little out of time and would appreciate any help from someone that uses CDC or knows more about it than I do.
I've been reading literature and found out, that there is a job executing every 24 hours that clears all data changes that is not subscribed to some subscriber. I thought I could use only the publisher for my history records but looks like I was wrong. So I've created a subscriber. My questions are:
1. Do I need a subscriber or can I keep history without and make reports on change tables?
2. Even if I need subscriber, how can I be sure, that data from change tables or subscriber views won't disappear eventually?
As I mentioned I need some kind of a history of data changes recording option and went after CDC. I hope I made the right decision and would really like to found out the answers to my questions.
Thank you all in advance!
Take care.
BB. -
Report for abserving changes made to the customer master and moniter
Report for abserving changes made to the customer master and moniter and detail
Please send with t. code.Hi Dhari,
Well the requirement seems very simple but its not as simple as it looks.
i have an idea not sure whether it gonna work or not. you need to build a history cube as if i understand your requirement then for any selected period you wanna see the change in wage type or pay rate for each employee if any.
1. pick up an cube that builds on emp transaction data.
2. add the 0empoyee Md, wage type and pay rate from MD to the cube and fill the cube
3.so now every day or in scheduled time interval the MD will load and the corresponding the TD will be loaded to the cube.
4. create a info object say indicator and add it to the cube
5.while loading the data to the cube everyday in tranformation check if for same employee there is a change or not in the wage type and pay rate. If so set the indicator to 1.
4.now build one more cube for holding the changed records from this cube and call it say zhrchange
5. now pull the date, year and related emplyee information for the emplyee to the zhrchange for those with indicator 1.
6. before the next load happen, rememrbe to set the indicator to 0 before checking the conditoin in the transformation routine , so that only if the conditoin satisfy then only it will be 1 else it will be 0.
now the cube zhrchange has all the changed records with time stamp and you can base your query on that to get the changed values in specific time period
hope this helps.
Maybe you are looking for
-
I install firefox normally, on my user id on Windows 7. But it won't open. It keeps saying 'Firefox is allready running but isn't answering. A new window can't be opened until all of firefox' processes have been shut down or the system rebootet. This
-
I have the following formula that pulls information from a sub report onto my main page (a summary page) .....this works fine except within these sub codes I have casenumbers, and some casenumbers appear in more than one SubCode. As a result I am try
-
How to convert doc to pdf using java?
-
[CS4] IDataLink deprecated... but now ?
Hello, I have a CS3 document containing a link in one text box. This link point to an inexistent file, i.e. "234.incd", and now it is no needed. Well, when I open this document with CS4 I cannot "unlock" the box, I mean, cannot write in the text box
-
Modbus communication with an automation direct GS2 AC Drive
Has anyone written any VI's to communicate with an automation direct GS2-41P0 AC Drive using modbus? I need to ask the unit a few questions while it is running and possibly start and stop it. I have started searching around and found the NIModbus V