Welcome Serena Central users! CLICK HERE
The migration of the Serena Central community is currently underway. Be sure to read THIS MESSAGE to get your new login set up to access your account.
mdadik Absent Member.
Absent Member.
377 views

SAP UM Driver : sapParameters not updated into SAP

hello guys,

I have a SAP driver in IDM 4.5.5 and I'm trying to set some SAP parameters from a policy in subscriber channel :
It seems that the SAP table is never updated whatever the value is set for parameter.
I'm not a SAP specialist, so I'm not sure what is wrong here...
Any help is welcome 😉

Here is policy script that is well interpreted in log files when the condition is meet :

<rule>
<description>Set parameters</description>
<conditions>
<or>
<if-operation mode="nocase" op="equal">add</if-operation>
<if-op-attr name="attribute1" op="changing"/>
</or>
</conditions>
<actions>
<do-set-local-variable name="lvSiteCode" scope="policy">
<arg-string>
<token-src-attr class-name="clsOrganization" name="attribute2">
<arg-dn>
<token-src-attr class-name="clsUser" name="attribute1"/>
</arg-dn>
</token-src-attr>
</arg-string>
</do-set-local-variable>
<do-if>
<arg-conditions>
<and>
<if-local-variable mode="nocase" name="lvSiteCode" op="equal">001</if-local-variable>
</and>
</arg-conditions>
<arg-actions>
<do-set-dest-attr-value direct="true" name="sapParameters">
<arg-value type="structured">
<arg-component name="PARID">
<token-text xml:space="preserve">WRK</token-text>
</arg-component>
<arg-component name="PARVA">
<token-text xml:space="preserve">*</token-text>
</arg-component>
<arg-component name="PARTXT"/>
</arg-value>
</do-set-dest-attr-value>
</arg-actions>
<arg-actions>
<do-set-dest-attr-value direct="true" name="sapParameters">
<arg-value type="structured">
<arg-component name="PARID">
<token-text xml:space="preserve">WRK</token-text>
</arg-component>
<arg-component name="PARVA">
<token-text xml:space="preserve">F</token-text>
<token-src-attr class-name="clsOrganization" name="attribute2">
<arg-dn>
<token-src-attr class-name="clsUser" name="attribute1"/>
</arg-dn>
</token-src-attr>
</arg-component>
<arg-component name="PARTXT"/>
</arg-value>
</do-set-dest-attr-value>
</arg-actions>
</do-if>
<do-set-local-variable name="lvParamsNodeSet" scope="policy">
<arg-node-set>
<token-split delimiter=";">
<token-global-variable name="drv.sap.parameters"/>
</token-split>
</arg-node-set>
</do-set-local-variable>
<do-for-each>
<arg-node-set>
<token-local-variable name="lvParamsNodeSet"/>
</arg-node-set>
<arg-actions>
<do-set-local-variable name="lvparam" scope="policy">
<arg-node-set>
<token-split delimiter=":">
<token-local-variable name="current-node"/>
</token-split>
</arg-node-set>
</do-set-local-variable>
<do-set-dest-attr-value direct="true" name="sapParameters">
<arg-value type="structured">
<arg-component name="PARID">
<token-xpath expression="$lvparam[1]"/>
</arg-component>
<arg-component name="PARVA">
<token-xpath expression="$lvparam[2]"/>
</arg-component>
<arg-component name="PARTXT"/>
</arg-value>
</do-set-dest-attr-value>
</arg-actions>
</do-for-each>
</actions>
</rule>

In my schema mapping rule I have the following line for parameter :

...
<attr-name class-name="User">
<nds-name>sapParameters</nds-name>
<app-name>PARAMETER:PARID</app-name>
</attr-name>
...


In log files, I have the following displayed and it seems that the SAP table is never updated whatever the value is set for parameter :
<input>
<modify class-name="US" event-id="qiamas1b#20180327160304#1#1:5e141ad7-2206-43d2-e6a8-d71a145e0622#2" qualified-src-dn="O=data\OU=Users\OU=BL\uniqueID=BL134000" src-dn="\BLG-QUALTREE\data\Users\BL\BL134000" src-entry-id="41222">
<association>\RCRMAND310\USdBL134000</association>
<modify-attr attr-name="PARAMETER:PARID">
<remove-all-values/>
<add-value>
<value type="structured">
<component name="PARID">WRK</component>
<component name="PARVA">F217</component>
<component name="PARTXT"/>
</value>
</add-value>
</modify-attr>
</modify>
</input>
</nds>
[03/27/18 18:03:04.897]:SAP User Management Driver APR ST: BapiDispatch: DP: Connection set to use: XXXXXXX310
[03/27/18 18:03:04.897]:SAP User Management Driver APR ST: BapiDispatch: DP: Language code for command: en
[03/27/18 18:03:04.897]:SAP User Management Driver APR ST: BapiDispatch: Creating client connection
[03/27/18 18:03:04.897]:SAP User Management Driver APR ST: BapiDispatch: connection created
[03/27/18 18:03:04.898]:SAP User Management Driver APR ST: BapiDispatch: DP: Subscriber processing 'MODIFY' command.
[03/27/18 18:03:04.898]:SAP User Management Driver APR ST: BapiDispatch: MH: assocValue == 'USXXXXXXXX'
[03/27/18 18:03:04.898]:SAP User Management Driver APR ST: XDSParse: Parsing elements in User Modify
[03/27/18 18:03:04.898]:SAP User Management Driver APR ST: XDSParse: parseUserChange - attrName: PARAMETER:PARID, table: 'PARAMETER'
[03/27/18 18:03:04.898]:SAP User Management Driver APR ST: XDSParse: PARSE: Remove all values for AttrName: PARAMETER:PARID
[03/27/18 18:03:04.899]:SAP User Management Driver APR ST: XDSParse: ParseHash Component: PARID, Value: WRK
[03/27/18 18:03:04.899]:SAP User Management Driver APR ST: XDSParse: ParseHash Component: PARVA, Value: F217
[03/27/18 18:03:04.899]:SAP User Management Driver APR ST: XDSParse: ParseHash Component: PARTXT, Value:
[03/27/18 18:03:04.899]:SAP User Management Driver APR ST: XDSParse: Add value for AttrName: PARAMETER:PARID
[03/27/18 18:03:04.899]:SAP User Management Driver APR ST: XDSParse: Key: PARTXT, Value:
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: XDSParse: Key: PARID, Value: WRK
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: XDSParse: Key: PARVA, Value: F217
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: XDSParse:
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: BapiDispatch: MH: Modify request for User 'USXXXXXXXX'
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: UserModify: Modify User
[03/27/18 18:03:04.900]:SAP User Management Driver APR ST: UserGetDetail: SAP version: 750
[03/27/18 18:03:04.937]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: ADDRESS
[03/27/18 18:03:04.937]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: ADMINDATA
[03/27/18 18:03:04.937]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: ALIAS
[03/27/18 18:03:04.937]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: COMPANY
[03/27/18 18:03:04.938]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: DEFAULTS
[03/27/18 18:03:04.938]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: DESCRIPTION
[03/27/18 18:03:04.938]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: IDENTITY
[03/27/18 18:03:04.938]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: ISLOCKED
[03/27/18 18:03:04.938]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: LASTMODIFIED
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: LOGONDATA
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: REF_USER
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: SNC
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Structure: UCLASS
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ACTIVITYGROUPS
[03/27/18 18:03:04.939]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDCOMREM
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDFAX
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDPAG
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDPRT
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDRFC
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDRML
[03/27/18 18:03:04.940]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDSMTP
[03/27/18 18:03:04.941]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDSSF
[03/27/18 18:03:04.941]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDTEL
[03/27/18 18:03:04.941]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDTLX
[03/27/18 18:03:04.941]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDTTX
[03/27/18 18:03:04.941]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDURI
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: ADDX400
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: EXTIDHEAD
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: EXTIDPART
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: GROUPS
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: PARAMETER
[03/27/18 18:03:04.942]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: PARAMETER1
[03/27/18 18:03:04.943]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: PROFILES
[03/27/18 18:03:04.943]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: RETURN
[03/27/18 18:03:04.943]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: SYSTEMS
[03/27/18 18:03:04.943]:SAP User Management Driver APR ST: UserGetDetail: Allocating Table: UCLASSSYS
[03/27/18 18:03:04.943]:SAP User Management Driver APR ST: UserGetDetail: queryOrig: 'PARAMETER:PARID', queryTable: 'PARAMETER', queryField: 'PARID'
[03/27/18 18:03:04.944]:SAP User Management Driver APR ST: UserGetDetail: In setTableData, tableName: PARAMETER
[03/27/18 18:03:04.944]:SAP User Management Driver APR ST: UserGetDetail: queryOrig: 'ADDCOMREM', queryTable: 'ADDCOMREM', queryField: ''
[03/27/18 18:03:04.944]:SAP User Management Driver APR ST: UserGetDetail: In setTableData, tableName: ADDCOMREM
[03/27/18 18:03:04.944]:SAP User Management Driver APR ST: UserGetDetail: TABLE: Getting table field names and data.
[03/27/18 18:03:04.944]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'COMM_TYPE', data: 'INT'
[03/27/18 18:03:04.945]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'LANGU', data: 'E'
[03/27/18 18:03:04.945]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'LANGU_ISO', data: ''
[03/27/18 18:03:04.945]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'COMM_NOTES', data: 'Modified by Identity Manager'
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'CONSNUMBER', data: '001'
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserGetDetail: TABLE: field name: 'ERRORFLAG', data: ''
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserGetDetail: ADD table row Hashdata to m_dataVector: ADDCOMREM
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserModify: Current object data
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserModify: String Data
[03/27/18 18:03:04.946]:SAP User Management Driver APR ST: UserModify: -------------------------
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify:
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify: HashMap Data
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify: -------------------------
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify: Name: ADDCOMREM
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify: Value:
[03/27/18 18:03:04.947]:SAP User Management Driver APR ST: UserModify: Component: COMM_TYPE, value: INT
[03/27/18 18:03:04.948]:SAP User Management Driver APR ST: UserModify: Component: ERRORFLAG, value:
[03/27/18 18:03:04.948]:SAP User Management Driver APR ST: UserModify: Component: COMM_NOTES, value: Modified by Identity Manager
[03/27/18 18:03:04.948]:SAP User Management Driver APR ST: UserModify: Component: LANGU_ISO, value:
[03/27/18 18:03:04.948]:SAP User Management Driver APR ST: UserModify: Component: CONSNUMBER, value: 001
[03/27/18 18:03:04.948]:SAP User Management Driver APR ST: UserModify: Component: LANGU, value: E
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserModify:
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserModify: Generating temporary reset password
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserModify: Calling BAPI_USER_CHANGE
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserChange: SAP version: 750
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserChange: Change key: PARAMETER:PARID, Value: REMOVEALL
[03/27/18 18:03:04.949]:SAP User Management Driver APR ST: UserChange: setStringChangeParams: Structure: PARAMETER, field: PARID
[03/27/18 18:03:04.950]:SAP User Management Driver APR ST: UserChange: setCurrTableData: name: PARAMETER
[03/27/18 18:03:04.950]:SAP User Management Driver APR ST: UserChange: sCCRD: setting hash values.
[03/27/18 18:03:04.950]:SAP User Management Driver APR ST: UserChange: Adding row to ADDCOMREM table. Row: 0
[03/27/18 18:03:04.950]:SAP User Management Driver APR ST: UserChange: Adding table value key: COMM_TYPE, value: INT
[03/27/18 18:03:04.950]:SAP User Management Driver APR ST: UserChange: Adding table value key: ERRORFLAG, value:
[03/27/18 18:03:04.951]:SAP User Management Driver APR ST: UserChange: Adding table value key: COMM_NOTES, value: Modified by Identity Manager
[03/27/18 18:03:04.951]:SAP User Management Driver APR ST: UserChange: Adding table value key: LANGU_ISO, value:
[03/27/18 18:03:04.951]:SAP User Management Driver APR ST: UserChange: Adding table value key: CONSNUMBER, value: 001
[03/27/18 18:03:04.951]:SAP User Management Driver APR ST: UserChange: Adding table value key: LANGU, value: E
[03/27/18 18:03:04.952]:SAP User Management Driver APR ST: UserChange: sCTD: setting hash values.
[03/27/18 18:03:04.952]:SAP User Management Driver APR ST: UserChange: sCTD: setting String values.
[03/27/18 18:03:04.952]:SAP User Management Driver APR ST: UserChange: Calling setTableChangeParams: key is: PARAMETER:PARID
[03/27/18 18:03:04.975]:SAP User Management Driver APR ST: UserChange: Change return TYPE: S
[03/27/18 18:03:04.975]:SAP User Management Driver APR ST: UserChange: Change return MESSAGE: No changes were made to user BL134000
[03/27/18 18:03:04.975]:SAP User Management Driver APR ST: UserModify: BAPI_USER_CHANGE finished
[03/27/18 18:03:04.975]:SAP User Management Driver APR ST: BapiDispatch: m_disableRetry value: false
Labels (1)
0 Likes
4 Replies
dbuschke Super Contributor.
Super Contributor.

Re: SAP UM Driver : sapParameters not updated into SAP

Hi,
I can confirm that using


<modify-attr attr-name="PARAMETER:PARID">
<remove-all-values/>
<add-value>
<value type="structured">
<component name="PARID">PER</component>
<component name="PARVA">12345</component>
<component name="PARTXT">Personalnummer Personal (HR)</component>
</value>
</add-value>
</modify-attr>


results in


<description>No changes were made to user XXXXX</description>


According to tcpdump neither the parameter id nor the value was transmitted to SAP.

But I am unsure about the attr-name. Is sapParamaters (schema mapped to PARAMATER:PARID) is the correct attribiute?

regards
Daniel
0 Likes
dbuschke Super Contributor.
Super Contributor.

Re: SAP UM Driver : sapParameters not updated into SAP

Hi,
this is working:


<modify-attr attr-name="PARAMETER">
<add-value>
<value type="structured">
<component name="PARID">PER</component>
<component name="PARVA">12345</component>
</value>
</add-value>
</modify-attr>
</modify>


I made two mistakes:

  1. I was using "set destination attribute" instead of "add destination attribute" which looks like resulting in a null pointer exception - but I have not double checked this!
  2. using PARAMETER as attribute name. Notice that sapParameter is mapped to PARAMETER:PARID, but PARID is part of PARAMETER. So this didn't made sense to me.



  3. regards
    Daniel
0 Likes
Highlighted
mdadik Absent Member.
Absent Member.

Re: SAP UM Driver : sapParameters not updated into SAP

dbuschke;2478274 wrote:
Hi,
this is working:


<modify-attr attr-name="PARAMETER">
<add-value>
<value type="structured">
<component name="PARID">PER</component>
<component name="PARVA">12345</component>
</value>
</add-value>
</modify-attr>
</modify>


I made two mistakes:

  1. I was using "set destination attribute" instead of "add destination attribute" which looks like resulting in a null pointer exception - but I have not double checked this!
  2. using PARAMETER as attribute name. Notice that sapParameter is mapped to PARAMETER:PARID, but PARID is part of PARAMETER. So this didn't made sense to me.



  3. regards
    Daniel

    Hi Daniel,

    You are right, using add destination attribute method instead of set destination attribute and with mapping PARAMETER instead of PARAMETER:PARID make it works fine !!!
    Thanks for your help !!

    Have a good week-end.

    Kind regards,

    mdadik
0 Likes
Knowledge Partner
Knowledge Partner

Re: SAP UM Driver : sapParameters not updated into SAP

mdadik wrote:

> PARAMETER instead of PARAMETER:PARID


you need to map either
- to a single field of a table in TABLE:FIELD syntax, or
- to a table and add the desired/required fields as components

This is explained in the docs at
https://www.netiq.com/documentation/identity-manager-47-drivers/sap_user/data/adhykgv.html#adhys1u

SAP User field values can be arranged in three types:

Simple fields: These values are not grouped with other fields. The syntax
in the schema map is <field name>.

Structure fields: These values are grouped with other pieces of data that
describe a larger collection of single-instance data. The syntax for these
fields in the schema map is <structure name>:<field name>. For example,
ADDRESS:TELEPHONE.

Table fields: These values are similar to Structure fields, but there can
be multiple instances of the structured data. The syntax for these fields in
the schema map is <table name>:<field name>. For example, ADDTEL:TELEPHONE.

The following table includes common attribute mappings for the User class and
their descriptions, assuming that only the primary piece of structure
communication data is required (such as ADDTEL:TELEPHONE). *If fields of a
table are to be mapped, you should specify only the Table name in the mapping*
(such as LOCACTIVITYGROUPS). If you do this, the driver generates all table
field values in structured format.

Some XDS examples are available at
https://www.netiq.com/documentation/identity-manager-47-drivers/sap_user/data/b1uaw0w.html


--
http://www.is4it.de/en/solution/identity-access-management/

(If you find this post helpful, please click on the star below.)
______________________________________________
https://www.is4it.de/identity-access-management
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.