cancel
Showing results for 
Search instead for 
Did you mean: 

Provisioning of HCM infotype 105 only subtype 10

Former Member
0 Kudos

We recently implemented process to provision from SAP IDM 7.1 to HCM IT105 by bringing business suite ModifyABAPIdentity and have assign PRIV:FUNCTION_SET:<REP>:HR_COMMUNICATION priv to all users. Our main purpose to get this process was to only write email to subtype 0010 but we recently started seeing it is actually even modifying subtype 0001 user id if there is any different user id updated in IT 105 subtype 0001.

I know this is standard process of how BADI:BADI_IDM_HR_COMMUNICATION updates the HCM IT 105.

We want to know if there is way to only push email updates and no user id update from this BAPI.

We want to see if this can be achieved by not changing the BAPI but can be controlled from IDM provisioning side.

Thanks,

Arun

Accepted Solutions (0)

Answers (3)

Answers (3)

former_member190695
Participant
0 Kudos

Hi Arun,

Hope all 's well.

As you stated the default BAdI (Badi_extend_Identity) will create/update sap system user name, fax, email, first telephone number, cell phone in IT0105 - Communication and Building number and office number in IT0032 - Internal Data. All fields are considered as Mandatory while creating and updating as well. There's also a pre-authorization check while performing the activities.

You basically have 2 options:

1 - Use a different BAPI as Tero mentioned. The BAPI is Remote Enabled and can be called directley from IdM using JcO.

2 - Enhance the default BAdI, using Customer (User) Exists to bypass the default functionality and just update the mail attribute.

I was in the same position but decided to use the default functionality rather then creating a custom function or enhancing the BAdI. This last requires an ABAP (HR) developer.

You can of course disable the other attributes from being updated on the job itself but this is not the case for the SYSUNAME.

Keep me posted on your progress.

Regards,

Ridouan

Former Member
0 Kudos

You can try making sure that the MX_FS_HCM_PERSONID_EXT is set.  I'm not sure if that will help but its the only attribute I can see which appears to be relevant.  All of the MX_FS_ attributes are provided as part of the function set data when its assigned.

Peter

Former Member
0 Kudos

Hi Arun,

I don't think this can be done in the standard, but you could link in a bespoke BAPI to avoid changing the standard one.

Hope that helps,

Ian

terovirta
Active Contributor
0 Kudos

I don't think this can be done in the standard, but you could link in a bespoke BAPI to avoid changing the standard one.

Based on my notes I've used standard BAPIs "BAPI_EMPLCOMM_CHANGE" and "BAPI_EMPLCOMM_CREATE" from IdM/Maxware JavaScript to update the 0105 infotype fields one by one. Both have input tables/parameters for the attribute name and value plus validity period, so you can pass n-number of attributes.

(if I remember correctly the reason for using the BAPIs instead of IdM's standard was that I wasn't able to change the SYSUNAME in 0105 for some reason, for the other attributes the standard worked just fine.)

The trick with the change-BAPI is that the validity dates for the new and old value cannot overlap. So, the old dates must be fetched with "BAPI_EMPLCOMM_GETLIST". But how the BAPIs work can/should be tested with ABAP Workbench before any code is written.

Based on your skills or practices you can choose whether to call just the standard BAPIs from JavaScript or develop a wrapper BAPI that has simpler interface and does the needed handling for validity dates etc in ABAP-side (which is also probably better for the performance).