Epicor 10 BAQ does not display records from the company if user does not have access to that company

One of the dashboard I have build that displays the sales orders(with some other Multi-company information) from different companies. I am facing a problem here, If the user does not have access to one of the company, lets say EPIC03 and if the dashboard is opened from EPIC06 then the sales orders from EPIC03 will not be displayed. Is there any alternative to solve this issue without changing the existing BAQ to external BAQ using view?

This is not an issue. It is by design. BAQ tries to provide the same level of security as the main business logic does.

I’m beginning to work on something like this.

I think my solution is going to be a data building process into a UD table that allows the companies to control what data is shared. The data will then be usable in each company even though those users don’t have access to the other companies.

Thanks Sergey, So I assume creating an SQL view and building a external BAQ is the only option I have?

Thanks Doug. It will be a huge work then for me, building external BAQ will be easier.

That will work, but I want to give each company the ability to use this data in their own BAQs. Since you can’t link external BAQs with regular BAQs then this is not an option for us

If you need direct access to the data in ‘restricted’ companies, then ext-BAQ is the only way.
But you have to remember that ext-BAQs are not available in the Cloud. Probably they can be enabled in the DT environments, but you need to ask support about that.

AFAIR UD tables are company-dependent too, so they should fall under the same restrictions.
How do you expect to make data available for the users who have no access to the company?

Run them with a user that has access to all companies.

How does it work if a low-priveledge user is logged into the ERP already?
Or do you mean a separate process/web-page for dashboards?

I’ve used a temporary session bpm before to get data out of a cross company

@Chris_Conn just worked on something like this too maybe he can provide some feedback

1 Like

Heh, nice trick. Did you use Advanced BPM UBAQ with a custom implemented GetList method?

Thanks Jose. Did you use the temporary session on get list?

Bingo

I’d say there a several approaches available, none are great - though I hadnt considered an override of GetList, that’s pretty snazzy. Thanks for the thought @SAD

I used an approach used by @hkeric.wci which is to essentially create a temp session on a user in the desired company and then call it with DynamicQueryAdapter. You can ultimately stuff it in an EpiDataView and bind it to a grid, but it’s not an ideal approach. It has some squeaky parts and has to be put on a UD form or similar.

1 Like