cancel
Showing results for 
Search instead for 
Did you mean: 

How to set SU01 parameters

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Steffi_Warnecke
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Hi Steffi,

I appreciate your help, I will implement your suggestion, but is there any risk that the additonal SU01's parameter's will overwrite the existing one (added during the initial Load) ?

Mia

Steffi_Warnecke
Active Contributor
0 Kudos

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.

, what do you think?

terovirta
Active Contributor
0 Kudos

That sounds like a working solution.

Former Member
0 Kudos

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

Steffi_Warnecke
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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



Steffi_Warnecke
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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

Steffi_Warnecke
Active Contributor
0 Kudos

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?

terovirta
Active Contributor
0 Kudos

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

Steffi_Warnecke
Active Contributor
0 Kudos

What Tero wrote!

That's even better and not so confusing to read with all the placeholders.

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Steffi, Tero,

Now It's working fine after removing the $rep.$NAME as tero mentionned.

Many thanks for your help,

Mia

Steffi_Warnecke
Active Contributor
0 Kudos

You're welcome! Team work at its best again.

terovirta
Active Contributor
0 Kudos

Search is your friend: http://scn.sap.com/thread/3552147 

Steffi_Warnecke
Active Contributor
0 Kudos

Ah, of course you got that covered already. When I read the thread right now, I remembered that I read it back then. ^^

Regards,

Steffi.

Former Member
0 Kudos

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

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Mia,

what does your attribute-tab look like and the UI? Can you share, please?

Regards,

Steffi.

Former Member
0 Kudos

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

Steffi_Warnecke
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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





terovirta
Active Contributor
0 Kudos

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

terovirta
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

terovirta
Active Contributor
0 Kudos

Mia BEN wrote:

Hi Tero,

my Attribute is a multivalue attribute, what's the problem with that ?

No problem, I was just thinking whether you would need to have multiple lines for multivalue attribute but as the multivalue separator is pipe it should work.

Steffi_Warnecke
Active Contributor
0 Kudos

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.