foxysoft / idm-connector-bobj

SAP Identity Management connector for SAP BusinessObjects BI Platform
Apache License 2.0
5 stars 2 forks source link

1000 row limit for ALIAS table #20

Closed rgregnol closed 2 years ago

rgregnol commented 2 years ago

I've created a copy of the initial load job to just bring in new groups which in testing has worked very well.

When I run in it my production system the Alias table is only creating 1000 entries but I know I have more entries.

I am not seeing this issue with any of the other READ BOBJ passes that creates the users, groups, and group members tables.

Because the write function calls a join of the alias and group tables it is unable to create the new groups as privileges.

boskamp commented 2 years ago

This might be related to the InfoStore query constructed in line 260f. of fx_bobj_AliasReader. I read up in the BI Platform Java SDK Developer Guide > Query string best practices > Use the TOP N function that queries using "SELECT ... " have an implicit limit of 1000 result set rows. The actual query doesn't use as a field list, but maybe the implicit limit still applies.

Can you try modifying the query to use the TOP N clause with N selected high enough for your needs? Example:

     var lv_query
                        = "select top 2000"
                        + "    SI_ID "
                        + "    ,SI_NAME"
                        + "    ,SI_ALIASES"
                        + "    from CI_SYSTEMOBJECTS"
                        + "    where SI_KIND in ('"
                        + IUserGroup.KIND
                        + "', '"
                        + IUser.KIND
                        + "')";
rgregnol commented 2 years ago

Thanks @boskamp. I ran this directly against the db and it pulled back 1209 records vs using the "select" version that only produced 1000 entries which aligns with the documentation.