Attachment in SharePoint list - benefit

What is the benefit of attaching an item to a list?
or 
Why shall you attach an item to a list while document & Form library is there for similar purpose?

As you pointed me that my replies are not correct then you should mention here the right answer because this is public forum to help community and share knowledge.
A Library is a List, but all lists are not libraries. A Library is a specific implementation of a List intended for holding documents and metadata about the documents in the columns of the Library.
From a programmer's point of view, a Library is referenced through an SPDocumentLibrary object. SPDocumentLibrary inherits from the SPList class.
According this blog,
http://www.networkworld.com/community/node/22731, use Library for storing documents, and use Lists for data.
In document library, title of document is NOT indexed. So an end user would not be able to search on title of the document. And in SharePoint lists, you don't have document control, no check-in or check-out.
I have mentioned different points for list item attachment & document library. Both have different usage, you need to use them as per your requirement.
For more detail on List item attachment & document/Form library, check this technet thread
http://social.technet.microsoft.com/Forums/sharepoint/en-US/6f98cdeb-80e8-448e-b9ed-7b2222185dec/document-library-versus-list-with-a-document-attachment
Adnan Amin MCT, SharePoint Architect | If you find this post useful kindly please mark it as an answer.

Similar Messages

  • SharePoint 2010 Rest API: How to add attachment to a list item via ListData.svc

    Hi
    I have set up a project using the REST API in c# Visual Studio 2010.
    I have added a service reference to the URL //site/_vti_bin/listdata.svc/
    I can query the list and get back data, but I can't retrieve the attachments.
    I can write data to the list, but I can't add attachments.
    Are there any examples of how to add or retrieve attachments using the REST API services.
    Thanks
    Mike

    Hi,                                                             
    If you want to work with list attachments using REST API, here are some links will show how to do this using Javascript:
    http://msdn.microsoft.com/en-us/library/office/dn292553.aspx#FileAttachments
    http://chuvash.eu/2013/02/20/rest-api-add-a-plain-text-file-as-an-attachment-to-a-list-item/
    http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2013/06/27/how-to-get-list-item-attachments-using-rest-and-javascript-in-sharepoint-2013.aspx
    Best regards
    Patrick Liang
    TechNet Community Support

  • How to insert sharepoint list item attachment to sql server db programatically

    Hi,
    I need to insert sharepoint list item attachments to sql server db programatically. Could some one suggest some approach and if any one work on it please provide the code. Thanks in advance

    hi,
    you can do it using powershell. Use the below script to loop through all the items attachments inside list.
    $web = $site.RootWeb<br />
    $Lists = $Web.Lists[$ListName]
    $Library = $web.Lists[$LibName]
    foreach($listItem in $Lists.Items)
    if($listItem.Attachments.Count -gt 0)
    Write-Host "**************************************************"
    Write-Host $listItem.Attachments.Count"Attachment(s) available in the ListItem:" $listItem.Title
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    $i=0
    foreach($attachment in $listItem.Attachments)<br />
    $i++
    Write-Host $i".Attachment Name:" $listItem.Attachments.UrlPrefix$attachment
    $file = $web.GetFile($listItem.Attachments.UrlPrefix+$attachment)
    Write-Host "Adding Files to Library:"$Library.Title
    $bytes = $file.OpenBinary()
    Write-Host "Successfully Added"<br /> Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    Write-Host "**************************************************"
    And use the below script to insert into SQL.
    #Connect to DB
    $DB = “server=MyInstanceName;integrated security=sspi;database=Bob”
    $conn = new-object System.Data.SqlClient.SqlConnection($DB)
    #Build the command and parameters
    $cmd = New-Object System.Data.SQLClient.SQLCommand
    $cmd.CommandType = [System.Data.CommandType]‘StoredProcedure‘
    $cmd.Parameters.Add(“@Col1″, [System.Data.SqlDbType]‘VarBinary‘)
    $cmd.Parameters[“@Col1″].Size = -1
    $cmd.Parameters[“@Col1″].Value = $bytes
    $sql = "INSERT INTO <table> (Col1) VALUES " + $cmd.Parameters[“@Col1″]
    #Execute the command
    $conn.Open()
    $cmd.ExecuteNonQuery()
    P.S. There may be some syntax error you have to make it work but the concept is right.
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • I'm unable to see the attachment in SharePoint 2007 list alert as i have alreday added attachemt before submiting this request

    I'm unable to see the attachment in SharePoint 2007 list alert as i have alreday added attachemt before submiting this request.The
    below request I attach with attachment.That attachment coulmn is not apperaing

    I am a little confused, can you please elaborate with screenshot 
    If this helped you resolve your issue, please mark it Answered. You can reach me through http://itfreesupport.com/

  • How do I Create a SharePoint List with two Attachment fields

    Hi Everyone
    I am using SharePoint 2013 Enterprise and Visual Studio 2013.
    I need to create a SharePoint list that has two fields of attachment type.
    Possible is a list supports this functionality natively?
    Tanks in advance.
    Eduardo

    Hi Muruguesa!
    When I customize the form in InfoPath Designer the following message appears:
    The publish operation Could Not Be completed. It can not be determined if the form template was successfully published. Try publishing the form template again, or change the settings to list
    Catastrophic failure
    I reported this error recently but not yet success in solving the problem:
    https://social.msdn.microsoft.com/Forums/office/en-US/687f2282-ad3d-4d13-a548-d25641b6b293/cannot-edit-form-in-infopath-when-list-was-created-in-visual-studio?forum=sharepointcustomization
     Do you have any ideas on how I can solve this case.
    PS: My list was created on Visual Sudio an Im using  SharePoint 2013 Enterprise and Visual Studio 2013.
    Thanks

  • Sharepoint list and custom add attachment form

    Hello.
    Is it some how possible to dynamically create a custom form, in an iFrame, with the action as "/_layouts/attachFile.aspx?ListId={12345678-1234-1234-1234-123456789012}&;ItemId=2" to add an attachment to a list item?
    I tried different things but nothing seems to actually attach the file.
    Or, can I override UploadAttachment() so when the user clicks a button it shows the file selector dialog directly and after they are done I get notified so I can do something?
    Any ideas?
    Use Case:
    I have a list. The list has a title, description (memo), an image path, and a "read more" path. The image and "read more" path are single line of texts. The user would do one of two things: provide the URL to a file that is already online,
    or click "browse" to select a file to be attached to the item.
    It is that last part I need help with. I can edit the NewForm.aspx to add a "<input type='file'..." but I can't figure out what I need to do then.
    I can't use the default attach item because I need to know what file is for what, image or "read more". Which is why I want a button for "image" and "read more" so that after the user selects a file I can store some details that
    will later let me identify what file is what.
    My plan was to override the "save" button so that my code runs instead of the default.
    Then I would use SPServices to create the item.
    Then:
     - I can't use FileReader so I cannot use the AddAttachment web service
     - I can't use the existing "/_layouts/attachFile.aspx" because it won't let me dynamically set the file path
     - I can't seem to create my own form dynamically that would attach the file
     - I can call "UploadAttachment()" but that changes screens after the user clicks "OK" I won't know so I can't save the details I need

    Hi,
    According to your description, you might want to add a button “browse” in the NewForm/EditForm, when clicking it, users will be able to select a file to be attached
    the current item.
    If this is the case, you can add the script below with the <a> tag into the NewForm/EditForm, then when user clicks the <a> tag, the OOTB file browse dialog
    will show up:
    <script type="text/javascript">
    function AttachFile()
    SP.Ribbon.PageManager.get_instance().executeRootCommand("Ribbon.ListForm.Edit.Actions.AttachFile", null, null, null);
    </script>
    <a onclick='javascript:AttachFile();'>browse</a>
    Best regards,
    Patrick
    Patrick Liang
    TechNet Community Support

  • Upload Excel data to Sharepoint list VIA infopath form

    Hi,
    I'll try to explain the process of what I want to do first.
    1. In Excel
    I have an exceldocument (XLS, XLSX or XLSM) with 4 named columns and a named worksheet saved locally on my computer.
    I want to upload this data into preferably a custom list in sharepoint but it needs to run via a infopath template first.
    2. In Infopath
    The Infopath template will prompt the user to specify values in 2 additional fields.
    After giving input to these fields user may browse for the locally stored excel document and upload the document.
    In the same infopath template a dynamic array should be visible containing 6 columns (4 from excel + 2 from headerlevel of template) and the amount of rows based on the number of rows from excelsheet.
    At the end of template a submit button is found for uploading the entire array into sharepoint custom list.
    Is this possible to do at all?
    NOTE! End user should not have to save the excelsheet as XML file nor do a XML mapping.
    Infopath should, perhaps with help of VBA read excelsheet and transfer data to correct destination in sharepoint on it self.
    Looking forward to your reply

    Hi Jonas,
    You can attach your Excel doucment into InfoPath form and send InfoPath form to a custom web service. Then you can parse the Excel data and combine the Excel data and additional fields into SharePoint list in the customized  web service.
    For more information, you can have a look at the thread:
    http://dandeng.blogspot.com/2012/03/submit-infopath-form-data-to-web.html
    http://www.codeproject.com/Articles/88547/Submit-entire-InfoPath-form-to-web-service
    https://social.msdn.microsoft.com/Forums/office/en-US/590f1e78-5c08-47bd-8af4-9709102b568d/webservice-to-send-attachments-in-infopath-form-to-different-location?forum=sharepointcustomization
    https://msdn.microsoft.com/en-us/library/office/gg575571.aspx?f=255&MSPPError=-2147217396
    Best Regards,
    Eric
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Upload multiple files to a data item in sharepoint list

    The image above shows a list item with two pdf files attached to it.  This is an access databse that was pushed to this sharepoint list.  When we attached these files we used the "attach file" from the edit menu at the top of the page.
     They are put into a data item called "copy of sepration report", which I can't seem to find when I edit the list.  As a further on discussion of this we would like to be able to upload multiple items into their own data field.  I.E.
    one could be seperation report, and another could be accidents, and another would be disciplinary.  Each would have the capability of having multiple items uploaded to it.
    What am I missing????

    Since you can't attach document to list item field, you may need to think other way around. You can create a document library and have the document library all these fields (separation report, copy of separation report etc.). So instead of list item having
    the documents attached, the document library will have the fields attached. Also you can group the fields into two groups - fields that are not directly related to document and fields that are directly related to document. Then you can move the document related
    fields to document library and create another list with the non-related-to-document fields and linking this new list to document library using lookup
    Thanks,
    Sohel Rana
    http://ranaictiu-technicalblog.blogspot.com

  • Delete Attachments from SharePoint list

    Hello, 
    I created InfoPath Form, and users can attach a file. I want to delete the attachments from the SharePoint list after a while (Privacy issues). How can I do it? I searched about it and I found some codes but I'm not sure how to use them. Could anyone help
    me? 
    Thank You
    Dan

    Hi Gary,
    I would like to suggesting to used Event Receiver on that List. 
    below example of how to create event receiver on list?
    CREATING
    EVENT RECEIVER IN SHAREPOINT 2010
    another link to showing all method of  SPItemEventReceiver
    event handler. you can used `ItemAdded`
    or `ItemAttachmentAdded` override method to listItem.
    SharePoint Event Handlers
    Than used @Yaoyao Chen's Code.
    code :
    public override void ItemAdded(SPItemEventProperties properties)
    SPListItem item= properties.ListItem;
    List<string> fileNames = new List<string>();
    foreach (string fileName in item.Attachments)
    fileNames.Add(fileName);
    foreach(string fileName in fileNames)
    item.Attachments.Delete(fileName);
    item.Update();

  • Updating a secondary datasource to a Sharepoint list via infopath form rules

    Using SharePoint 2010 and InfoPath 2010 I created a form that prior to submission it gets an integer value from a separate SharePoint list via a secondary datasource.  Just before the rule that submits the form to a document folder via the
    main datasource I increment the integer value and try to write it back to the secondary datasource I got it from.  I know that I have the correct value.  That is, it is reading from the data source the correct integer information and it is incrementing
    it in the form but when it writes the value back to the same column in the same secondary datasource it doesn't give any indication that it didn't work.  But when I look at the list of the secondary data source I see that the integer value is
    not updated.

    Hi Jonas,
    You can attach your Excel doucment into InfoPath form and send InfoPath form to a custom web service. Then you can parse the Excel data and combine the Excel data and additional fields into SharePoint list in the customized  web service.
    For more information, you can have a look at the thread:
    http://dandeng.blogspot.com/2012/03/submit-infopath-form-data-to-web.html
    http://www.codeproject.com/Articles/88547/Submit-entire-InfoPath-form-to-web-service
    https://social.msdn.microsoft.com/Forums/office/en-US/590f1e78-5c08-47bd-8af4-9709102b568d/webservice-to-send-attachments-in-infopath-form-to-different-location?forum=sharepointcustomization
    https://msdn.microsoft.com/en-us/library/office/gg575571.aspx?f=255&MSPPError=-2147217396
    Best Regards,
    Eric
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • HTML + JQuery (CSOM) to add multiple item to a Sharepoint list and get their IDs

    Hi everyone.
    I try to use HTML + JQuery in CEWP to build some sort of analog of InfoPath's repeating table in order to be able to insert multiple items in a Sharepoint list using CSOM.
    The current task is to get the IDs of inserted items (in order to use those IDs later to add attachments to the list items) as soon as they are added to the list. I've tried several ways but couldn't get the IDs of all inserted items. Usually
    I get "-1" as an ID for every item except the last one, which returns me the correct ID. 
    Bellow is the code.
    <script src="/testsite1/SiteAssets/jquery-1.11.1.min.js" type="text/javascript"></script>
    <script src="/testsite1/SiteAssets/jquery.SPServices.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    var click = 1;
    $("#btn_id_1").click(function() {
    click ++;
    $("#tr_id_1").clone().appendTo("#tbl_id_1").attr("id", "tr_id_" + click.toString()).find("input").val("");
    $("#btn_id_2").click(function() {
    Save();
    function Save() {
    var ctx = new SP.ClientContext.get_current();
    var taskList = ctx.get_web().get_lists().getByTitle('Tasks');
    var taskItemInfo = new SP.ListItemCreationInformation();
    var vendor;
    var certname;
    var certid;
    $("#tbl_id_1 tr").each(function() {
    vendor = ($(this).find(".vendor")).val();
    certname = ($(this).find(".certname")).val();
    certid = ($(this).find(".certid")).val();
    newTask = taskList.addItem(taskItemInfo);
    newTask.set_item('Title', vendor);
    newTask.set_item('Request_', certname);
    newTask.set_item('h', certid);
    newTask.update();
    ctx.load(newTask);
    ctx.executeQueryAsync(addTaskSuccess, addTaskFailure);
    //timeout();
    function timeout() {
    alert ("!!!");
    function addTaskSuccess(sender, args) {
    alert(newTask.get_id());
    //AddAttachment(newTask.get_id())
    function addTaskFailure(sender, args) {
    //alert(newTask.get_id());
    alert("no");
    window.location = window.location.pathname;
    </script>
    <div id="div_id_1" class="div_class_1">
    <table id="tbl_id_1">
    <tbody>
    <tr id="tr_id_1">
    <td>Vendor:<br><input type="text" class="vendor" /></td>
    <td>Cert. Name:<br><input type="text" class="certname" /></td>
    <td>Cert. ID:<br><input type="text" class="certid" /></td>
    <td>Attachment:<br><input type="file" class="attachment" /></td>
    </tr>
    </tbody>
    </table>
    <div><button id="btn_id_1" type="button" width="10" height="10">+</button></div>
    <div><button id="btn_id_2" type="button">Save</button></div>
    </div>

    Here's a working solution (thanks to
    this guy)
    <script src="/testsite1/SiteAssets/jquery-1.11.1.min.js" type="text/javascript"></script>
    <script src="/testsite1/SiteAssets/jquery.SPServices.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    var array = [];
    $(document).ready(function() {
    var click = 1;
    $("#btn_id_1").click(function() {
    click ++;
    $("#tr_id_1").clone().appendTo("#tbl_id_1").attr("id", "tr_id_" + click.toString()).find("input").val("");
    $("#btn_id_2").click(function() {
    //Save();
    //Call();
    var asyncPromises = Save();
    asyncPromises.done(function(result) {
    //alert(array.length);
    console.log(array.length);
    for (var i=0; i<array.length; i++) {
    //alert(array[i].get_id());
    console.log(array[i].get_id());
    asyncPromises.fail(function(result) {
    function Save() {
    var buildDeferredSaves = $.Deferred(function() {
    //var array = [];
    var ctx = new SP.ClientContext.get_current();
    var taskList = ctx.get_web().get_lists().getByTitle('Tasks');
    var taskItemInfo;
    var vendor;
    var certname;
    var certid;
    $("#tbl_id_1 tr").each(function() {
    vendor = ($(this).find(".vendor")).val();
    certname = ($(this).find(".certname")).val();
    certid = ($(this).find(".certid")).val();
    taskItemInfo = new SP.ListItemCreationInformation();
    newTask = taskList.addItem(taskItemInfo);
    newTask.set_item('Title', vendor);
    newTask.set_item('Request_', certname);
    newTask.set_item('h', certid);
    newTask.update();
    ctx.load(newTask);
    array.push(newTask);
    ctx.executeQueryAsync(
    function() {
    // Successful
    buildDeferredSaves.resolve();
    function(sender, args) {
    // Failure
    buildDeferredSaves.reject(args.get_message());
    return buildDeferredSaves.promise();
    </script>
    <div id="div_id_1" class="div_class_1">
    <table id="tbl_id_1">
    <tbody>
    <tr id="tr_id_1">
    <td>Vendor:<br><input type="text" class="vendor" /></td>
    <td>Cert. Name:<br><input type="text" class="certname" /></td>
    <td>Cert. ID:<br><input type="text" class="certid" /></td>
    <td>Attachment:<br><input type="file" class="attachment" /></td>
    </tr>
    </tbody>
    </table>
    <div><button id="btn_id_1" type="button" width="10" height="10">+</button></div>
    <div><button id="btn_id_2" type="button">Save</button></div>
    </div>

  • How to fetch the Attched Filname of SharePoint List Item

    Hi All,
    Is there a way to fetch name of the file attached to the sharepoint list item ? Basically what we need is the file name which user has uploaded while submitting the new item, Later the same list item will get edited with another file attachment.
    We want to compare both these file names and set a Image status value which will be a dropdown. When a new item is created Status will be 'Submitted' after editing the same list item its status should become 'Resubmitted' only if attached file name is dfferent.
    We tried in SP designer 2010, but CurrentItem:Attachments is giving option either Yes or No. and from javascript we are able to retrieve filename attched but when stored it to another list column for comparison, the filename is stored as 1 which is a boolean
    value
    Please suggest us on how this can be done.
    Thanks,
    Raghu

    Hi Raghu,
    Did you the OOB Custom List? What't the error when you follow the steps from the above aritcle?
    I have ever tested a
    case to show attachment url in the Issue Tracking list, you can check if the following code could work for you.
    <xsl:element name="SharePoint:AttachmentsField">
    <xsl:attribute name="runat">server</xsl:attribute>
    <xsl:attribute name="FieldName">Attachments</xsl:attribute>
    <xsl:attribute name="Visible">true</xsl:attribute>
    <xsl:attribute name="ControlMode">Display</xsl:attribute>
    <xsl:attribute name="ItemId">
    <xsl:value-of select="$thisNode/@ID"/>
    </xsl:attribute>
    </xsl:element>
    Thanks
    Daniel Yang
    TechNet Community Support

  • Add SharePoint List attachments to Multiple List Items

    I have a SharePoint list with around 7000 items.  What is the simplest way to add attachment to each list items? I'm thinking of Edit in Datasheet but of no luck..
    cal_bonjovi

    hi,
    you can do this with the below powershell
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    function AddAttachment($item, $filePath)
    $bytes = [System.IO.File]::ReadAllBytes($filePath)
    $item.Attachments.Add([System.IO.Path]::GetFileName($filePath), $bytes)
    $item.Update()
    $site = [Microsoft.SharePoint.SPSite]("http://myserver")
    $web = $site.OpenWeb()
    $list = $web.Lists["MyList"]
    foreach ($listItem in $list.Items)
    AddAttachment $listItem"c:\z.txt"
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • Need link to attachment from a list.

    I've got a user who has a very large SharePoint list, to which she is attaching files (normally, I'd recommend a Document Library, but that's its own story).  She wants to be able to have a direct link to the attached file as a list column.  Much
    to my surprise, this is not possible OOTB.
    I've seen this described for 2007
    elsewhere, but was unsuccessful in adapting it to SPD 2010.  Has anybody encountered a solution for this for 2010, or know how the 2007 solution could be adapted?
    Many thanks!

    Hi Josh,
    From your description, I’d recommend you create a new column for attachments in the current list. Here are the steps:
    1.In the List Tools > List > Modify View > Modify in SharePoint Designer (Advanced).
    2.Then you come to SharePoint Designer 2010. Switch to Split view and locate the column. Then right-click and insert Column to the Right.
    3.Then locate the td part as below:
    <td><xsl:text xmlns:ddwrt="http://schemas.microsoft.com/webparts/v2/data....
    </td>
    4.Replace it with the code as below:
    <td id="ItemAttchment" class="ms-vb">
              <xsl:element name="SharePoint:AttachmentsField">
              <xsl:attribute name="runat">server</xsl:attribute>
               <xsl:attribute name="FieldName">Attachments</xsl:attribute>
              <xsl:attribute name="ControlMode">Display</xsl:attribute>
              <xsl:attribute name="Visible">true</xsl:attribute>
              <xsl:attribute name="ItemId">
              <xsl:value-of select="@ID"/>
              </xsl:attribute>
              </xsl:element>
    </td>
    5.Then view in the IE browser and see if it works as expected.
    The screen shot below is the result from my lab environment:
    Regards,
    Rebecca Tu
    TechNet Community Support

  • I have a SharePoint list, that list contains text attachments and image attachments.

    Hi All,
    i have a SharePoint list, that list contains text attachments and image attachments.
    Now, i want to retrive only image attachments from that list.
    here my doubt is, how to check is it image attachment or text attachments
    foreach(var attachment in attachments)
    //what i have to write here
    Thanks in advance!

    Hi,
    While looping for an attachments . Check for attachment extension with (.jpg,png,etc..,).then you can do whatever you want
    SPListItem myListItem = list.GetItemById(1);
    foreach (String attachmentname in myListItem.Attachments)
    //Check for extension
    Please mark as an answer/helpful , if is useful to you.
    Mahesh

Maybe you are looking for

  • Setting Default Dashboard based on Groups/users in OBIEE 10g

    Hi, I am having a requirement and facing some issues with setting a default dashboard option to the users who ever access the application. Below is the brief description of entire requirement. The main requirement is to integrate OBIEE into a .net an

  • [Solved] encryption of swap with cryptsetup doesn't work

    Hi, I reinstalled my because of new hardware with EFI and GPT, and now I can't get work my swap partition encrypted. /etc/cryptsetup: cryptswap /dev/sda1 /dev/urandom swap Also with more options (key-length, etc) doesn't change the behavior. /etc/fst

  • My BlackBerry z10 delete after every restart

    After I installed os 10.3.1.1865 into my blackberry z10 stl-3, it's resets after every  restart or the battery drains, all my apps, settings, documents will be done... please what can i do?

  • Graphics fault

    A friend has a Mac Pro which has been giving him a strange problem - has anyone come across something similar? The machine works alright but sometimes an open window fills full of garbage (lines/text/everything on top of each-other) - the machine doe

  • Same IO or WBS to be used in Different Controlling Area ? Is this possible

    I have a Internal Order say, 10001 of Controlling Area : AAA, in Co code : ABC. Can i use the same Internal Order, in Controlling Area : BBB, in code code : XYZ  ??? Pl. reply thanks amit