cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
neeraj_bharati
Advocate II
Advocate II

Getting error The file is locked for shared use by when updating the file properties

Using Microsoft Flow, I am trying to set default value in a metadata column "Column_1" from a sharepoint OOTB "Created By" column whenever a new item created in a document library. Document library has certain content types associated so when I create a new document by choosing a content type, the Office online opens the document in Edit mode. 

 

I am getting below error when I try to update column "Column_1" using "Update file properties" action

 

Error 423: The file <filename.xlsx> is locked for shared use by <email id>. clientRequestId:<xxx> serviceRequestId:<xxx>

 

How can I check the status of the file if locked or not? Any help is much appreciated. 

 

 

 

 

36 REPLIES 36

How i deal with this is to run a increasing delay action i.e. 2 minutes, 10 minutes, 1 hour, 3 hours, 1 day etc.

 

The delay action runs after a failed attempt to access the excel file.

seanmcev
Frequent Visitor

Hello, 

 

So I encountered this error when I was creating a flow to update a Word Template based on D365 field values then create a docx file in SharePoint. My flow is prompted on D365 record create. So I would get the error whenever I would test the flow. However, when I prompted the flow with fresh data it worked as desired. So maybe try adding the now() expression to your flow. That prevented me from getting this error. It might be getting hung up on the file existing or being opened for edits previously in the flow. 

 

I am relatively new to Power Automate so sorry if my terminology is wrong. 

juresti
Continued Contributor
Continued Contributor

Hi @seanmcev, Where do you add this Now() expression at?

seanmcev
Frequent Visitor

That would depend on the flow. Likely whatever step is giving you this error. In my case, I added it to the Create File (SharePoint) action at the end of my file name. 

 

The Now() expression is found here in dynamic content. 

 
 

@juresti 

 

Sorry my image is not uploading it is in the expression section of dynamics content and its it "utcNow()"

chris1234
Frequent Visitor

Thank you @Gristy , that approach worked for me.  I did the following steps to solve this for my situation:

 

  1. Initialized a boolean variable called UpdateSucceeded to False
  2. created a Do Until loop based on UpdateSucceeded where it will stop looping when it equals True
  3. In the loop, I first set the UpdateSucceeded variable to True
  4. Then I updated the file what was giving the lock error (in my case a SharePoint Library file property)
  5. This is the important part:  then in the next action, a Set Variable action, I set UpdatedSucceeded to False.  However, in the properties of Set Variable, you need to select "Configure after run",  and uncheck "is Successful" and check "has failed" and "has timed out".  This way UpdatedSucceeded will only be set to False when the file update failed.  If the file update is successful, then UpdatedSucceeded is left as True and the Do Unitl loop is exited.
  6. Then I set a delay, that stepped up in value as @Gristy suggested.

That did the trick for me.  Here are screenshots of my Flow / Power Automate:

File_Locked_Work_Around.png

 

Below is a view of from the "Configure after run" settings from Step 5.

File_Locked_Work_Around_Condition.png

Gristy
Resident Rockstar
Resident Rockstar

glad you got it sorted, its a shame it does not have auto-retry built in or a wait a bit like nintex/sharepoint designer did!

Hi @chris1234 

 

Any chance you could post a screen shot of your "Do Until" loop?

Hi @JustinR, I added screenshots to my original post.  Hope that it helps.  Thanks, Chris1234

Hi @chris1234 ,

 

Thanks so much for that. I have added that to my flow and but can't test it as the file lock is somewhat intermittent. 

 

It's just a pity that MS won't spend the time to fix the issue at the source.

 

Thanks again.

JR

JimmyWork
Power Participant
Power Participant

Just put in a small delay and the file will be unlocked if the flow used it.

I have put in a delay for 5min then i update the file and this works, i believe a shorter delay is possible maybe 30sec or such.

Talyorlak
Frequent Visitor

Hey Guys,

 

So we cannot delete file due to the limitation for Excel Online or other else,

How about we check out first and at the end check in the file.

I tested. It succeeded.

 

2020-06-08_17-07-55.png

It is possible to update a locked file using a System Update. Use send HTTP request to SharePoint with the following body:

 

<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="Javascript Library">
    <Actions>
        <Method Name="SetFieldValue" Id="4" ObjectPathId="3">
            <Parameters>
                <Parameter Type="String">FieldName</Parameter>
                <Parameter Type="String">Value</Parameter>
            </Parameters>
        </Method>
        <Method Name="SystemUpdate" Id="5" ObjectPathId="3" />
    </Actions>
    <ObjectPaths>
        <Property Id="1" ParentId="0" Name="Web" />
        <Method Id="2" ParentId="1" Name="GetList">
            <Parameters>
                <Parameter Type="String">/sites/SiteName/ListName</Parameter>
            </Parameters>
        </Method>
        <Method Id="3" ParentId="2" Name="GetItemById">
            <Parameters>
                <Parameter Type="Number">@{triggerBody()?['ID']}</Parameter>
            </Parameters>
        </Method>
        <StaticProperty Id="0" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" />
    </ObjectPaths>
</Request>

Jacques1_0-1593641437595.png

 

Unfortunately I found this topic when trying to resolve another issue: Whenever i use this to update a file property in SharePoint, and the file is locked by a user, the client application is not aware of this update and it overwrites the updated SharePoint list item with the value of the item locked by the user (via Auto-save even). Version history shows that the update succeeded and gets overwritten later. 

 

In my case users want a custom document "reference" other than the standard DocID. Whenever a file gets uploaded, i use Power Automate to generate a reference, that in turn is used to fill placeholders in the newly uploaded document.

 

Maybe this solution can work for some.

Hi @Talyorlak,

I encountered the same problem. Maybe I know what did you input in your "check out file" action? Greatly appreciate if you can help.

rusgesig
Regular Visitor

Well it's 2 years later and I have the same issue. Even if I create a new document library and copy the file over to that it still says locked for use. 

It's really sad to see the same problems persisting over years and microsoft doing nothing to fix it. Honestly considering moving back to task scheduler and python scripts for a lot of microsoft flow work 😕

juresti
Continued Contributor
Continued Contributor

@rusgesig 

 

That is correct, the files still remain locked.

We found that the following day the file is unlocked for us.

This was manageable since our flows that access sharepoint files do not run multiple times in a day.

 

When we do run multiple times, we convert it to tab delimited text and run it through our flow that handles tab delimited files.

Text files don't appear to cause this issue.

 

 

JimmyWork
Power Participant
Power Participant

Try this as a solution to locked files.

In the flow.

 

- Check out the file.
- Discard check out (This will unlock the file)

 

Helpful resources

Announcements
MPA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Welcome Super Users.jpg

Super User Season 2

Congratulations, the new Super User Season 2 for 2021 has started!

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Users online (1,095)