How to identify the changed fields on view

Dear Colleagues,
can you please let me know how can we identify what are all the fields are changed by user and what all the fields are not changed.
example: i have 10 fld on my screen i changed only 3 fld we need to know which is changed and which is not.
i tried with wd_context->is_changed_by_client( ) , buy this we can know whether any changed is done by client or not. But i need to know at UI element wise.
Thanks,
Mahesh.Gattu

Hi Manas,
this is very lengthy process i found very easy way to get it done.
keep this code in wddoinit of component controller.
* enable context change log
    data: context type ref to if_wd_context.
    context = wd_context->get_context( ).
    context->enable_context_change_log( ).
then write one method in component contoller like get_changes.
keep this code in get_changes.
CHANGES     Returning     0     0     WDR_CONTEXT_CHANGE_LIST          
method get_changes .
    data: context type ref to if_wd_context.
    context = wd_context->get_context( ).
    changes = context->get_context_change_log( ).
endmethod.
in above code what ever the chagnes are done it will come into chagne table.
in debug mode you can find the table values.
if you want more details you can refer to the WDC: demo_context_changes as refered by Leka.
Thanks Leka.
Thanks,
Mahesh.Gattu

Similar Messages

  • How to identify the change in the field of a screen

    Hello,
    In a program , i have a screen 100 with some PBO logic and PAI. sample of PAI code
    chain:
    structure-A,
    structure-*,
    module check_mandatory_fields
    module return: ( this will set screen to 0 and then leave statement)
    endchain
    in one of the subroutines we have
    if sy-batch is initial
    call screen 102.
    else
    endif.
    perform ...
    perform ...
    The issue is for some records the processing goes to the PAI of the screen and then returns to the calling program correctly, However few cases it never enters the PAI, there by goes to the main routine which calls this FM.
    Questions
    1. How do I identify there is a change in the structure-A or Structure-B values. Beacuse if check the values are the same.
    2. How do i force it to always enter the PAI irrespective of the change.
    Thanks and regards,
    Shylaja

    Hello Siva,
    Thanks for the reply.
    Currently the issue there is no change in any of the fields. I think thsi is the reason why the PAI is not called. Only in the PAI we have set screen to 0 and leave.
    Without any change in the screen elements how do i force it to enter the PAI
    or
    when i call a screen statement as Call 102, how do i ensure that it returns to the call routine back irrespective of the PAI being executed.
    thanks and regards,
    Shylaja

  • How to identify the changes happened in Exchange using IMAP

    Hi
    I am writing an IMAP Web client using Javamail.
    I want to know the changes happened in the Exchange Server after my last accessed time.
    The changes could be any of below.
    1.) Marking the message to Read
    2.) Deleting a message
    3.) moving the message from one folder to another.
    Please let me know is there any way to do this.
    Thanks in advance.
    Edited by: Sangaran.81 on Mar 9, 2010 12:07 AM

    Sangaran.81 wrote:
    I am writing an IMAP Web client using Javamail.This forum is for Sun Messaging Server IMAP server software related questions which has nothing to do with MS Exchange or JavaMail.
    If you need help with JavaMail I suggest you ask on that forum:
    http://forums.sun.com/forum.jspa?forumID=43
    Regards,
    Shane.

  • How to identify the source field you jumped off in rri-exit

    Hello Forum,
    I need your expertise regarding the following problem:
    We want to fill target fields in the RRI-Exit depending on the source field you called a report.
    When we jump from report 1 to report 2 in BEx Analyzer, we'll get the mdflag in the i_thx_sender table.
    Is there any way to get the same information by calling rri in web? Or is there any workaround to get the information from which field the rri started?
    Many thanks in advance for any idea.
    Kind regards,
    Tobias

    Hi,
    One simple way is goto CMOD and give project names with Z* or Y*. First findout the naming convensions following in  your project and see.
    Then gibe projects one by one and select COMPONENTS option and click on Display, if you find the following Function Exits means it is our DataSource project
    EXIT_SAPLRSAP_001
    EXIT_SAPLRSAP_002
    EXIT_SAPLRSAP_003
    EXIT_SAPLRSAP_004
    Thanks
    Reddy

  • How  to validate the mandatory fields in the view in WDA?

    Dear experts,
                            Iam new to WDA. i just want to know how  to validate the mandatory fields in the view in WDA?please refer any documents for validating the mandatory fields.
    Regards,
    murthy.
    Edited by: Murthy Ganti on Jul 13, 2009 2:31 PM

    Hi,
    Firstly goto view->select the element that you want to make mandatory and set the State property to required.
    Secondly place the below code in the WDDOBEFOREACTION
    DATA: l_view_controller TYPE REF TO if_wd_view_controller.
    * Get view controller
      l_view_controller = wd_this->wd_get_api( ).
    * Check for mandatory attribute
      cl_wd_dynamic_tool=>check_mandatory_attr_on_view(
      EXPORTING view_controller  = l_view_controller
                display_messages = abap_true
    Regards,
    Radhika.

  • How to identify the DDL changes ?

    Hi all,
    How to identify the DDL changes done to the database ?
    By triggers only Or we can use Logminer also OR
    SELECT * FROM USER_OBJECTS where object_type = 'TABLE' order by LAST_DDL_TIME desc;
    OR
    is there any other options are available ?
    Thanks in advance,
    Pal

    Something from asktom might help
    tkyte@TKYTE816> create or replace trigger ddl_trigger
    2 after create or alter or drop on SCHEMA
    3 declare
    4 l_sysevent varchar2(25);
    5 l_extra varchar2(4000);
    6 begin
    7 select ora_sysevent into l_sysevent from dual;
    8
    9 if ( l_sysevent in ('DROP','CREATE') )
    10 then
    11 if l_sysevent = 'CREATE'
    12 then
    13 begin
    14 select 'storage ( initial ' || initial_extent ||
    15 ' next ' || next_extent || ' .... )'
    into l_extra
    16 from all_tables
    where table_name = ora_dict_obj_name
    17 and owner = user;
    18 exception
    19 when no_data_found then null;
    20 end;
    21 end if;
    22
    23 insert into log
    24 select ora_sysevent, ora_dict_obj_owner,
    25 ora_dict_obj_name, l_extra
    26 from dual;
    27 elsif ( l_sysevent = 'ALTER' )
    28 then
    29 insert into log
    30 select ora_sysevent, ora_dict_obj_owner,
    31 ora_dict_obj_name, sql_text
    32 from v$open_cursor
    33 where upper(sql_text) like 'ALTER%' ||
    34 ora_dict_obj_name || '%'
    35 and sid = ( select sid
    36 from v$session
    37 where audsid=userenv('sessionid') );
    38 end if;
    39 end;
    40 /

  • How to identify the bill is First bill, Final bill or Normal bill?

    Hi
    How to identify the bill is First bill, Final bill or Normal bill.
    If the bill is first bill how we can identify this is by acquisition or change of tenancy.
    If the bill is final bill how we can identify this is by change of tenancy or loss.
    Please provide the tablets to get the above information.
    Thanks & Regards,
    Sree
    Edited by: Sree on Oct 13, 2009 11:23 AM

    Sree,
    Please check the field ERCH-ABRVORG (billing transaction).  It shows you what kind of bill has been created (e.g., 03 = Final Billing for Move-Out). If the begin of billing period matches to the move-in date it is the first bill created for that particular contract.
    I hope this helps.
    Kind regards,
    Fritz

  • How to use the change log in ODS to track Delta change?

    People say that historical data (like Delta change) in ODS can be tracked in the Change Log.  How to use the change log to track historic data?
    Thanks

    Kevin
    See if it helps
    Every ODS object is represented on the database by three transparent tables:
    Active data: A table containing the active data (A table)
    Activation queue: For saving ODS data records that are to be updated but that have not yet been activated. The data is deleted after the records have been activated.
    <b>Change log: Contains the change history for delta updating from the ODS Object into other data targets, such as ODS Objects or InfoCubes for example.</b>
    An exception is the transactional ODS object, which is only made up of the active data table.
    The tables containing active data are constructed according to the ODS object definition, meaning that key fields and data fields are specified when the ODS object is defined. Activation queue and change log are the same in the table’s structure. They have the request ID, package ID and the record number as a key.
    Data base structure changes
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/d53ec3efdc9b47a9502c3a4565320c/frameset.htm
    Hope this helps
    Thnaks
    Sat

  • How to identify the user who created the variant

    Hi All,
    Can anyone tell me how to identify the user who created the variant ?

    Hi Dear,
    For the same go to SE11 and view the table "VARID". This table give the details of the program,user,variant etc.
    From this table u can know which user created the variant. Hope this solve your purpose.
    Regards

  • How to insert the new field to standard scheduling agreement script form.

    Hi Gurus,
    how to insert the new fields to standad sheduling agreement script form. its a need for me, i want to display the AEDAT field in scheduling agreement form ,
    The below one is my requirement,
    ex:-   Itu2019s requested the change of Scheduling Agreement printout. Itu2019s requested for this type of   document, the insertion, into the field u201CData Emissionu201D into the print, of the document last modify date instead of the document creation date. (This change will be done only for position change into the Scheduling Agreement). No change into the PO.
    Change SAPSCRIPT printout. Introduction, into the Scheduling Agreement, of last modified  
          document date (field EKPO-AEDAT).
    Thanks & Regards
    chinnu

    open TNAPR table and give the output type you need to modify.... get the print program name and check if some structure already have the date you wanted... if you have it already... then open the form in SE71 tr. and provide the strcuture name - feild in the position you want to have the date...
    se71--->
    &<str. name>-AEDAT&

  • How to reduce the  width of  OVS view layout

    Hi All,
           In   ESS-Bank Information-Bank Payee  field we have a  OVS View UI .Can any one please let me know how to reduce the  width of OVI  view layout (Search Screen)
    Regards
    Alex

    Check this [thread|restrict input field size;
    Hope this helps.

  • How to revert the changes done  in  an  ABAP query

    hi experts,
    how to revert the changes done  in  an  ABAP query.
    I renamed a field in ABAP Query in development system, but the output list now has overlapping fields.
    the renamed field is getting overlaped with other fields, also one more field has overlapped.
    now the problem is how to get back to the previous version of the query so that the overlapping fields can be corrected.
    renaming one field has led to the problem of overlapping fields in the output.
    the sequence of the fields has also been affected.
    Please help

    Hi,
    Goto Utilities-> versions-> version management.
    It will show you list of previous TR's. Just click on the version which you want to retrieve and click on Retrieve button on the top.
    Your program will be retrieved to your previous version before change.
    Hope this will help.
    Regards,
    Aravind.

  • How to Hide the Parameter field at run time....

    Hi,
    I have a parameter field which behaves differently depending on the User logged in.
    It has the LOV coming from following SQL.
    SELECT customer_name FROM Cust_mast;
    If the user = 'INTERNAL' then the Where clause will be
    WHERE cust_id in('DELL', 'SBC', 'BANK')
    Else there will be no WHERE clause or the parameter field
    should be hidden in the parameter form.
    So my questions are:
    1) How to hide the Parameter field during Run time?
    OR OR OR
    2) How to change the LOV select statement during Run time?
    Thanks.
    Ram.

    Hi Ram,
    Is there any way to play with the sql query SELECT using DECODE ?I'm not sure of this part, maybe someone else can suggest a way.
    However, what you want can be done in 2 other ways:
    1. Build 2 reports. Both reports will just be duplicates of each other, only difference being that the 'LoV where clause' will be different. Now you can fire the appropriate report in many ways. For example, if the customer is alreay logged inside your custom application, and therefore you already know whether the user is internal of external, you can design your button or link which launches the report to contain logic such that one of the 2 reports is fired depending on who the user is.
    1. Use a JSP parameter form, not a paper parameter form In this case, just build an HTML parameter form in the web source of your report. Use Java logic to populate the LoV drop-down list. When you have to launch the final report, just launch the paper-layout of the report. For example (you will have to modify this):
    <form action="http://machine:port/reports/rwservlet?report=ParamForm.jsp+..." name="First" method="post">
    <select name="selected_customer" onChange="First.submit()" >
    <option value="">Choose a Customer Name
    <rw:foreach id="G_cust_id" src="G_cust_id">
         <rw:getValue id="myCustId" src="CUSTOMER_ID"/>
    <rw:getValue id="myCustName" src="CUSTOMER_NAME"/>
    <option value="<%=myCustId%>"><%=myCustName%>
    </rw:foreach>
    </select>
    </form>
    In the code above, you will have to make sure that your report's data model defines 2 CUSTOMER_ID's (like CUSTOMER_ID_INT and CUSTOMER_ID_EXT). These 2 will be internal and external Cust ID's. Use Java logic to show one of them.
    Navneet.

  • How to identify the alternative payee in payment run

    Hi All
    How to identify the alternative payee details in payment run by using transaction code F110 or which table or fields contain the alternative payee details for example REGHU & REGUP.
    How to identify the alternative payee details from system level. Any Update.
    Regards
    K.Gunasekar.

    Hi,
    EMPFG (Payment Recipient ) field in REGUH will give you the alternate Payee name of the Payment run executed in F110.
    Regards,
    SAPFICO

  • How to identify the right extractor

    hi all,
    i have a custom extractor(ABAP report) to pull the Std cost info into BW from R/3. I would like to remove this custom extractor and go for a generic one. Can anyone provide me the steps on how to identify the appropriate generic extractor.
    i know the underlying tables names....eg KEKO, KEPH etc

    Hi Vinod,
    There will no appropriate generic extractor as such. Generic Extration itself means creating a custom extractor. All you need to do is
    1.Goto RSO2, select the type of datasource(i.e transaction or Masterdata)
      and click on create
    2. Specify the table name, ( if you are pulling data from two tables then you have to create a view at Tcode se11, then you need specify that view here)
    3. click on generate
    This will generate the datasource
    You can refer the following doc for further assistance,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Thanks
    Vj

Maybe you are looking for