on 06-04-2014 8:55 AM
Hi experts,
I have a idm 7.2 connected to SAP systems.
My users are created by uploading a csv file.
My users are created correctly in SAP system but now I have to set by default some SU01 parameters when creating only SAP users.
Should add constants to the SAP connector or should I create create script to set these values?
Any help how to do that?
Mia
Hello Mia,
thank you explaining a bit more.
Well, since you just want to add those parameters when a new account is created, I think it would be enough to go via the repository-constants. Since the users can't have parameters in the system set if they don't have an account, there is no need to mash existing and new (default) parameters into one string to provision it to the ABAP system.
That would mean, that you keep this in your CreateABAPUser"-pass:
parameter1 %$rep.ABAPATTRIBUTE_%$rep.$NAME%%
Since you give the value of a repository-constant, you have to write "$rep." up front.
And then you have to create a contant in every one of your repositories, that is named ABAPATTRIBUTE_<repositoryname>.
So you have ABAPATTRIBUTE_DEV, ABAPATTRIBUTE_QAS and ABAPATTRIBUTE_PRD in the end. And as a value for these constants you just give as a string e.g. "UGR= FD|MOLGA=02|PM=X XX|EFC=0".
I think this should work.
Regards,
Steffi.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Mia,
well, you wrote, that you just want to implement the setting of the default parameters for the create-pass. Users imported through the initial load already have an account and therefor the modify-pass would trigger for them and there you should keep the parameter-line commented out.
I'd say then the existing parameters wouldn't be overwritten, because for new accounts there is none and for existing accounts the create-pass won't be used.
Hi Steffi,
Here we are facing to 2 sources from where the SU01's parameters comes from:
1. Initial Load --> the %ABAPATTRIBUTE_%$rep.$NAME%% Attribute is filled during the initial load.
--> userParameter table is getting some SU01's parameters
2. The need is how to set the additional SU01's parameters when creating a new ABAP users.
I appreciate your help Tero and Steffi,
Mia
Hello Mia,
but the existing %ABAPATTRIBUTE_%$rep.$NAME%% is the user specific ATTRIBUTE with a value for every user.
The new %$rep.ABAPATTRIBUTE_%$rep.$NAME%% is a CONSTANT in a repository that is only used for the create-pass to give a new account a default set of parameters.
I don't know what you mean by additional parameters, since new user accounts can't have any parameters yet.
Hi Steffi,
It's more clear for me and thank you for your help, just last point when you said:.....
Users imported through the initial load already have an account and therefor the modify-pass would trigger for them and there you should keep the parameter-line commented out.....
Should I comment the "parameter1" somewhere ?
Thanks,
Mia
Did you check the UpdateABAPUser-pass? There I have the line for the parameters, but in my case it's already commented out (see my first screenshot in this thread).
Just check, if the line is there in the update/modify-pass and if it's enabled, comment it out.
I'm just wondering:
How do you maintain parameters for existing users? You said, you had loaded the parameters through initial load into IdM. Are the parameters changed via IdM, too? Or do the users maintain them in the ABAP system?
I'm just curious how you keep up with the changes, since all we talked about is the setting of parameters for new accounts. If you also want to change the parameters through IdM, then you can't comment that line in the UpdateABAPUser-pass out, because it is needed for existing accounts.
Hi Steffi,
As I said I have 3 ABAP system(repositories): DEV, QAS and PRD
The users maintain the SU01's param in the ABAP system.
In the CreateABAPUser-pass and UpdateABAPUser-pass I have the attribute "parameter1" enabled with the value %$ABAPATTRIBUTE_%$rep.$NAME%%.
parameter1 %$ABAPATTRIBUTE_%$rep.$NAME%%.
As you explained clearly I create a new constant in the ABAP system repository: DEV
ZADDITIONALPARAM_DEV with value UGR= FD|MOLGA=02|PM=X XX|EFC=0
So in the CreateABAPUser-pass i modified :
parameter1 %$ABAPATTRIBUTE_%$rep.$NAME%%.
by
parameter1 %$rep.ZADDITIONALPARAM_%$rep.$NAME%%.
At the end when I try to create the user I got the error:
putNextEntry failed storing USRABC123
Exception from Add operation:com.sap.idm.ic.ToPassException: Parameter ID $rep.$NAME does not exist
Normally $rep.$NAME should be "DEV" and the constant exist in DEV repository.
Mia
Could you change the part of the CreateABAPUser-pass to %$rep.ZADDITIONALPARAM_DEV% (replacing the placeholder for the rep-name manually).
And then create a new account for a user in that system. This way we can test, whether the whole parameter-thing is working at least. After that we can concentrate on why it's not getting the repository-name.
At the moment it looks like it's taking "$rep.$NAME" as the value.
Could you show screenshot of that part of the pass and of the repository-constant, please?
Steffi Warnecke wrote:
Could you change the part of the CreateABAPUser-pass to %$rep.ZADDITIONALPARAM_DEV% (replacing the placeholder for the rep-name manually).
You probably should name all the repository constants as ZADDITIONALPARAM, so you can refer them always as %$rep.ZADDITIONALPARAM% in the CreateABAPUser regardless of the repository.
regards, Tero
Hi Steffi, Tero,
Now It's working fine after removing the $rep.$NAME as tero mentionned.
Many thanks for your help,
Mia
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Search is your friend: http://scn.sap.com/thread/3552147
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Steffi, Tero,
I need only to set up some parameters as Tero said in his example (param1Name=param1Value|param2Name=param2Value) during the CreateABAP user, but as I have many ABAP repositories my parameter1 is:
parameter1 %CUSTOMPARA_%rep.$NAME%%
in the attributes list I have 3 rep: CUSTOMPARA_REP1, CUSTOMPARA_REP2, CUSTOMPARA_REP3, so I opened each CUSTOMPARA_REP1, 2 3 and in the "Attribute values" tab --> Value --> I add:
param1Name=param1Value
param2Name=param2Value
But when I display my user, I am not able to see the parameters/values in the UI.
Many thanks for your help,
Mia
Hello Steffi,
In the user parameter I able now to see all available info (parameters) in the userParemeter table. So the DB and UI are the same.
in this pass I have:
parameter1 %CUSTOMPARA_%rep.$NAME%%
I cannt remove %CUSTOMPARA_%rep.$NAME%% and add param1Name=param1Value|param2Name=param2Value because all users for all repository.
My question is how to add other parameters to the ABAP user during the "CreateABAPUser"-pass?
Where should I add additional parameters ? in the "Attribute Values" tab and how ?
Many thanks,
Mia
Hello Mia,
I'm not sure I understand what you mean.
param1Name=param1Value|param2Name=param2Value
These are already two parameter.
Didn't you create the CUSTOMPARA_<rep.NAME>-constant in all repositories you want to fill with the default-parameters? Then you just have to set the value of the constant (= the list of parameters with their values) per repository and the %CUSTOMPARA_%rep.$NAME%% should "translate" it and use the repository-constant and therefor the parameters you set there.
Hi Steffi,
Sorry if you are confused. Let me retry again to explain my need.
My IDM 7.2 is connected to 3 ABAP system DEV, QAS, PRD.
I did the initial Load ofr these 3 systems and every thing is working fine.
Now the business comes with a new need: Add some SU01 parameters for the future user creation, and not the update, so as you said the "CreateABAPUser"-pass will create users.
In this pass I have an attribute activated:
parameter1 %ABAPATTRIBUTE_%$rep.$NAME%%
So the attribute "parameter1" will be translated to 3 attributes:
ABAPATTRIBUTE_DEV, ABAPATTRIBUTE_QAS and ABAPATTRIBUTE_PRD.
I understand that if I change the value of the attribute "parameter1" to param1=value1|param2=value2.
By doing this, the user in SU01 will have 2 parameters:
param1=value1
param2=value2
Now I have a list of SU01's parameters like:
UGR FD
MOLGA 2
PM X XX
EFC 0
etc...
Question: Where should I put these list of SU01's parameters? I tried to put them in the "Attribute Values" tab of the 3 attributes: ABAPATTRIBUTE_DEV, ABAPATTRIBUTE_QAS and ABAPATTRIBUTE_PRD.
Should I put them like :
UGR= FD
MOLGA=02
PM=X XX
EFC=0
or
UGR= FD|MOLGA=02|PM=X XX|EFC=0
Mia
Mia BEN wrote:
My question is how to add other parameters to the ABAP user during the "CreateABAPUser"-pass?
Do you mean that you have the existing attributes the user has in ABAP stored to Id Store in mx_person record and you want to add new parameters on top of the existing ones?
If you have repository specific attribute for parameters for mx_person entry type, then you could create a job that assigns the new values at the end of the existing parameter string. Or if the new parameter goes for all users to that repository then you could just put together (concatenate the attribute and rep constant values and put pipe in between) the string in the CreateABAPUser-pass, like %z_parameter[REP_NAME]%|%REP.z_rep_specific_parameter%
regards, Tero
Mia BEN wrote:
UGR= FD|MOLGA=02|PM=X XX|EFC=0
The above is correct assuming your attribute is not a multi-value. Just one long string. But if you're using attributes then you must store the value in the attribute.
If the parameter values are static (sounds like so if you're thinking about using fixed attribute values in UI) you could define them as repository constants and just refer the constant in CreateABAPUser.
regards, Tero
Hi Tero,
my Attribute is a multivalue attribute, what's the problem with that ?
After the initial load, I can see SU01's parameters in the table DEV_xxxx_userParameter. So Now I need to add others SU01's parameters to the future users when creating ABAPUsers with pass mentionned before.
Is that correct?
Mia
Hello Mia,
I have not (yet?) set user parameters when creating or changing SAP user accounts, but I had a look at the "CreateABAPUser"-pass and the "UpdateABAPUser"-pass and found this line:
When looking at the inital load-job, there was also a pass "WriteABAPUsersParameter [new]" and that led me to the "ReadABAPUsers [modified]"-pass, where you find:
So this should be the way to go. If you check the table, you'll see, that the seperator is a pipe (|). I would try setting one parameter-id with the default-value into the parameter1-field and test it to see if it gets provisioned into the SAP-system. And after that just try it with "parameter-id1=<value>|parameter-id2=<value>|...".
Like I said, I never used this before, but that would be my scenario. I just love questions like this. Now I'm thinking about using this myself and setting parameters automatically through IdM.
Regards,
Steffi.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.