on 09-06-2013 8:28 AM
Hello,
I need to get information from table HRP1000 which contains >500 000 entries.
When I run pass fromCustom with pass type "FromSAP" to select all lines from this table, I get error about memory lack:
"Unhandled Error in DSERuntime - Exception:java.lang.OutOfMemoryError: Java heap space (failed to allocate 32 bytes)"
My fromSAP pass:
I checked the post "How to filter and read large data in SAP table using IDM Job ?", but recommendation to filter entries with "FILTER SELECTION_EXP:0....." doesn't work for me too (as same as for post's author).
I read this post "Technical Overview of BAPIs used to connect to ABAP Application Servers" and it says that "When reading ABAP Table information - the RFC_READ_TABLE used".
Do I understand correctly that when I set parameters "ENTRYTYPE=TABLE" pass fromSAP will use badi RFC_READ_TABLE?
1. Where can I check it?
I would grateful if anybody can provide me link to documentation or real samples where I can see what BADI is used by toSAP or FromSAP passes.
I read Note 1398976 - SAP IdM: Filter definition for initial load of ABAP entities,
it very nice describes how to filter Roles,Profiles and Users, but no word about how to filer Tables data.
2. If RFC_READ_TABLE is used , how could I pass parameters: OPTIONS and FIELDS to badi?
Thanks in advance!
Hi Natalia,
maybe you have already saved your problem?!
We were just facing the same one and found a very simple solution. Instead of populating data to a Z-Table we just defined a view in the ABAP dictionary of the ERP system which includes the filtering for the relevant rows and columns of the source table (in our case HRP1001 which is even bigger).
Instead of entering HRP1001 as value to parameter TABLE we added the name of the view then (e. g. ZHRP1001).
This does not involve any BAdI or triggers to populate data into other tables and is completely transparent to the IDM.
We had just to add some authorizations to the RFC user (S_TABU_NAM and S_TABU_DIS), which were very restrictive before, and reduced our load time from about 2,5 hours to less than 10 seconds (memory usage has been reduced also dramatically).
Maybe this hint is helpful for others or even for you if you did not yet find a good solution for your problem.
Regards,
Dirk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi all,
I added parameter -Xmx51200M to dispatcher script and problem with OutOfMemoryError is solved.
But I need to filter data from table in any way, becuase I don't want to upload 500.000 entries when I need just 10.000 from it.
Please help me to filter data from table.
Best regards,
Natalia.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Natalia,
I have had this problem a few times, very useful to be able to slow IdM down when reading from a big ABAP table. I filtered using an alphabetical range:
Add the following Parameters and Values to your FromSAP pass:
FILTER1 SELECTION_RANGE/SIGN=I
FILTER2 SELECTION_RANGE/OPTION=BT
FILTER3 SELECTION_RANGE/LOW=A
FILTER4 SELECTION_RANGE/HIGH=M
Hope this is the answer for you too!
Kind regards,
Andy
Hi Andy,
thanks for answer, but you have filtered ROLE, not a TABLE data.
How to filter ROLE is described in Note 1398976 and it realy works.
In my case I need to filter data from table HRP1000.
Do you have any idea?
Best regards,
Natalia.
Thanks Chris I'll stop looking now 😉
So I guess one solution would be create a Z table in the ABAP system and populate it only with the records you need, then read the entire Z table into IdM. I considered this when fixing the problem I had, before I found the FILTER option for ENTRYTYPE=ROLE when using the standard BAPI_USER_GET_DETAILS.
This has got me thinking though Natalia, - why do you need to read raw data from HRP1000 rather than using the HCM interface to IdM? This would bring across only the data required for the subset of employees you want to read.
Kind regards,
Andy
Andy,
I need to have positions description in 2 languages (UK and EN), but when I get users from HCM via standard method (HCM-->VDS-->IDM) I can get all information about user only in 1 language.
Kindly people from this site recommended me to get data directly from table HRP1000. But now I have problem to download full table.
Yes, I can create Z-table... but I had hope to use standard
Best regards,
Natalia.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.