Forum Discussion
Have you tried using something like BRApi.Finance.Members.ReadMemberPropertiesNoCache? I'm using one of the adjacent functions and I'm able to compare descriptions from our source system to OS in no time at all. Saving an update costs about 1 second but if there are no changes it takes just a few seconds to run through ~5,600 source records.
I had looked at that briefly, but wasn't sure of the true impact of the nocache. Sounds like it would be worth a try as I would expect most of the Text fields to remain somewhat static once initially corrected. Limiting the cost to only when an update is needed is definitely a goal. WIll let you know.
Did you also try ReadWriteableMemberNoCahce, by chance?
- photon2 years agoContributor
Yup! That's the start and I then expose VaryingMemberProperties and then EntityVMProperties to check/update a whole bunch of properties.
- photon2 years agoContributor
Although, I guess I should point out that the reason I didn't suggest my particular method is because the snippets around this method come pre-populated with warnings about how it doesn't update the metadata updates table and you mentioned this might annoy your SOX auditors. Of course, SOX auditors love to audit things that have nothing to do with SOX and they shouldn't even be looking at but that's a little off-topic. If you need the official metadata update tables to be kept in sync then you could write code to update them (I should probably look into this for our purposes.) Alternatively, create your own table to track these updates separately or (as I have done) just write all updates out to a CSV and email them.
The first time I ran this in our Dev environment, it updated 5,000 members in about an hour. Since then, it mostly makes 0 updates and runs in 15 seconds.
Related Content
- 2 years ago
- 9 months ago
- 3 years ago