How to get item field values for old versions?

I need to be able to query old field values from previous versions of items in a SharePoint list. I can't execute code on the server (it needs to work with SharePoint Online/O365 for a start).
So far the ONLY API I've that lets me do this is the lists.asmx GetVersionCollection SOAP call.
This lets me specify a single field name and returns an XML structure with the values for the various versions, along with the modification time and who made the change - but NO reliable way of actually identifying *which* version (i.e. an ID or label). That
is, if I know I need to fetch the Title value from version 512 ("1.0") of item 1 in list "Documents", I don't see how to reliably parse the results to determine which entry is version 512. While they may be returned in order, in many cases
the entries are actually missing when there was no field value present (or perhaps when the field hadn't been created yet). I've tried comparing the Modified date to the Created date of the corresponding FileVersion item (which I can get via CSOM or REST),
and while it works some of the time, it's not reliable. I've also looked at the output from the lists.asmx GetVersion API but I don't see how that's useful either, as the Created property for all versions always seems to be just the date the file was originally
created.
It does seem odd to me that there's not a neat way of doing this - if I need to return information for several fields but just for a single version, I have to make a whole lot of requests that return far more info than I need, and then I need to figure out
how to parse the returned text in the case of, say, multiple-value taxonomy fields etc.
Anyone tried doing anything similar here?
Thanks
Dylan

try these links:
https://support.office.microsoft.com/en-us/article/Track-and-view-version-information-for-SharePoint-list-items-2d69d936-fb0b-4c84-830e-11708e6ec317?CorrelationId=f87cf6ea-8cbf-446a-a4a0-e2c3a86b3425&ui=en-US&rs=en-US&ad=US
https://social.technet.microsoft.com/Forums/en-US/e48ff216-7ed1-4b20-9f21-d496b1583eea/how-to-get-item-field-values-for-old-versions?forum=sharepointdevelopment
http://sharepoint.stackexchange.com/questions/20019/get-meta-data-from-a-previous-version-of-a-document-through-webservice-in-moss-2
http://sharepoint.stackexchange.com/questions/121594/getting-information-from-previous-versions-of-a-sp-list-using-csom
Please mark answer as correct if it is correct else vote for it if you find it useful Happy SharePointing

Similar Messages

  • How to get the purchase value for a purticular price.

    Hi guru's,
    I want to get the purchase value for some materials, in a particular plant and in a particular month. How can I get this data.
    waiting for replies
    thanks
    tuljasingh.

    Hi,
    Refer report ME1P - PO Price History.
    Else Use Reports;
    ME2N - PO List by Document No
    ME2M - PO List by Materials
    ME2L - PO List by Vendors
    ME80FN - General Analysis of Purchase Orders

  • How to get Privacy Policy value for each userprofile in sharepoint 2010?

    In userprofile application, we have defined Privacy Policy of mobilephone feild as optional, so every user has option to choose visibility scope of this property to "Everyone/My Manager/my colegues/Only Me" .
    Now I am trying to get mobilephone value and their selected visibility option for each user.
    I am able to get mobilephone value but I could not get "what each user has chosen as their visibility scope"?

    Hi,
    According to your post, my understanding is that you want to get Privacy Policy value for each userprofile in sharepoint 2010.
    You need to use RunWithElevatedPrivileges method to impersonate user.
    To get the get mobilephone policy, you can use user["CellPhone "].Privacy.
    For more information, you can refer to:
    c# - Getting property privacy with Sharepoint 2010
    How to Programmatically Impersonate Users in SharePoint
    Managing Sharepoint 2010 Profiles Programmatically
    Thanks,
    Linda Li                
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Linda Li
    TechNet Community Support

  • How to get a field value in the report

    hi all :-
    i need to get the field value in the formate trigger inside a specified field in the report?

    please post your request in the report category forum

  • How to get custom field value in vbkd table using "SD_SALESDOCUMENT_CREATE" bapi

    Hi Experts,
    Need your help . In one program Iam using SD_SALESDOCUMENT_CREATE bapi .
    i/p for my report is am excel.
    excel is having  below formatt.
    To create salesdoc we are using SD_SALESDOC_CREATE bapi.
    but After execution of the program we are unable to find the ZZFV_SBCNT (which is custom  field) in VBKD w.r.t salesdocument.
    Need your help what we need to do to reflect the value in vbkd table.
    Here temp will contains the data from excel
    1)
    FORM f_move_header_data .
       wg_header-doc_type            = wg_temp-auart .                   "Order type
       wg_header-sales_org           = wg_temp-vkorg .                   "Sales Organization
       wg_header-distr_chan          = wg_temp-vtweg .                   "Distribution Channel
       wg_header-division            = wg_temp-spart.                    "Division
       wg_header-sales_off           = wg_temp-vkbur .                   "Sales Office
       wg_header-sales_grp           = wg_temp-vkgrp .                   "Sales Group
       wg_header-purch_no_c          = wg_temp-bstnk .                   "Customer purchase order number
       wg_header-pymt_meth           = wg_temp-zlsch  .                  "Payment Method
       wg_header-zzychan_role        = wg_temp-zzychan_role_i.           "Channel Role
       wg_header-zzysub_role         = wg_temp-zzysub_role  .            "Submitter Role
       wg_header-zzy_inv_for_opt     = wg_temp-zzinv_format  .           "Invoice Format Optio
       wg_header-ord_reason          = wg_temp-augru  .                  "Order Reason Code
       wg_header-bill_block          = wg_temp-faksp.                    "Billing Block
       wg_headerx-doc_type            = c_set .                   "Order type
       wg_headerx-sales_org           = c_set .                   "Sales Organization
       wg_headerx-distr_chan          = c_set .                   "Distribution Channel
       wg_headerx-division            = c_set.                    "Division
       wg_headerx-sales_off           = c_set .                   "Sales Office
       wg_headerx-sales_grp           = c_set .                   "Sales Group
       wg_headerx-purch_no_c          = c_set .                   "Customer purchase order number
       wg_headerx-pymt_meth           = c_set  .                  "Payment Method
       wg_headerx-zzychan_role        = c_set.                    "Channel Role
       wg_headerx-zzysub_role         = c_set .                   "Submitter Role
       wg_headerx-zzy_inv_for_opt     = c_set .                   "Invoice Format Option
       wg_headerx-ord_reason          = c_set .                   "Order Reason Code
       wg_headerx-bill_block           = c_set.                    "Billing Block
    ENDFORM.                    " F_MOVE_HEADER_DATA
    2)
    FORM f_move_item_data .
       wg_item-itm_number          =   g_itmnumber.                              "Item number
       wg_item-material            =   wg_process-matnr .                        "Material
       wg_item-target_qty          =   wg_process-target_qty.                    "Targeted Qty
       wg_item-item_categ          =   wg_process-pstyv.                         "Sales document item category
       wg_item-zzylegal_i          =   wg_process-zzlegal.                       "Legal Contract
    **********Added this line for vbkd-ZZFV_SBCNT****************************
       wg_item-zzfv_sbcnt          = wg_process-zzfv_sbcnt.      
    APPEND wg_item TO i_item.
    wg_itemx-material            =   c_set .                        "Material
       wg_itemx-target_qty          =   c_set.                         "Targeted Qty
       wg_itemx-item_categ          =   c_set.                         "Sales document item category
       wg_itemx-zzylegal_i          =   c_set.                         "Legal Contract
       wg_itemx-zzsteady_date       =   c_set .                        "Amortization Start Date
       wg_itemx-zzsteady_end_dat    =   c_set.                         "Amortization Stop Date
    **********Added this line for vbkd-ZZFV_SBCNT****************************
       wg_itemx-ZZFV_SBCNt     =   c_set.   "
       APPEND wg_itemx TO i_itemx.
       CLEAR : wg_itemx. 
    endform. 
    3)           
    FORM f_move_head_ext
    wg_extension-structure   = c_ext_vbak.
       wg_ext_vbak-zzinv_format = wg_temp-zzinv_format.
    wg_ext_vbak-zzychan_role = wg_temp-zzychan_role_i.
       wg_ext_vbak-zzysub_role  = wg_temp-zzysub_role.
       wg_extension+30 = wg_ext_vbak.
    APPEND wg_extension to i_extension.
    CLEAR wg_extension.
       wg_extensionx-structure =  c_ext_vbakx.
       wg_ext_vbakx-zzinv_format = c_set.
      wg_ext_vbakx-zzlegal      = c_set.
       wg_ext_vbakx-zzychan_role = c_set.
       wg_ext_vbakx-zzysub_role  = c_set.
       wg_extensionx+30 = wg_ext_vbakx.
       APPEND wg_extensionx TO i_extensionx.
       CLEAR wg_extensionx.
    ENDFORM.                    " F_MOVE_HEAD_EXT
    *&      Form  F_MOVE_ITEM_EXT
    *       Item Extension
    4)
    FORM f_move_item_ext .
    * Structure for BAPI parameter Extension
       wg_extension-structure = c_ext_vbap.
       wg_ext_vbap-posnr      = g_itmnumber.
       wg_ext_vbap-zzsteady_date       =   wg_process-zzsteady_date .                 "Amortization Start Date
       wg_ext_vbap-zzsteady_end_dat    =   wg_process-zzsteady_end_dat.               "Amortization Stop Date
       wg_ext_vbap-zzlegal             =   wg_process-zzlegal.                        "Legal Contract
       wg_extension+30 = wg_ext_vbap.
    APPEND wg_extension to i_extension.
    * Structure for BAPI parameter Extension - Update Indicator Fields
       wg_extensionx-structure =  c_ext_vbapx.
       wg_ext_vbapx-posnr = g_itmnumber.
       wg_ext_vbapx-zzsteady_date       =   c_set .
       wg_ext_vbapx-zzsteady_end_dat    =   c_set.
    *  wg_ext_vbapx-zzlegal             =   c_set.
    *wg_process-zzfv_sbcnt = c_set.
       wg_extensionx+30 = wg_ext_vbapx.
       APPEND wg_extensionx TO i_extensionx.
       CLEAR wg_extensionx.
    and bapi calling is like below.
    CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
         EXPORTING
           sales_header_in       = wg_header
           sales_header_inx      = wg_headerx
           logic_switch          = wg_logic_switch
           business_object       = fp_bus_obj
           status_buffer_refresh = 'X'
         IMPORTING
           salesdocument_ex      = g_sorder
         TABLES
          return                = i_return
           sales_items_in        = i_item
           sales_items_inx       = i_itemx
           sales_partners        = i_partner
           sales_conditions_in   = i_cond
           sales_conditions_inx  = i_condx
           sales_text            = i_text
           extensionin           = i_extension
         extensionex           = i_extensionx.
    still we are not getting ZZFV_SBCNT value in VBKD table w.r.t created salesdoc(g_sorder)
    Please help me from this issue.
    Thank You..

    Hi,
    Please let me know how to add custom fields in the characteristic list, My clients wants department and profit center grouping.
    Please tell me how to solve it..
    Thanks & Regards,
    Reena..

  • How to get Input field value?

    Hi All,
    I have some problem in getting of input value from View to customcontroller.
    My problem is I have created a Input field in the view and if Iam giving the value to that field I can capture the value from View to customcontroller and send it as BAPI input.But My input filed is in the view Context.
    How can i capture InputFiled value from View to CustomController.
    Advance thanks
    Nageswara.
    Message was edited by: nageswar mandapati

    Thanks for your response Patrick,
    In my customcontrollerView all my BAPI mathods instances and execute methods are declared.All the attributes directly getting from model class.
    But I have two views , in first view I created a input field(for that i created valueAttribute in that context).
    Here I want give the conditions If  the input field is empty then directly call the execute method of BAPI.
    Otherwise give any input to the inputfiled then capture that value and send it input to BAPI from view to BAPI.
    In my customcontroller
    BAPI b = new BAPI();
    b.Param1();
    b.param2();
    and
    execute BAPI()
    I done like this.
    How can i capture the view input value how to send as a b.parama();
    Please guide me .
    Any snippests appriciate.
    Thanks
    nageswara.

  • How to get ip field values to itab?

    hi,
    plz tel me how to get the values of set of inputfields into ITAB.
    suppose in BSP page there are three input fields like ...
    StudetnID
    NAME
    PLACE
    After Entering the details when i click save button it has to be store in dbtable.
    Plz help me.. i am new to BSP....
    Regards,
    shankar.

    Hi Shankar,
    Try like this...
    DATA: event type ref to cl_htmlb_event.
    DATA: ip_fields type TIHTTPNVP,
          wa_fields type ihttpnvp.
    event = cl_htmlb_manager=>get_event( runtime->server->request ).
    if event->id = 'btn'.
    request->get_form_fields( changing fields = ip_fields ).
    "for stud_id
    READ TABLE ip_fields INTO wa_fields WITH KEY name = 'ip1'.
            IF sy-subrc = 0.
              MOVE: wa_fields-value TO i_id.
            ENDIF.
    "for name
    READ TABLE ip_fields INTO wa_fields WITH KEY name = 'ip2'.
            IF sy-subrc = 0.
              MOVE: wa_fields-value TO i_name.
            ENDIF.
    "for place
    READ TABLE ip_fields INTO wa_fields WITH KEY name = 'ip3'.
            IF sy-subrc = 0.
              MOVE: wa_fields-value TO i_place.
            ENDIF.
    endif.
    In layout
    <htmlb:inputField  id = 'ip1' value = '<%=i_id %>'/>
    <htmlb:inputField  id = 'ip2'  value = '<%=i_name %>'/>
    <htmlb:inputField  id = 'ip3'  value = '<%=i_place %>'/>
    Give all the values with in double quote which are all written in single quote
    Regards,
    Sri

  • How to get Table Field values during sync from Events like DbSyncProgressEventArgs.

    Hi,
    I am facing an issue related to Sync. During  Sync as some Tables fails to sync, entire Session gets rollback. 
    Through DbSyncProgressEventArgs or DbApplyingChangesEventArgs, DbChangesSelectedEventArgs or DbChangesAppliedEventArgs, events, i want to find the Field values from that table so that i can identify which raw failed.
    For example, for DbSyncProgressEventArgs, we can fetch table using  e.TableProgress.TableName. But how can i get fields or Primary key value of that table row which is inserted or updated or deleted.
    Please give suggestions on this. 
    Thanks,
    Sangeetha

    DbApplyingChangesEventArgs, DbChangesSelectedEventArgs  has Context property that has in turn
    has a Dataset property containing the change dataset being synched.

  • How to get the cummilative values for Cell Definitions

    Hi Experts,
    We have a cell definition used to calculate the row and columns. i have used the stucture to calculate the cumilative year(from first month to current month) but in output I am unable to get the cummulative year value for this cell definition.its returning no values !!!
    How can i achieve to calculated the cumilative values for the cell definifion.
    Regards
    Suraj
    Message was edited by:
            suraj kumar
    null

    Suraj,
    Is your formula to add up the various values in your Structure or in your Cell editor?
    I suspect you may have to use a formula in your Cell Editor.
    Regards
    Gill

  • How to get all minimum values for a table of unique records?

    I need to get the list of minimum value records for a table which has the below structure and data
    create table emp (name varchar2(50),org varchar2(50),desig varchar2(50),salary number(10),year number(10));
    insert into emp (name,org,desig,salary,year) values ('emp1','org1','mgr',3000,2005);
    insert into emp (name,org,desig,salary,year) values ('emp1','org1','mgr',4000,2007);
    insert into emp (name,org,desig,salary,year) values ('emp1','org1','mgr',7000,2007);
    insert into emp (name,org,desig,salary,year) values ('emp1','org1','mgr',7000,2008);
    insert into emp (name,org,desig,salary,year) values ('emp1','org1','mgr',7000,2010);
    commit;
    SELECT e.name,e.org,e.desig,min(e.year) FROM emp e,(
    SELECT e1.name,e1.org,e1.desig,e1.salary FROM emp e1
    GROUP BY (e1.name,e1.org,e1.desig,e1.salary)
    HAVING COUNT(*) >1) min_query
    WHERE min_query.name = e.name AND min_query.org = e.org AND min_query.desig =e.desig
    AND min_query.salary = e.salary
    group by (e.name,e.org,e.desig);With the above query i can get the least value year where the emp has maximum salary. It will return only one record. But i want to all the records which are minimum compare to the max year value
    Required output
    emp1     org1     mgr     7000     2008
    emp1     org1     mgr     7000     2007Please help me with this..

    Frank,
    Can I write the query like this in case of duplicates?
    Definitely there would have been a better way than the query I've written.
    WITH      got_analytics     AS
         SELECT     name, org, desig, salary, year
         ,     MAX (SALARY)  OVER ( PARTITION BY  NAME, ORG, DESIG)          AS MAX_SALARY
         ,     ROW_NUMBER () OVER ( PARTITION BY  NAME, ORG, DESIG, SALARY
                                    ORDER BY        year  DESC
                           )                              AS YEAR_NUM
           FROM    (SELECT 'emp1' AS NAME, 'org1' AS ORG, 'mgr' AS DESIG, 3000 AS SALARY, 2005 AS YEAR FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',4000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',4000,2008 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2008 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2010 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2010 FROM DUAL)
    SELECT     name, org, desig, salary, year
    FROM     got_analytics
    WHERE     salary          = max_salary
    AND     YEAR_NUM     > 1
    Result:
    emp1     org1     mgr     7000     2010
    emp1     org1     mgr     7000     2008
    emp1     org1     mgr     7000     2007
    emp1     org1     mgr     7000     2007
    WITH      got_analytics     AS
         SELECT     name, org, desig, salary, year
         ,     MAX (SALARY)  OVER ( PARTITION BY  NAME, ORG, DESIG)          AS MAX_SALARY
         ,     ROW_NUMBER () OVER ( PARTITION BY  NAME, ORG, DESIG, SALARY
                                    ORDER BY        year  DESC
                           )                              AS YEAR_NUM
      ,     ROW_NUMBER () OVER ( PARTITION BY  NAME, ORG, DESIG, SALARY, Year
                                    ORDER BY        YEAR  DESC
                           )                              AS year_num2
         FROM    (SELECT 'emp1' AS NAME, 'org1' AS ORG, 'mgr' AS DESIG, 3000 AS SALARY, 2005 AS YEAR FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',4000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',4000,2008 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2007 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2008 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2010 FROM DUAL UNION ALL
    SELECT 'emp1','org1','mgr',7000,2010 FROM DUAL)
    SELECT     name, org, desig, salary, year
    FROM     got_analytics
    WHERE     salary          = max_salary
    AND     YEAR_NUM     > 1
    AND YEAR_NUM2 < 2
    Result:
    emp1     org1     mgr     7000     2008
    emp1     org1     mgr     7000     2007

  • I am getting ready to wipe a PC clean but wanted to know how to get the activation code for the Version of Adobe reader that is currently installed on the PC?

    I do not have the activation code for this PC and need to know how to get the software loaded back on it after a clean install of the OS and other programs.

    If you use any additional subscription services to Adobe Reader, they are activated with your Adobe ID & password.

  • How to get Final Transform value for a 3DLayer after Camera is applied?

    Hi,
    I need to export final transform values (position, rotation, scale, etc) from a Layer. I used ProjDumper example to extract the values. But I'm having trouble if the Layer is a 3D Layer and there is a Camera, because the Camera will affect the 3D Layer and hence transform it.
    For example, the initial position of a Layer is in the centre of the screen (let say position 100,100). But after I adds a Camera and change the Camera properties, the Layer is seen on the top left on the screen (0,0).
    So given a Layer and a Camera, how can I get the final transform values of the Layer? In other words, how can I transform from Composition coordinate to Camera coordinate?
    Thanks,
    Klarinda

    Hi Brooce,
    Given the Footage-type 3D Layer A & time T, I've tried the following combinations:
    AEGP_GetLayerToWorldXformFromView(A, T, T, transformMatrix)
    AEGP_GetLayerToWorldXformFromView(A, 0, T, transformMatrix)
    AEGP_GetLayerToWorldXformFromView(A, T, 0, transformMatrix)
    but they are all giving the same value as
    AEGP_GetLayerToWorldXform(A, T, transformMatrix).
    I've tried to change the Camera properties (focal length, zoom, etc) but AEGP_GetLayerToWorldXformFromView always gives the same value regardless of the Camera properties.
    I also tried to put in the Camera Layer instead of footage-type Layer to the function, but the result of AEGP_GetLayerToWorldXformFromView is always the same as GetLayerToWorldXform, and the Camera properties doesn't affect the AEGP_GetLayerToWorldXformFromView function.
    So my question is, why the AEGP_GetLayerToWorldXformFromView is not affected by Camera and why does it always give same result as AEGP_GetLayerToWorldXform?
    Thanks.

  • How to get the default value for Distribution key in KP06

    Hi,
    when i enter into the Tcode: KP06, the Default value of Distribution key is 2 but i want to be 1.
    How can i do that...i made entry inthe user profile like this
    GSP     1     G/L Distribution key
    but still i am not getting
    Thanks in Advance

    Hi Manohar,
    You have to give Distribution Key "1" in the Plannner Profile as well as if you take a column for Distribution Key seperately in  your Planning Layout for Cost Element Planning, in the Excel file, you can give Distribution Key as "1" in the respective column. When you upload the data through Excel, the system will take the DKey as "1" only.
    I hope it will solve your problem. Pls revert back for further assistance..
    Srikanth Munnaluri

  • Getting form field values for radio button

    Hello to the forum.
    I have a form in which I want to control the value selected in a radio buttons field on whether to allow access to another field.
    I can't find info neither here nor in the examples.
    Anybody know how to do?
    Thank in advance.

    Hi,
    You can use the change event of the radio button list.
    Select the readio button list exclusion group, in script editor select the "change" event. As an example if we have two selections "aa" and "bb" which have values 1 and 2 respectively.
    You can write this Javascript code to change event.
    if(this.rawValue == 1)
    xfa.host.messageBox("aa");
    else if(this.rawValue == 2)
    xfa.host.messageBox("bb");
    Hope helps,
    Asiye

  • How to get the default values in new version ECC  6.0

    Hi Gurus,
    we upgrade 4.6c to 6.0 but in t.code spro we are missing some default values ( like condtion type, condition vaues) . Please tell me how can i get those standard default value in my new version.
    Thanks in Advance!!!!
    Regards,
    Kranthi.

    Hi
    Answer is pure assumption.
    Pls check OSS note - Note 217012 - Missing pricing Customzing after upgrade
    Pls take opinion from Basis team, if you want to implement the note
    Regards
    MD

Maybe you are looking for