Highlight fields that changed its value

Hi all,
I'm working on a form that goes from one user to another.  It's a fairly large and complex form (about 7 pages) with calls to multiple web  services.
After the form is opened and some information is  populated into the fields, a user will be able to change the values of some  fields, and then will submit the form.  The next user in the process will get the form and open it up from  his/her To-Do queue.  The fields with the  changed values (changed by the previous user) would need to be visually  identified to this next user.  When that  user finishes working on the form and submits it, it is opened by the next user  in line. and the changed information STILL needs to be visually identified.  We have found it is easy to highlight a  changed field while a user is working on the form (using the change event) but  it is more difficult to make that highlight stay visible all the way through the  process as different people get the form. I thought about making a hidden field  for every field in the form and compare the values in the validation event. but  this would effectively double the size of the form and all those hidden values  would need to be included in the XML schema (doubling the size of the XML  schema).
We would appreciate ANY assistance on a proper  approach.

That does make things clearer.  You will have to save the change information in the XML.  I realize that you don't want to save an xml node for every field, but there is a better way.  You can use scripting to add data nodes to the XML data in the form.  I'm thinking of the following:
Include an empty container node in your XML schema: <HighlightedFields></HighlightedFields>
When a field is changed, in the field's change event call a common script: HighlightChangedField, passing in the object.  The script will highlight the field (set the border a certain color or whatever).  It will also add node underneath the HighlightedFields data node with the SOM expression of the field.  The SOM expression is the "path" of the object in the form heirarchy, sort of like an xpath.  So if you have a subform named Subform1 and you change the Name and Address textfields, you might end up with something like:
<HighlightedFields>
    <HighlightedField>
        <SOMExpression>xfa[0].form[0].myform[0].Subform1[0].Name[0]</SOMExpression>
     </HighlightedField>
    <HighlightedField>
        <SOMExpression>xfa[0].form[0].myform[0].Subform1[0].Address[0]</SOMExpression>
     </HighlightedField>
</HighlighedFields>
The upside of this is that you only store XML nodes for what is changed instead of needing a specific XML node for each field.  The downside is that you will need a call to the common script in every field's change event: HighlightChangedField(this);
Now, to make this work when a form is loaded the next time, in the initialize event at the topmost subform in the hierarchy you add a script that walks the HighlightedFields data node, and for each HighlighedField entry you highlight the contained object.  You can get a reference to an object using its SOM expression, so just take the SOM expression from each entry and do an xfa.resolveNode(SOMExpression) to get the object, then set whatever attributes you want to highlight the field.
The big issue I see with this would be if you have dynamically added objects on your form.  In that case you would probably need to store the instance index along with the SOM expression for each changed object, then use that instance number when highlighting on form load.
I don't know how much you know about scripting, so I hope the above makes sense.  If you need more help I can try to mock something up.
Regards,
Kevin

Similar Messages

  • How to check if a user has clicked on a digital control and changed its value?

    Greetings !!!
    I am looking for a simple way (without using Windows messages)of knowing if an user has clicked on a digital control and changed its value.
    I have tried the key focus property; but I have to click twice to make it work.
    If somebody knows a better solution; please let me know.
    Thank you in advance for your help

    If you just want to know if the value has changed you can put it in a while loop and use shift registers to see if the value has changed.
    Brian
    Attachments:
    Changed.vi ‏22 KB

  • Visio Drawing Using Data Graphics with data that has a field that contains Multiple Values.

    I am working on creating a drawing for SMTP connectors.  I decided I would use a Data Graphic connecting to a spreadsheet.  In the spreadsheet there are a few fields that are Multi-Value fields.  For instance SmartHosts contains multiple Ip
    address.  I am trying to get this to format things so that the IPs show on the next line down instead of continuing on the same line until it wraps. 
    Does anyone know a way I could do this?
    Jeff C

    Hi Jeff,
    Arrange the IP values in spreadsheet using Alt+Enter (Use this key pair as a separator between two IP values). Now link this spread sheet to Visio. The values should appear in the same manner in data graphics as your expectation.
    Let me know if you meant something else.
    Thanks,
    Dheeraj 

  • Acrobat 8, "Highlight Fields" color change

    Hi, I'm trying to help a friend trace a random change in the color of form fields when you select highlight fields. Previously it was the same as mine, a light, opaque blue. Now it's changed to a dark gray making text hard to read. The only thing I can guess caused this was an automatic update to Vista. Before the update it was blue, after the reboot the fields are gray. Does this sound familiar to anyone? Is there a fix? I've searched every menu and can't find even an option to change the color. Is there an option in Vista to change the form field colors? Or is this a glitch caused by the update that requires a repair install?
    Any advice is appreciated.
    Thanks
    sasha

    ? related to the highlighted fields'. When you open a pdf, in the
    upper right corner there is a box to check, if you want the fields
    to be filled in, highlighted.
    Is there a way in the properties to set a default for the page, when
    the pdf is opened, that this 'highlight fields' box is always checked.
    My user doesn't want to have to check this 'box' each time entering the pdf upon opening.
    Thanks for any guidance Lfiacco

  • Why knob need to use property node to change its value

    Refer boiler vi in CLD exam sample question. 
    In the vi the knob vlaue is changed with a property node, it is not wired directly to a constant. The comment in the vi is something like "writing using property node because of the latch action of the booleans in the cluster"...
    Huh? How do the booleans influence the knob even though they are in a same cluster? What principle is this called? I need to google this up,  I didn't read it in.
    my Labview books. 
    Attachments:
    Boiler Main LV86.zip ‏61 KB

    That comment doesn't make any sense.
    There are two main reasons I can think of why you want to use a Value property node.
    1.  You want to control the order of execution by using the error wire.
    2.  You want to use a property node on multiple controls by feeding it references to different controls.
    Neither of these appear to apply in the screenshot you show.
    However, looking deeper, it looks like you can set the value of a specific item in the cluster by way of the property node.  Check out the Link to section of its shortcut menu.  I don't think you can use a local variable to set a given element of the cluster.  Now you could change the value of the entire cluster.  Read the cluster, bundle the new value for that one element, write to a local variable of the cluster.  But you won't be allowed to do that because of the latched booleans that are a part of the cluster.  Hover over the context help of that property node and read the description there as well.

  • How to make the  column red in field catalog if its value is negetive

    i am displaying 25 columns in a field catalog ,
    if the value of the cell is negative it should appear in red colour .
    for ex,
    mat.no      custno      value
    1                10             10
    <b>2                20             -10</b>
    3                 30             20
    note:
    only cell which is the intersection of second row and third column
    should appear red .
    not the whole row or column

    Hi Balaji,
    Run this code for coloring specific coloum in a row when the value of that column is negative
    REPORT zex34 .
    TYPE-POOLS: slis.
    INCLUDE <icon>.
    DATA: it_fieldcat  TYPE slis_t_fieldcat_alv,
          it_fieldcat1  TYPE slis_t_fieldcat_alv..
    DATA:  x_fieldcat  TYPE slis_fieldcat_alv,
            x_fieldcat1  TYPE slis_fieldcat_alv.
    DATA: it_events TYPE slis_t_event,
          x_events TYPE slis_alv_event,
          i_program LIKE sy-repid.
    x_events-name = 'END_OF_LIST'.
    x_events-form = 'LIST_MODIFY_OUPUT'.
    APPEND x_events TO it_events.
    data : count type i,
           calc1 type i value 1,
           calc2 type i value 1,
           TOTREC TYPE I.
    DATA: BEGIN OF it_mara OCCURS 0,
          matnr LIKE mara-matnr,
          kunnr LIKE mara-kunnr,
          value type i,
          flag(1),
         END OF it_mara.
    SELECT matnr
           kunnr
           UP TO 10 ROWS
          INTO corresponding fields of TABLE it_mara
          FROM mara.
    loop at it_mara.
         count = sy-tabix mod 2.
       if count eq 0.
         it_mara-value = calc1.
            calc1 = calc1 + 6.
         it_mara-flag = ' '.
       else.
           calc2 = calc2 - 5.
         it_mara-value = calc2.
         it_mara-flag = 'X'.
       endif.
       modify it_mara index sy-tabix.
       TOTREC = TOTREC + 1.
    ENDLOOP.
    i_program = sy-repid.
    DATA:l_pos TYPE i VALUE 1.
    CLEAR: l_pos.
    l_pos = l_pos + 1.
    x_fieldcat-seltext_m = 'MATNR'.
    x_fieldcat-fieldname = 'MATNR'.
    x_fieldcat-tabname = 'IT_MARA'.
    x_fieldcat-col_pos    = l_pos.
    x_fieldcat-outputlen = '18'.
    APPEND x_fieldcat TO it_fieldcat.
    CLEAR x_fieldcat.
    l_pos = l_pos + 1.
    x_fieldcat-seltext_m = 'KUNNR'.
    x_fieldcat-fieldname = 'KUNNR'.
    x_fieldcat-tabname = 'IT_MARA'.
    x_fieldcat-col_pos    = l_pos.
    x_fieldcat-outputlen = '10'.
    APPEND x_fieldcat TO it_fieldcat.
    CLEAR x_fieldcat.
    l_pos = l_pos + 1.
    x_fieldcat-seltext_m = 'VALUE'.
    x_fieldcat-fieldname = 'VALUE'.
    x_fieldcat-tabname = 'IT_MARA'.
    x_fieldcat-col_pos    = l_pos.
    x_fieldcat-outputlen = '10'.
    APPEND x_fieldcat TO it_fieldcat.
    CLEAR x_fieldcat.
    l_pos = l_pos + 1.
    x_fieldcat-seltext_m = 'FLAG'.
    x_fieldcat-fieldname = 'FLAG'.
    x_fieldcat-tabname = 'IT_MARA'.
    x_fieldcat-col_pos    = l_pos.
    x_fieldcat-outputlen = '1'.
    APPEND x_fieldcat TO it_fieldcat.
    CLEAR x_fieldcat.
    l_pos = l_pos + 1.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
         EXPORTING
              i_callback_program = i_program
              it_fieldcat        = it_fieldcat
              it_events          = it_events
         TABLES
              t_outtab           = it_mara
         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.
    *&      Form  LIST_MODIFY_OUPUT
          text
    FORM list_modify_ouput.
      DATA: l_matnr LIKE mara-matnr,
            l_kunnr LIKE mara-kunnr,
            l_value type i,
            l_index TYPE sy-index.
      CLEAR it_mara.
      DO 20 TIMES.
        CLEAR: l_matnr, l_kunnr , l_value.
        READ LINE sy-index INDEX sy-lsind
             FIELD VALUE it_mara-matnr INTO l_matnr
                         it_mara-kunnr INTO l_kunnr
                         it_mara-value into l_value.
    *3lines are reserved for alv headings , so i am reading it form 4th
    *line so 4th line is equal to 1st line of itab
        IF sy-subrc = 0 AND sy-index GE 4.
          l_index = sy-index - 3.
          READ TABLE it_mara INDEX l_index.
          IF sy-subrc = 0 AND it_mara-flag = 'X'.
    *-Modifying current list
            MODIFY LINE sy-index INDEX sy-lsind
                       FIELD FORMAT it_mara-VALUE COLOR 6 INVERSE.
          ENDIF.
        ENDIF.
      ENDDO.
    ENDFORM.

  • Array changes its value without apparent reason

    Hi, i have been now trying to solve this problem for two days with no result.
    I have a piece of code thats compares the last two elements of a cluster on every position of two arrays, (these are cordinates x,y) so when it finds two sets of coordinates matching, it then sets the fist element of the cluster on that position one of the of the arrays to 0 and the other to 5.
    The problem is that when if exits the first FOR loop, it loses the value 0, and recovers the value it had before entering the loop.
    The code:
    In bpoint 25 it has 6, then in 26 turns to 0
    Solved!
    Go to Solution.
    Attachments:
    Picture.jpg ‏182 KB

    If you put a probe on the boolean going to the case structure selector terminal (with ?), I think you will find that the last value is False.  In that situation the value on that wire tunneling through the False case will appear on the output (at probe 26). You could also put a probe on the wire in the False case - the same location as probe 25, except in the False case.  Highlight execution might be helpful but from looking at the timestamps it might be so slow as to be too annoying to be helpful.
    Lynn

  • How to insert data into a table only when data has changed its value (when compared to the previous inserted value)

    I wish to insert data into a table only when the value of the inserted data has changed. Thus, in a time series, if the value of the data at time, t-1, is 206 then if the data to be inserted at time t is 206, then it is skipped (not entered).
    If the value of the data at time t+1 is 206, it is skipped also; until the value changes, so if the value at t+1 was 205, then that would be inserted, and if at time t+2 the data is 206, it would be inserted too.
    What is the best way to do it without increasing overheads?

    This view works:
    SELECT
    i.IDNO,i.[Date],i.[Level]
    FROM
    mytable i
    INNER
    JOIN mytable
    d
    ON
    d.IDNO
    = i.IDNO-1
    WHERE
    i.[Level]
    <> d.[Level]
    on this mytable below.  A trigger could be quite useful here although I am cautious using them. However I wish to avoid the overhead by not having a temp table (which could be sizable).  mytable below
    should give 3 lines. The IDNO is an identity column.
    IDNO
    Item
    Date
    Level
    1
    X24
    12/23/13 10:41
    22996
    2
    X24
    12/23/13 10:41
    22996
    3
    X24
    12/23/13 9:21
    23256
    4
    X24
    12/23/13 9:21
    23256
    5
    X24
    12/23/13 9:22
    23256
    6
    X24
    12/23/13 9:22
    23256
    7
    X24
    12/23/13 9:22
    22916

  • A Currency Field is Changing its Format While Loading to Internal Table?

    I download custom table data, via RFC call, to an internal table. The field in question has a data type of CURR, length 17, dec 2. 
    In debug it wants to make it [P(9)DEC2].
    table value = 2,360,895.00.
    internal table value = 202020202020323.33
    table value = 0.00
    internal table value = 303839352>30302.02
    I know these must be packed, but how do I get what I see (unpacked)?
    Any suggestions?     Thank-You.

    Are you using RFC_READ_TABLE fm. For me it is not work fine with currency fields
    Line nos in fm
    DATA: BEGIN OF WORK, BUFFER(30000), END OF WORK.
    FIELD-SYMBOLS: <WA> TYPE ANY, <COMP> TYPE ANY.
    ASSIGN WORK TO <WA> CASTING TYPE (QUERY_TABLE).
    so i changed the code as per the following
      data: dref type ref to data.
      field-symbols: <wa> type any, <comp> type any.
      create data dref type (query_table).  
      assign dref->* to <wa>.               
    May this info will help you
    Please use SE16 as suggested by Rob in you previous thread

  • How to hide a output field without changing its layout

    Hi
    My requirement is that i ahve a field which is just for calculation purpose and I do not want it to show as output.
    I want to know how to do that without changing layout.

    Hi,
    If your are using module pool.  Goto the field attribute, in attribute select Display-> select Invisible check box.
    Regards,
    Bhaskar

  • How do I create a time field that's export value is 3 hours ahead of the current time?

    I need to create a field on one of our forms that takes the current time from another field and adds 3 hours to it. The JavaScript to pull the current time is:
    var tm = this.getField("Time");
    if(tm.value == '' || tm == ' ') tm.value =
    util.printd("HH:MM tt",new Date());

    Does your posted script work as expected?
    It does not fill-in the field for me.
    Is that code to get the time from a field or set the time for a field?
    Is the field you are trying to update?
    A time string for a computation is very limited or error prone unless it includes the date. There are many locations in the world that still observe Day Light Savings Time or Summer/Winter time and the time either moves forward one hour or falls back one hour at a certain date and time as prescribed by national or local law. So if one want to add 3 hours 1 hour before the time sift for the spring that would be 11:00pm adding 3 hours would result in a time value of 3:00 am the next day and not 2:00 am the next day. The hour between 1:00 am and 2:00 am does not exist for the local time zone.

  • Best way to code to retrieve a field that matches one value

    Hello,
    Thanks for reading this post!
    I have a data set where users can be part of workgroups. I want to exclude any user that is part of workgroup 2 and 7, and only retrieve users that are solely part of workgroup 2.
    There can be users that are part of just workgroup 7 or other workgroups like 4, 5, 6 etc., but I only want users that have only workgroup 2 and no other workgroup.
    CREATE TABLE users
    ( user_id NUMBER(10)
    , user_lastname VARCHAR2 (50)
    , workgroup NUMBER(10)
    INSERT ALL
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (3, User_lastname3, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (4, User_lastname4, 7)
    I want to exclude any users that have both workgroups 2 and 7 and
    only retrieve users that have just 2. In this case I only want to retrieve user_id 3.
    Thanks!
    Edited by: dbarcell on Oct 8, 2011 11:44 AM
    Edited by: dbarcell on Oct 8, 2011 11:48 AM
    Edited by: dbarcell on Oct 8, 2011 11:51 AM

    dbarcell wrote:
    Hello,
    Thanks for reading this post!
    I have a data set where users can be part of workgroups. I want to exclude any user that is part of workgroup 2 and 7, and only retrieve users that are solely part of workgroup 2.
    There can be users that are part of just workgroup 7 or other workgroups like 4, 5, 6 etc., but I only want users that have only workgroup 2 and no other workgroup.
    CREATE TABLE users
    ( user_id NUMBER(10)
    , user_lastname VARCHAR2 (50)
    , workgroup NUMBER(10)
    INSERT ALL
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (3, User_lastname3, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (4, User_lastname4, 7)
    I want to exclude any users that have both workgroups 2 and 7 and
    only retrieve users that have just 2. In this case I only want to retrieve user_id 3.
    Thanks!
    Edited by: dbarcell on Oct 8, 2011 11:44 AM
    Edited by: dbarcell on Oct 8, 2011 11:48 AM
    Edited by: dbarcell on Oct 8, 2011 11:51 AMSQL> CREATE TABLE users
    ( user_id NUMBER(10)
    , user_lastname VARCHAR2 (50)
    , workgroup NUMBER(10)
    INSERT ALL
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (1, User_lastname1, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (2, User_lastname2, 7)
    INTO users(user_id, user_lastname, workgroup) VALUES (3, User_lastname3, 2)
    INTO users(user_id, user_lastname, workgroup) VALUES (4, User_lastname4, 7) 2 3 4 5
    Table created.
    SQL> SQL> 2 3 4 5 6 7 ;
    INTO users(user_id, user_lastname, workgroup) VALUES (4, User_lastname4, 7)
    ERROR at line 7:
    ORA-00928: missing SELECT keyword
    test data is FUBAR!

  • Standard text must change its value in run time in english or in chinese

    Hi all,
    i have created the standard text in SO10. name is  YTEST and inside i have declared &vbdpl-idnkd& since i need to get the value of this variable.
    In script i have written
    IL    ,,&VBDPL-POSNR+03(03)&,,&ZPRN_MTRL&,,
    /:     INCLUDE YTEST OBJECT TEXT ID ST LANGUAGE 'EN'
    =     ,,&VBDPL-BSTNK&,,&VBDPL-LFIMG(I10.0)&
    but the output is coming as &vbdpl-idnkd& only and not the value inside it.
    1) how to retrieve it.
    2) Also the value inside &vbdpl-idnkd& may come in English or sometimes in Chinese
    3) the standard text when printing is getting printed in the next line and not on the same line with posnr, mtrl ..... 
    Plz guide me how to process this.
    thanks
    Sakthi.

    Hi,
    Save the text in different languages in different SO10 objects .(Maybe with same name but dufferent LANGU Key).
    Now while calling the text, give in the appropriate langu key...for eg:
    /:     INCLUDE YTEST OBJECT TEXT ID ST LANGUAGE 'EN'    -
    > for English
    /:     INCLUDE YTEST OBJECT TEXT ID ST LANGUAGE 'ZH'   -
    > For chinese
    Hope this helps you.
    Cheers,
    Varna

  • Shared variable change its value with delay

    Hello. My shared variable shows an old value during some time after writing a new one. What is the reason?

    CKap,
    how to check buffering enabling for shared variables? I've attached pics of block diagrams: VirtualSpectrometer writes shared variable dLambda, and Camera reads it. And sometimes, even when VirtualSpectrometer attemp to write 0 to dLambda for the number of loop's periods, dLambda stay non-zero (to be exact +/-5.55) for a couple of seconds.
    Attachments:
    VirtualSpectrometerd.jpg ‏135 KB
    Camerad.jpg ‏386 KB

  • Is it possible to change the colour of the highlighted fields in a form? And if so how?

    Hi there,
    I would like to know how to change the highlighted fields that show up on a form once it has been designed and PDF'd. I know i can turn it on or off but i would like to just change the colour so it matches our styling of the company.
    Is there a way to do this and if so how??? If not thats fine i just need to know if there is a way.
    Thanks
    Jennah

    Hi,
    What do you mean by travel? Is that when it wont change all settings across the board? e.g another staff member with adobe acrobat wont have the same settings as i do?
    I am the only one creating the forms and using any adobe settings anyway so i guess it wont really matter that they dont have the same settings as i do but its not hard to change them on all pc's anyway.
    Thanks though.

Maybe you are looking for

  • Color format upon condition in RTF

    Hi will anyone help me in this issue i've a column i want when it be a negative value to display its font in red . how can i apply that in rtf template ???

  • Help needed in executing SQL query...

    Hi, I am very new to JDeveloper. Curently i am tryin to execute an SQL query from the BPEL process, the output of the query is to be mapped to a variable field from a target xsd file. the query is fairly simple, like SELECT emp FROM emp_table WHERE e

  • How to produce a graph in the jsp page dynamically

    I want to generate a graph dynamically in my jsp page, depending on the data in my database. Please help how can i do this and the possible ways to do this.

  • Which wayis the best practice ?

    Hi , I am doubt of which way is the best practice to initialize instance component in a Panel. ie .is there any diference, in terms of performance , between initializing component inside the constructor or just outside of constructor? 1) public class

  • Streaming webservices, is it possible?

    Is it possible for me to stream data from a jdbc connection through a webservice to the caller? Oliver