cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
shawnaby
Helper I
Helper I

CDS Business Unit Assigning

Hello All,

 

So previously I created an app that used CDS with just one business unit (technically the org, root business unit). Now things have changed in the story and I need to create multiple business units (BU1, BU2, etc). I've done that however I have created custom fields and I want to edit the data to bucket them into the right business units. I'm a user tied to the parent business unit which I assume is Global access rights, however I'm having problems changing any existing data to the particular business units. I am using the edit data in Excel add-in within one of my custom fields and I see that the Business Unit field is a lookup. 

 

How can I change the underlying data? I get that users can only be part of one business unit, but if I'm tied to the parent, shouldn't I be able to edit data across all business units?

 

Best Regards,

8 REPLIES 8
HSheild
Super User
Super User

Hi @shawnaby ,

 

Business Unit in CDS is a special type of entity and special properties.  The way in which CDS determines what business unit a record sits in is based off the Business Unit of the Owning Team or User.  You can't set a Business Unit lookup directly.

 

For example, if you are in the root business unit and you are the owner of some records, all of those records are in the root business unit.  If you then assign records to another user or team who is in the BU2 unit then those records will be in the BU2 unit.

 

Hope that makes sense.

 

-----
 
If this post has answered your question please consider it for "Accept as Solution" or if it has been helpful give it a "Thumbs Up".

Okay so to clarify my understanding:

 

@HSheild

I can either
1. Assign a user to that specific Business Unit, and then change the user field in that custom entity to that person. The records associated with that user will then update with the Business Unit tied to that user. It's pretty much a 3 man operation to create multiple companies masked as Business Units so this might not be the right approach.

 

2. Create another custom entity for these "business units". I really want full control to change records across the organization. If anything I need to spend extra time now setting up relationships. I was hoping to just leverage some of the existing relationships set up with the current Microsoft Business Unit entity. This app is within a demo environment and I just don't have capacity to create new environments for each company I want to use.

Hi @shawnaby ,

 

I think you can still stick with option 1 and use the default way business units work. I'll try be clearer if I can.

 

Let's say you business units structured in a hierarchy as per the diagram below.  Your user sits in the Root business unit.  You also have a user in the BU1 unit which owns a record for a custom entity.  You can still see and edit that record for the custom entity that is owned by the user in BU1 if your security roles are also set up correctly.  Your security roles need to have either "Global" or "Deep" access levels to the custom entity.  See the definitions around these here https://docs.microsoft.com/en-us/power-platform/admin/security-roles-privileges

 

Annotation 2020-02-22 124043.png

 

If you have the correct permissions you should be able to manage the multiple business units and the data that sits inside them.

 

-----
 
If this post has answered your question please consider it for "Accept as Solution" or if it has been helpful give it a "Thumbs Up".

Hi HSheild,

 

Thanks for reply again:

@HSheild 

I think I understand what you mean in that I should be able to change whatever records created by the users assigned to the child business units. However my issue is creating records in my global role, but having those records set to those multiple child business units. I don't want the record to show that the business unit assigned is the root business unit since i'm adding these records. 

 

Does that make sense? 

Hi @shawnaby,

It doesn’t make a lot of sense to be honest. If you create a record and then assign it to someone else in another business unit (that isn’t the root BU) then that record will not be in the root BU. What do you mean by “ I don't want the record to show that the business unit assigned is the root business unit”? Do you have a screenshot of how the business unit is displayed on the record? Have you created a custom lookup to business unit on your record?

Hi again,

 

@HSheild 

 

For example I as a global owner, want to assign a particular record to a certain business unit (not by user). Say I have other users assigned in the child business units. They can of course create and change records in their respective business units. But I also want to change and add those records. However I don't want to change the records and show that the business unit has changed suddenly to my root business unit (the organization).

 

See the attached snapshot. I'd like to assign the Business Unit to something else other than "e67f9ef4..." like the text for Client 1 (d1988c..). I understand the user friendly display name is a look up off that Business Unit text. 

 

 

Hi @shawnaby ,

 

I'm not 100% sure that I am going to be able to solve your problem but I will give it on last shot 😀

 

In the screenshot below I have an Account record and on it I have placed the Owner field and also a Quick View form which shows the Business Unit of the Owner (User).  This is the only way that you are able to see the Business Unit on the Account form (unless you create a custom Business Unit lookup field - and I would strongly advise against that as you will run into confusion around the CDS security model).  The only way to change the Business Unit that the Account is in is by changing the Owning User or Team.  And this is how you get a particular record into a particular Business Unit such that it adheres to the security framework provided by CDS.

Annotation 2020-02-26 164420.png

 

As a global user, if you have the correct security permissions (security roles) you can edit any record in the system regardless of what business unit the record lives in.

summitb
Power Participant
Power Participant

To answer your question shouldn't I be able to edit data across all business units. No, you shouldn't.

For you to have access, you need to have a Security Role which has the access level of Organization or Parent-Child for creating, write, delete etc. set for that particular entity.

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Power Platform Call June 2022 768x460.png

Power Platform Community Call

Join us for the next call on June 15, 2022 at 8am PDT.

PA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.

PA.JPG

New Release Planning Portal (Preview)

Check out our new release planning portal, an interactive way to plan and prepare for upcoming features in Power Platform.

Users online (1,858)