The following example is a typical XML document that has been parsed from HRMD_A number O_200_0000000000008134.
<nds dtdversion="1.0" ndsversion="8.5"> <source> <product build="20050916_0956" instance="SAP-HR" version "3.5">Identity Manager Driver for SAP/HR</product> <contact>Novell, Inc.</contact> </source> <input xmlns:sapshim="http://www.novell.com/dirxml/drivers/SAPShim"> <modify class-name="P" event-id="O_200_0000000000008134" src- dn="00000049" timestamp="20011204-99991231"> <association>00000049</association> <modify-attr attr-name="P0001:STELL:none:141:8"> <remove-all-values/> <add-value> <value timestamp="20011018-99991231">50000055</value> </add-value> </modify-attr> <modify-attr attr-name="P0000:STAT2:none:79:1"> <remove-all-values/> <add-value> <value timestamp="20011018-99991231">3</value> </add-value> </modify-attr> <modify-attr attr-name="P0002:NACHN:none:84:25"> <remove-all-values/> <add-value> <value timestamp="19960421-99991231">Jones</value> </add-value> </modify-attr> <modify-attr attr-name="P0002:VORNA:none:134:25"> <remove-all-values/> <add-value> <value timestamp="19960421-99991231">Paul</value> </add-value> </modify-attr> <modify-attr attr-name="P0006:STRAS:1:103:30"> <remove-all-values/> <add-value> <value timestamp="20010101-99991231">123 Main Street</value> </add-value> </modify-attr> </modify> </input> </nds>
Some characteristics to note:
All XML documents received from the SAP HR system are translated into <modify> documents. This translation occurs because it is not possible to determine whether the object described by the document has been modified or is new. Additional modification or translation of the document is accomplished through policies and the Metadirectory engine.
The <modify> element contains the class-name of the object described (that is, P= Person). The event-id attribute contains the IDoc number from which the data is derived. The src-dn attribute contains the SAP Object ID value. The timestamp attribute contains the date that the IDoc was processed by the driver.
The <association> element data always contains the SAP Object ID.
The <modify-attr> element contains the attr-name described in SAP format (Segment:Attribute Name:SubType:Value Offset:Value Length).
Because multivalue attributes cannot be consistently mapped across systems, the <remove-all-values> element is used prior to all <add-value> tags. This instructs the Metadirectory engine to remove all existing values for the attribute prior to assigning the new value. If this functionality is not desired, one of the XSLT policies can be used to modify the document.
The <value> element contains a timestamp attribute with the BEGIN VALIDITY-END VALIDITY time stamp of the attribute’s data segment (that is, Segment P001 data has a time stamp of 20011018-99991231). This means the data became valid on October 18, 2001 and remains valid to the SAP maximum date. All data segments might have different or future-dated validity time stamps.
All values are in a string format.