Sap HR
Sap HR
AUTHORIZED DOCUMENTATION
Novell ®
Identity Manager
3.6.1
June 05, 2009
www.novell.com
Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims
any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc.
reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to
notify any person or entity of such changes.
Any products or technical information provided under this Agreement may be subject to U.S. export controls and the
trade laws of other countries. You agree to comply with all export control regulations and to obtain any required
licenses or classification to export, re-export or import deliverables. You agree not to export or re-export to entities on
the current U.S. export exclusion lists or to any embargoed or terrorist countries as specified in the U.S. export laws.
You agree to not use deliverables for prohibited nuclear, missile, or chemical biological weaponry end uses. See the
Novell International Trade Services Web page (http://www.novell.com/info/exports/) for more information on
exporting Novell software. Novell assumes no responsibility for your failure to obtain any necessary export
approvals.
Copyright © 2000-2009 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied,
stored on a retrieval system, or transmitted without the express written consent of the publisher.
Novell, Inc. has intellectual property rights relating to technology embodied in the product that is described in this
document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S.
patents listed on the Novell Legal Patents Web page (http://www.novell.com/company/legal/patents/) and one or
more additional patents or pending patent applications in the U.S. and in other countries.
Novell, Inc.
404 Wyman Street, Suite 500
Waltham, MA 02451
U.S.A.
www.novell.com
Online Documentation: To access the latest online documentation for this and other Novell products, see
the Novell Documentation Web page (http://www.novell.com/documentation).
novdocx (en) 13 May 2009
Novell Trademarks
For Novell trademarks, see the Novell Trademark and Service Mark list (http://www.novell.com/company/legal/
trademarks/tmlist.html).
Third-Party Materials
All third-party trademarks are the property of their respective owners.
novdocx (en) 13 May 2009
1 Overview 11
1.1 Supported SAP Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Driver Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Publisher Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Subscriber Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Driver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 Product Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.1 Driver Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5.2 Driver Shim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5.3 Schema Map Generation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5.4 SAP Java Connector Test Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Publishing to the Identity Vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1 IDoc Consumption by the Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.2 IDoc Object Types Consumed by the Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6.3 Attribute Mapping from the SAP HR Database to the Identity Vault . . . . . . . . . . . . . 17
1.7 Subscribing from the Identity Vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8 Support for Standard Driver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.1 Local Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.2 Remote Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.8.3 Entitlements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Contents 5
novdocx (en) 13 May 2009
5 Configuring the SAP System 33
5.1 Configuring the SAP System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.1 Defining Sending and Receiving Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.2 Creating a Distribution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.3 Creating a Port Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.4 Generating Partner Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.5 Generating an IDoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1.6 Activating Change Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.7 Scheduling a Job for Change Pointer Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.8 Scheduling a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.9 Testing the Change Pointer Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.10 Creating a CPIC User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2 Using the Schema Metadata File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.1 Creating a New Schema Metadata File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.2 Reducing the Size of the Schema Metadata File. . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.3 Extending the Schema Metadata File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.4 Using the Schema Map Generation Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3 Using the SAP Java Connector Test Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1 What Does the Utility Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.2 Utility Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.4 Running and Evaluating the Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.5 Understanding Test Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
A Driver Properties 67
A.1 Driver Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1.1 Driver Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1.2 Driver Object Password (iManager Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.1.3 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
A.1.4 Startup Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.1.5 Driver Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
A.2 Global Configuration Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Contents 7
novdocx (en) 13 May 2009
This guide explains how to install and configure the Identity Manager Driver for SAP* HR. It
contains the following sections:
Chapter 1, “Overview,” on page 11
Chapter 2, “Installing the Driver Files,” on page 21
Chapter 3, “Creating a New Driver,” on page 23
Chapter 4, “Upgrading an Existing Driver,” on page 31
Chapter 5, “Configuring the SAP System,” on page 33
Chapter 6, “Customizing the Driver,” on page 49
Chapter 7, “Managing the Driver,” on page 59
Chapter 8, “Troubleshooting the Driver,” on page 61
Appendix A, “Driver Properties,” on page 67
Appendix B, “Application Link Enabling (ALE),” on page 75
Appendix C, “Example XML Document Received from the Driver,” on page 79
Appendix D, “Business Application Programming Interfaces (BAPIs),” on page 81
Appendix E, “Subscriber Change Modes and Validity Date Modes,” on page 85
Feedback
We want to hear your comments and suggestions about this manual and the other documentation
included with Novell Identity Manager. Please use the User Comments feature at the bottom of each
page of the online documentation, or go to http://www.novell.com/documentation/feedback.html
and enter your comments there.
Documentation Updates
For the most recent version of this document, see the Identity Manager 3.6.1 Drivers Documentation
Web site (http://www.novell.com/documentation/idm36drivers/index.html).
Additional Documentation
For documentation on using Identity Manager and the other drivers, see the Identity Manager 3.6.1
Documentation Web site (http://www.novell.com/documentation/idm36).
Documentation Conventions
In this documentation, a greater-than symbol (>) is used to separate actions within a step and items
within a cross-reference path.
A trademark symbol (®, ™, etc.) denotes a Novell trademark. An asterisk (*) denotes a third-party
trademark.
The Identity Manager Driver for SAP Human Resources (HR), subsequently referred to as the SAP
1
HR driver, creates an automated link between the SAP HR database and the Identity Vault. This
technology enables data flow within a business enterprise based on its own unique requirements, and
eliminates the labor-intensive and error-prone practice of re-entering the same data into multiple
databases. As new records are added, modified, or deactivated (disabled) in SAP, network tasks
associated with these events can be processed automatically.
Because the SAP HR system is the authoritative source of personnel information, the driver allows
administrators to propagate this data to other non-SAP business applications and databases without
the need for custom integration solutions. Administrators can decide what data will be shared and
how data will be presented within their enterprises.
The following sections explain the concepts you should understand before attempting to implement
the SAP HR driver in your environment:
Section 1.1, “Supported SAP Versions,” on page 11
Section 1.2, “Driver Concepts,” on page 11
Section 1.3, “Benefits,” on page 13
Section 1.4, “Driver Features,” on page 14
Section 1.5, “Product Components,” on page 14
Section 1.6, “Publishing to the Identity Vault,” on page 15
Section 1.7, “Subscribing from the Identity Vault,” on page 18
Section 1.8, “Support for Standard Driver Features,” on page 18
The Identity Vault acts as a hub, with other applications and directories publishing their changes to
it. The Identity Vault then sends changes to the applications and directories that have subscribed for
them. This results in two main flows of data: the Publisher channel and the Subscriber channel.
Section 1.2.1, “Publisher Channel,” on page 12
Section 1.2.2, “Subscriber Channel,” on page 12
Overview 11
novdocx (en) 13 May 2009
1.2.1 Publisher Channel
The following figure illustrates how the Publisher channel synchronizes data from the SAP HR
database to the Identity Vault.
Figure 1-1 Publisher Channel Process
Publisher Channel
Publishing SAP Data to Other Applications
Identity
SAP R/3
Vault
Configured HR adds or
to publish Metadirectory updates the
specific data Application Engine data in the
IDM SSL
Link Enabling Identity Vault
Remote connection
(ALE) Remote shim
Loader
The SAP R/3 HR database publishes information in the form of HRMD_A IDocs by using
Application Link Enabling (ALE) technology. The driver is only interested in HRMD_A Message
IDocs. Any object type in these IDocs can be mapped to an Identity Vault object type and
subsequently synchronized. The driver consumes the IDoc files and converts the data into XML
format.
The Publisher channel polls the SAP HR database for changes, and then submits XML-formatted
changes to the Metadirectory engine for publication into the Identity Vault. The engine processes the
document by sequentially applying all configured policies based on standard driver process flow.
The driver can then manipulate the information using various policies and filters defined by the
system administrator. The driver then submits the data to the Identity Vault. Using other Identity
Manager drivers, the data can be shared with other business applications and directories. Based on
business rules, these other applications can add additional data that can in turn be inserted back into
the SAP HR database through Business Application Programming Interface (BAPI) technology.
Subscriber Channel
Populating SAP with Data from Other Applications
SAP HOST
The Subscriber channel receives XML-formatted Identity Vault events from the Metadirectory
engine. The driver then converts these documents to an appropriate data format, and updates SAP
via the BAPI interface.
The Identity Vault sends changes only to the applications that have subscribed to receive them.
1.3 Benefits
As the following examples illustrate, the driver enables you to automate and maintain business
processes:
Automatically create an Identity Vault account when an individual is hired.
Automatically delete or deactivate Identity Vault accounts when an employee is terminated.
Synchronize bidirectional data between SAP and the Identity Vault.
Maintain accurate and consistent Identity Vault IDs.
Define password policies (for example, a birthdate, social security number, and first and last
name combinations).
Allow seamless integration between SAP and multiple applications (for example, eDirectoryTM,
Lotus Notes*, Netscape*, Exchange, and Active Directory*) by using Identity Manager and the
Identity Vault.
Create other Identity Vault objects associated with a SAP object (for example, account codes or
department records).
You can configure SAP and the SAP HR driver to enhance your organization’s business processes.
Before installing and configuring the driver, you evaluate and define those processes. During
installation, you configure the driver’s policies to automate these processes wherever possible.
Overview 13
novdocx (en) 13 May 2009
1.4 Driver Features
The following section contains information about the driver’s features.
The Publisher channel treats each object in an IDoc as a unique event. The status of each event
determines the appropriate IDoc filename extension. For example, all events with a Warning
status are placed in a file with the .warn extension.
Publisher Channel Only configuration options
The Publisher Channel Only option in the driver’s parameters enables connectivity to a SAP
host for read and query operations. The driver vetoes any subscription modifications sent to the
SAP system if this option is selected.
Publisher Connection option
This option informs the driver whether or not Publisher channel connectivity to the SAP system
is desired.
Publish History Items
This option specifies whether the driver returns data values that no longer have a current
validity period.
Future-dated IDoc processing
Future-dated IDoc processing implements a stale event data check. When future-dated events
are processed, the driver attempts to confirm the validity period of the event. If no matching
validity period is found for the event data, the IDoc data is considered stale and is not applied.
Validity checking can only be accomplished if SAP system connectivity is established through
configuring the driver’s authentication parameters. Publisher Channel Only drivers without
connectivity process all future-dated events at the indicated date.
Character set encoding is used to parse data from IDocs.
The driver allows you to specify which character set encoding is used to parse data from IDocs.
If nothing is specified, the driver uses the platform default encoding. If you incorrectly specify
a character set, the driver initialization fails. You specify this encoding option in the driver
configuration parameters.
Subscriber channel events are applied only to the current instance of SAP Infotype data.
Future-dated instances are not affected.
The Subscriber Channel offers several modes for synchronizing Communication and Internal
Data infotypes. All other updates are made as changes to the current valid data.
TheJCOTEST utility validates that all JCO connectivity and authentication parameters are
configured correctly.
This program generates a schema file using the SAP RFCSDK and then parses the default schema
file into a schema map. The schema map file is named after the IDoc type specified and contains a
.meta filename extension (for example, HRMD_A03.meta). This program is available in Win32 form
only. Default maps of HRMD_A03.meta (SAP R/3 version 4.5B) and HRMD_A05.meta (SAP R/3
version 4.6C) are provided with the product. Only SAP-defined IDocs can be mapped with the
utility. Customized IDocs can be mapped manually if required.
For data to flow from the SAP HR system, the driver utilizes the SAP ALE technology to publish
HR Master data records and captures incremental changes using change pointers. The HRMD_A
message IDocs are transported by using a File port that stores the IDocs on the SAP host system.
The driver handles the parsing and filtering of the IDoc file, and provides secure transport of the
data to the Identity Vault. Only data elements specifically selected by the system administrator are
transported from the host system to the Identity Vault.
Overview 15
novdocx (en) 13 May 2009
1.6.1 IDoc Consumption by the Driver
The driver consumes only Output IDoc files with the client number that is reserved for the driver,
thus ensuring the privacy of other IDocs that might be generated by another driver configuration.
Only the IDoc attributes that have been specified in the driver’s Publisher filter are published to the
Identity Vault.
For example:
O_300_0000000000001001.
After the specified attributes have been published, the filename of the IDoc file is modified to reflect
the status of the publication processes. The driver caches the status of every event and associates the
status with the object information in the IDoc. If multiple objects are processed from the IDoc, there
might be multiple output files with different extensions created.
The following table lists the IDoc status and corresponding suffix:
You should determine what action is required, if any, after IDoc publication is complete.
Removing the filename extension makes the IDoc available for re-processing.
If a policy generates multiple events from one object, the worst-case status is cached for the IDoc
object. For example, if an IDoc contains data for Person object 00001234 and that data triggers
policy events for the Identity Vault User, his Job, and his Position, three separate <status>
elements are returned. If two of the events have a success status, and the third status is warning, the
warning status is used.
After all of the objects in the IDoc have been processed, the driver creates output files based on the
status of events. If the IDoc contains warning status events, an IDoc file is generated containing all
of the objects whose status was a warning. The name is a concatenation of the original IDoc name
and a W.warn extension (for example, O_001_0002 becomes O_001_0002W.warn.) In a similar
fashion, if the original IDoc contains error or fatal status events, a file with an F.fail extension is
generated with those events in it.
To reprocess the IDoc, remove the extension. The use of the X character before the extension helps
ensure that subsequent reprocessing events do not overwrite the status files from the previous
processing attempts.
Only object types specified in the configuration and object types that are in the Publisher Filter are
processed. The driver parses the data for each object individually and transmits the data to the
Metadirectory engine as a single transaction.
NOTE: If SAP connectivity is specified, the driver attempts to populate empty Publisher values by
reading values from the SAP server. This only occurs if the Metadirectory engine requests more data
(via a query request) when trying to complete an Add event operation.
Several of the HRMD_A infotypes could be instantiated multiple times on the HR personnel
records. Infotypes such as P0006 (Private Address) and P0105 (Communication) might be used
several times to indicate unique subtypes. The Private Address infotype might have, for example,
Home, Work, or Temporary subtypes. The Communication infotype might contain Cell, Pager,
EMail or other subtypes. The Identity Vault administrator can configure the driver to receive
whatever subtypes of P0006 and P0105 infotypes are desired. The SAP HRMD_A messages that are
generated by the SAP HR system are posted in the form of a text file. The schema map also contains
the file position offset and length of each attribute in each segment of infotype data.
This information is presented in a schema map. The map elements have the following format:
<Segment Infotype>:<Infotype Attribute>:<Infotype Subtype> or none: <Segment
offset>:<Attribute length>
Table 1-1 lists a few examples of maps between SAP HRMD_A attributes and Identity Vault
attributes. The Infotype P0002 attributes have no possible subtypes. Infotypes P0006 and P0105
have a configurable set of subtypes.
Surname P0002:NACHN:none:84:25
City P0006:ORT01:US01:133:25
Overview 17
novdocx (en) 13 May 2009
Identity Vault Attribute SAP HR Attribute
Mobile P0105:USRID:CELL:78:30
Pager P0105:USRID:PAGR:78:30
The driver only utilizes configuration for Private Address (0006) and Communication (0105)
infotypes. Mapping of additional instance-specific infotype attributes might create errors caused by
a many-to-one object relationship.
The Subscriber channel is capable of synchronizing fewer data elements to SAP than the Publisher
channel can synchronize to the Identity Vault. For data to flow from the Identity Vault to the SAP
HR system, the driver utilizes SAP-released BAPI functions to make changes to employee records.
Because of BAPI restrictions, the driver completely supports only the following infotype data:
Personal Data (Infotype 0002)
Private Address (Infotype 0006)
Communication (Infotype 0105)
Internal Data (Infotype 0032)
The system administrator specifically selects which attributes from these infotypes can be modified.
The SAP HR driver can be installed on the same operating systems supported by the Metadirectory
server. For information about the operating systems supported by the Metadirectory server, see
“Metadirectory Server” in “System Requirements” in the Identity Manager 3.6.1 Installation Guide.
The SAP HR driver can be installed on the same operating systems supported by the Remote
Loader. For information about the operating systems supported by the Remote Loader, see “Remote
Loader” in “System Requirements” in the Identity Manager 3.6.1 Installation Guide.
1.8.3 Entitlements
The SAP HR driver does not have entitlement functionality defined with the default configuration
file. The driver does support entitlements, if there are policies created for the driver to consume.
Overview 19
novdocx (en) 13 May 2009
By default, the SAP HR driver files are installed on the Metadirectory server at the same time as the
2
Metadirectory engine. The installation program extends the Identity Vault’s schema and installs the
driver shim and the driver configuration file. It does not create the driver in the Identity Vault (see
Chapter 3, “Creating a New Driver,” on page 23) or upgrade an existing driver’s configuration (see
Chapter 4, “Upgrading an Existing Driver,” on page 31).
The SAP HR driver must be located on the same server as the SAP HR application. If the driver is
not on that server, you have the following options:
Install the Metadirectory server (Metadirectory engine and drivers) to the SAP HR server. This
requires eDirectoryTM to be installed on the server. See the instructions in “Installing the
Metadirectory Server” in the Identity Manager 3.6.1 Installation Guide.
Install the Remote Loader (required to run the driver on a non-Metadirectory server) and the
SAP HR driver files to the SAP HR server. This assumes that you already have a Metadirectory
server installed on another server in your environment. See “Installing the Remote Loader” in
the Identity Manager 3.6.1 Installation Guide.
As part of the installation, select the Utilities option and install the SAP Utilities. This installs a
schema map generation utility that you might need when configuring your SAP HR system to
support the driver. If you’ve already installed the driver files but did not install the SAP Utilities,
you can run the installation program again to install only the SAP Utilities.
The server where the SAP driver is installed must have the SAP Java Connector (JCO) client
technology version 1.1x or 2.x to provide the driver with connectivity to the SAP system.
This JCO client is available to SAP customers and developer partners through SAP, and is provided
for most popular server operating systems. You can download the JCO from the SAP Connectors
site (http://service.sap.com/connectors).
After the SAP* HR driver files are installed on the server where you want to run the driver (see
3
Chapter 2, “Installing the Driver Files,” on page 21), you can create the driver in the Identity Vault.
You do so by importing the basic driver configuration file and then modifying the driver
configuration to suit your environment. The following sections provide instructions:
Section 3.1, “Creating a SAP HR Account,” on page 23
Section 3.2, “Creating the Driver in Designer,” on page 23
Section 3.3, “Creating the Driver in iManager,” on page 26
Section 3.4, “Activating the Driver,” on page 29
1 If you are using the Remote Loader with the driver, make sure the Remote Loader driver
instance is running. For instructions, see “Starting the Remote Loader” in the Identity Manager
3.6.1 Remote Loader Guide.
2 In Designer, open your project.
3 In the Modeler, right-click the driver icon or the driver line, then select Live > Start Driver.
For information about management tasks with the driver, see Chapter 7, “Managing the Driver,” on
page 59.
Prompt Description
Where do you want to place the You can add the driver to an existing driver set, or you can
new driver? create a new driver set and add the driver to the new set. If you
choose to create a new driver set, you are prompted to specify
the name, context, and server for the driver set.
Import a configuration into this Use the default option, Import a configuration from the server
driver set (.XML file).
Driver name Type a name for the driver. The name must be unique within the
driver set.
SAP User Client Number Specify the client number to be used on the SAP application
server.
Metadata File Directory Specify the file system location where the SAP Metadata
definition file resides.
IDoc File Directory Specify the file system location where the SAP HR IDoc files are
placed by the SAP ALE system.
Organization Object Container Specify the name of the Organization Unit object where the
published SAP Organization (O) objects are placed.
Position Object Container Specify the name of the Organization Unit object where the
published SAP Position (S) objects are placed.
Job Object Container Specify the name of the Organization Unit object where the
published SAP Job (C) objects are placed.
User Container Select the Identity Vault container where any new users from the
SAP HR database are created. This value becomes the default
for all drivers in the driver set. If you don’t want to change this
value for all drivers, leave this field unchanged and change the
value on the driver’s Global Configuration Values page after
you’ve finished importing the driver.
Driver is Local/Remote Select Local if this driver will run on the Metadirectory server
without using the Remote Loader service. Select Remote if you
want the driver to use the Remote Loader service, either locally
on the Metadirectory server or remotely on another server.
Remote Host Name and Port This applies only if the driver is running remotely.
Define Security Equivalences The driver requires rights to objects within the Identity Vault. The
Admin user object is most often used to supply these rights.
However, you might want to create a DriversUser (for example)
and assign security equivalence to that user. Whatever rights
that the driver needs to have on the server, the DriversUser
object must have the same security rights.
Exclude Administrative Roles You should exclude any administrative User objects (for
example, Admin and DriversUser) from synchronization.
When you finish providing the information required by the wizard, a Summary page similar to
the following is displayed.
1 If you are using the Remote Loader with the driver, make sure the Remote Loader driver
instance is running. For instructions, see “Starting the Remote Loader” in the Identity Manager
3.6.1 Remote Loader Guide.
2 In iManager, click to display the Identity Manager Administration page.
3 Click Identity Manager Overview.
4 Browse to and select the driver set object that contains the driver you want to start.
5 Click the driver set name to access the Driver Set Overview page.
6 Click the upper right corner of the driver, then click Start driver.
For information about management tasks with the driver, see Chapter 7, “Managing the Driver,” on
page 59.
For information on activation, refer to “Activating Novell Identity Manager Products” in the Identity
Manager 3.6.1 Installation Guide.
The following sections provide information to help you upgrade an existing driver to version 3.6.1:
4
Section 4.1, “Supported Upgrade Paths,” on page 31
Section 4.2, “What’s New in Version 3.6.1,” on page 31
Section 4.3, “Upgrade Procedure,” on page 31
You must configure the SAP system parameters to enable Application Link Enabling (ALE)
5
processing of HRMD_A IDocs. This allows for data distribution between two application systems,
also referred to as messaging. Novell® follows SAP’s general guidelines for configuring BAPI
(Business Application and Programming Interface) and ALE technologies.
For information about ALE, see Appendix B, “Application Link Enabling (ALE),” on page 75. For
information about BAPI, see Appendix D, “Business Application Programming Interfaces
(BAPIs),” on page 81.
To configure the SAP system, refer to the information in the following sections:
Section 5.1, “Configuring the SAP System,” on page 33
Section 5.2, “Using the Schema Metadata File,” on page 38
Section 5.2.4, “Using the Schema Map Generation Utility,” on page 40
Section 5.3, “Using the SAP Java Connector Test Utility,” on page 41
NOTE: The following instructions are for SAP version 4.6C. If you are using a previous version of
SAP, the configuration process is the same; however, the SAP interface is different.
You must assign a client to the sending logical system. Because the receiving logical system is an
external system, there is no need to assign it to a client. You should never assign the same client to
more than one logical system.
NOTE: Depending on your current SAP environment, you might not need to create a logical
system. You might only need to modify an existing distribution model by adding the HRMD_A
message type to a previously configured model view. For more information, see “Creating a
Distribution Model” on page 34.
It is important, however, that you follow SAP’s recommendations for logical systems and
configuring your ALE network. The following instructions assume that you are creating new logical
systems and a new model view.
Generating a Profile
When you generated a partner profile, the port definition might have been entered incorrectly. For
your system to work properly, you need to modify the port definition.
IMPORTANT: Click Save once; otherwise, the job will be scheduled to run multiple times.
Initially, you can create a dialog user to test your SAP system configuration. If there are processing
problems, you can analyze the dialog user in the debugger. You should also log into the SAP system
once to set this user’s password. After the system is tested and works properly, you should switch to
a CPIC user for security measures.
IMPORTANT: If restricted rights are assigned to the CPIC User, the Identity Manager and SAP
administrators are responsible to ensure that sufficient rights are assigned to enable the configured
level of integration. Appendix D, “Business Application Programming Interfaces (BAPIs),” on
page 81 contains a table describing which BAPIs the driver uses.
The following sections provide information to help you use the Metadata files:
Section 5.2.1, “Creating a New Schema Metadata File,” on page 39
Section 5.2.2, “Reducing the Size of the Schema Metadata File,” on page 39
You can edit the appropriate metadata file and remove all infotypes that are not used for your
implementation. Simply search for the infotypes to remove (for examples, Infotype 0008 values can
be found by searching for P0008) and deleting the SEGMENT: line and subsequent infotype field
lines from the file. You should modify a copy of the original file. For most integrations, only 20-30
percent of the infotypes are actually used.
IMPORTANT: You must be careful that you do not remove infotypes that are useful for policies or
other object types being synchronized. Two infotypes of this nature are Infotype 1000 (for
Descriptions of non-person objects) and Infotype 1001 (Relationships between objects.) These are
both used in the default driver configuration.
You should also not remove fields from infotypes that are used in your integration. Field removal is
extremely hard to detect if a mistake is made or if you want to return to an earlier version.
You can also create schema extensions directly to the Mapping Rule without the need to update the
metadata file. If you choose this option, which is often easier, remember the physical offset
mentioned above when determining where your data fields of interest begin. The format for a direct
mapping is described in Section 1.6.3, “Attribute Mapping from the SAP HR Database to the
Identity Vault,” on page 17. Selecting field names is up to you, because the driver does not use them
for processing, but they should be limited to 5 characters for consistency.
The metamap.exe utility generates a schema file by using the SAP RFCSDK and then parses the
default schema file into a schema map. The schema map file is named after the IDoc type specified
and contains a .meta filename extension (for example, HRMD_A03.meta).
The metamap.exe utility is available as a Win32 program only. Only IDocs defined by SAP can be
mapped with this utility. Custom IDocs can only be mapped manually by using the base .meta file.
The saprfc.ini file must be in the same directory as the metamap.exe utility. The file includes
the following parameters:
DEST=BIN_METAMAP
TYPE=A
ASHOST=hostname
SYSNR=00
RFC_TRACE=0
The logon.txt file must also be in the same directory as the metamap.exe utility. The file
contains the following lines that you should modify as noted:
BIN_METAMAP: Do not change this line.
clientnumber: Replace with the client number on the SAP server.
username: Replace with the user name on the SAP server.
userpassword: Replace with the user password on the SAP server.
This utility enables you to check for JCO installation and configuration issues prior to configuring
the driver. Use the JCO test utility to validate installation and connectivity to the SAP JCO client, as
well as testing for accessibility to the HR BAPIs used by the driver.
In order to configure the driver, you must first download the SAP JCO and install it. For installation
instructions, refer to the documentation accompanying the SAP JCO.
There might be minor modifications to JCO components as the connector is updated by SAP.
Always refer to the SAP installation documentation for proper configuration instructions.
Section 5.3.1, “What Does the Utility Do?,” on page 41
Section 5.3.2, “Utility Prerequisites,” on page 42
Section 5.3.3, “Components,” on page 42
Section 5.3.4, “Running and Evaluating the Test,” on page 42
Section 5.3.5, “Understanding Test Error Messages,” on page 44
Ensures that the jco.jar file, which contains the exported JCO interface, is present.
Ensures that the JCO native support libraries are properly installed.
Ensures that connection parameters to the SAP R/3 target system are correct.
Ensures that the authentication parameters to the SAP R/3 target system are correct.
Ensures that the selected language code is valid.
Ensures that the BAPIs used by the driver are present as expected for the version of the SAP R/
3 target system.
Follow the installation instructions for your platform. Each installation requires you to set one or
two environment variables, such as CLASSPATH for the jco.jar file location. For the UNIX*
platforms, set either the LD_LIBRARY_PATH or LIBPATH variables for the location of native
support libraries. Ensure that these variables are set in the shell environment to run this test and for
the subsequent use of the Identity Manager Driver for SAP HR.
You must also make sure that you have your PATH environment variable set to include the path to
your Java executable file. For Win32 platforms, the environment variables are set via the System
configuration in the Control Panel. On UNIX systems, edit the appropriate .profile or
.bash_profile to include and export these path variables.
5.3.3 Components
The JCO Test utility includes a JCOTest.class file. You need to create a batch or script file to run
the test. The format of the batch or script file varies, depending on the platform on which the JCO
client has been installed.
The basic content of the file includes a path to the Java executable (or just java if your PATH is
appropriately configured), and the name of the JCOTest.class file. A sample UNIX script file and
Win32 batch file are listed below, where jco.jar is in the executable directory of the JCOTest.class
file and the batch file:
Win32 jcotest.bat file
java -classpath %CLASSPATH%;. JCOTest
You must use proper slash notation when specifying pathnames and use the proper classpath
delimiter for the platform. You must also remember that the name of the jco.jar or sapjco.jar
file is case-sensitive on UNIX platforms and that the name of the test class, JCOTest, must be
specified with proper case for any platform.
When you run the test program, an error message might appear before any test output is displayed.
This indicates an improper installation of the JCO client components. The error messages are
documented for each platform in “Understanding Test Error Messages” on page 44.
You then receive a series of prompts for connection and authentication information. All data must be
provided unless a default value, identified by [] delimiters, is provided. Failure to fill in a response
value to each prompt ends the test. Enter information for the following fields when prompted:
Application server name or IP address
System number[00]
Client number
User
User Password
Language code [EN]
The values you provide are the same values that could be used to authenticate via the SAPGUI
client. Based on the validity of the input, the test either displays error messages with solution
suggestions or runs to completion. At the end of the test, a status message displays. If the test
indicates full functionality as required by the driver, the following status message appears (it
describes valid values that can be used as the configuration parameters for the driver:
**All expected platform support is verified correct.
If the test indicates that the functionality required by the driver is not available, the following status
message is displayed:
**There are <number> required BAPI functions NOT supported on this platform.
Post-Test Procedures
After the JCO Test Utility has passed all tests successfully, the driver can be configured to run. Make
sure that the jco.jar file is copied to the location where the sapshim.jar file has been installed.
On UNIX systems, ensure that the environment variables used for the successful completion of the
JCO Test are also in the environment of the driver. If these conditions are met, there should be no
driver errors that are related to the JCO.
The test has been run on the platforms listed below. Other UNIX platforms supported by JCO are
configured in a similar manner and errors generated by improper JCO installation and configuration
should be similar to the errors described for IBM*-AIX* and Solaris*.
“General Errors” on page 44
“Errors on Win32 Systems” on page 45
“Errors on IBM-AIX Systems” on page 45
“Errors on Solaris Systems” on page 46
“Errors on Linux Systems” on page 47
General Errors
Error connecting to SAP host: Undicates that one or both of the values entered
com.sap.mw.jco.JCO$Exception: (102) for the Application Server Name or IP Address
and System Number are incorrect.
RFC_ERROR_COMMUNICATION: Connect to SAP
gateway failed Verify that these values are consistent with the
information found in the Properties page of the
Check values of Application Server Name/ SAP Logon dialog box used to connect to the
IP Address and System Number SAP R/3 system.
Error authenticating to SAP host: The authentication credentials are not valid.
com.sap.mw.jco.JCO$Exception: (103) Verify that the values for Client Number, User,
and User Password are correct.
RFC_ERROR_LOGON_FAILURE: You are not
authorized to logon to the target system
(error code 1).
Error connecting to SAP host: The language code selected is not valid or is not
com.sap.mw.jco.JCO$Exception: (101) installed on the SAP R/3 system.
RFC_ERROR_PROGRAM: Language ’<value>’
not availableCheck value of Language
Code
Exception while initializing JCO The jRFC12.dll file that shipped with the
client.java.lang.UnsatisfiedLinkError: JCO client is not installed or is installed in an
no jRFC12 in java.library.path incorrect location. The default location for
jRFC12.dll and libRfc32.dll is /
Verify proper installation of JCO Native WINNT/system32.
support libraries packaged with JCO
client.
Exception while initializing JCO The librfc32.dll file shipped with the JCO
client.java.lang.UnsatisfiedLinkError: client is not installed or is installed in an
C:\WINNT\system32\jrfc12.dll: Can’t find incorrect location. The default location for
dependent libraries. jRFC12.dll and libRfc32.dll is /WINNT/
system32.
Verify proper installation of JCO Native
support libraries packaged with JCO
client.
ksh: jcotest: not found. The jcotest script file is not present in the
directory.
Exception while initializing JCO The libjRFC12.so file that shipped with the
client.java.lang.UnsatisfiedLinkError: no JCO client is not installed or is installed in an
jRFC12 (libjRFC12.a or .so) in incorrect location. You must configure a
java.library.path. LIBPATH environment variable to specify the
location in which the file resides.
Verify proper installation of JCO Native
support libraries packaged with JCO
client.
Exception while initializing JCO The librfccm.so file shipped with the JCO
client.java.lang.UnsatisfiedLinkError: client is not installed or is installed in an
<path>/libjRFC12.so: A file or directory incorrect location. You must copy the file to the
in the path name does not exist. same location as libjRFC12.so or configure
the LIBPATH environment variable to specify
Verify proper installation of JCO Native the location in which the file resides.
support libraries packaged with JCO
client.
ksh: jcotest: not found.orbash: jcotest: The jcotest script file is not present in the
command not found directory.
Exception while initializing JCO The libjRFC12.so shipped with the JCO
client.java.lang.UnsatisfiedLinkError: client is not installed or is installed in an
no jRFC12 in java.library.path incorrect location. You must configure a
LD_LIBRARY_PATH environment variable to
Verify proper installation of JCO Native specify the location in which the file resides.
support libraries packaged with JCO
client.
Exception while initializing JCO The librfccm.so file shipped with the JCO
client.java.lang.UnsatisfiedLinkError: client is not installed or installed in an incorrect
<path>/libjRFC12.so: ld.so.1: <search- location. You must copy the file to the same
path>: fatal: librfccm.so: open failed: location as libjRFC12.so or configure the
No such file or directory LD_LIBRARY_PATH environment variable to
specify the location in which the file resides.
Verify proper installation of JCO Native
support libraries packaged with JCO
client.
ksh: jcotest: not found.orbash: jcotest: The jcotest script file is not present in the
command not found directory.
Exception while initializing JCO The libjRFC12.so file shipped with the JCO
client.java.lang.ExceptionInInitializerEr client is not installed or is installed in an
ror: JCO.classInitialize(): Could not incorrect location. You must configure a
load middleware layer LD_LIBRARY_PATH environment variable to
’com.sap.mw.jco.rfc.MiddlewareRFCno specify the location in which the file resides
jRFC12 in java.library.path.
Exception while initializing JCO The librfccm.so file shipped with the JCO
client.java.lang.ExceptionInInitializerEr client is not installed or is installed in an
ror: JCO.classInitialize(): Could not incorrect location. You must copy the file to the
load middleware layer same location as libjRFC12.so or configure
’com.sap.mw.jco.rfc.MiddlewareRFC<path>/ the LD_LIBRARY_PATH environment variable
libjRFC12.so: librfccm.so: cannot open to specify the location in which the file resides.
shared object file: No such file or
directory.
Policies are highly configurable for use within any business environment. Although each business is
6
different, the default driver configuration is built with a scenario that involves synchronizing SAP
Person (P), Organization (O), Position (S), and Job (C) objects into the Identity Vault.
The following sections explain how the default driver configuration uses policies and filters. You
can use this overview as a basis to create your own policies and filters for specific business
implementations.
Section 6.1, “Modifying Policies and the Filter,” on page 49
Section 6.2, “Using the Relationship Query,” on page 54
Classes Attributes
CommExec Description
directReports
manager
Role Occupant
User employeeStatus
Full Name
Given Name
homePhone
Initials
isManager
Login Disabled
manager
managerWorkforceID
mobile
OU
pager
Postal Code
SA
Surname
Telephone Number
Title
workforceID
CommExec C Job
User P Person
The User class is configured to synchronize bidirectionally between SAP and the Identity Vault. A
change made in one system transfers to the other system. However, changes made to the
CommExec, Organizational Role, and Organizational Unit attributes are synchronized from SAP to
the Identity Vault only.
All attributes in the Publisher and Subscriber filters should be mapped unless they are only used for
policies processing (for example, Login Disabled.)
The following table includes common attribute mappings for the User class and their descriptions:
The policy is applied as the first step of processing an XML document received from the driver
shim. The Input Transformation policy converts the syntax of the SAP attributes into the syntax for
the Identity Vault. The Input Transformation policy is implemented as an XSLT style sheet.
The default driver configuration includes templates that complete the following actions:
Modifies the association for non-Person objects to include the Class code.
Manipulates the OU attribute to contain a name-number syntax.
Manipulates the Title to contain text data.
Manipulates the Job Code to contain text data.
Transforms Postal Address from string syntax to structure syntax.
Translates telephone numbers from a numerical string into a formatted telephone number.
Translates employee status from numerical format into either an A (Active) or I (Inactive)
status code.
Adds an employee status code if it is not present in query replies.
The Placement policy uses the employeeStatus attribute value and the values of driver object
placement Global Configuration Values (GCVs) to place objects in specified Identity Vault
containers.
The default driver checks for matches based primarily on the workforceID attribute. A secondary
rule is provided to attempt matching by Surname and Given Name values.
The default driver configuration has Creation policies for the following:
Organizational Unit (if a Description attribute is present).
Creates a name for the object based on its Description.
Creates the OU attribute.
Organizational Role Object (if a Description attribute is present).
Creates a name for the object based on its Description.
Creates the CN attribute.
CommExec Object (if Description attribute is present).
Creates a name for the object based on its Description.
Creates the CN attribute.
User Object (the Surname and Given Name are transferred).
Generates an object name based on Given Name and Surname.
Sets the initial password to the user’s Surname.
The SAP driver has a special capability that allows a query to be made for the object relationships
between an SAP object being processed in the Publisher channel and other SAP objects. This
information is contained in Infotype 1001 (Object relationships) in the HRMD_A IDoc. (The
documentation for the meaning of the various fields of this Infotype can be found on the SAP system
by using transaction WE60.) Because this relationship information cannot be easily mapped to
Identity Vault attributes, and because namespace attributes are stripped out of XML documents
during various phases of processing, the capability to query for the pseudo-class RELATIONSHIPS
was built into the driver.
Query 1
This query uses the class identifier of the last object sent by the driver to the engine. In the context of
the driver’s default configuration, this query provides accurate results for obtaining relationship data
from Position objects as they are processed.
<nds dtdversion=”1.0” ndsversion="8.5">
<input>
<query class-name="RELATIONSHIPS" event-id="0"
scope="entry">
<association>50000354</association>
</query>
</input>
</nds>
This query utilizes the <search-class> element to specify the class of the object from which
relationship data is desired. The driver combines the value of the element with the association to
identify the proper relationship vector to return. This allows the policies to obtain relationship data
from any object in the current IDoc being processed. The default driver configuration contains
queries of this type to provide working examples.
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query class-name="RELATIONSHIPS" event-id="0"
scope="entry">
<association>50000354</association>
<search-class class-name="S"/>
</query>
</input>
</nds>
The driver allows the return of all relationship information in a structured <value> format. This
allows the style sheets to utilize any relationship data that is desired for implementing business
rules. It is the responsibility of the configuration expert to determine which data is utilized,
including time stamp information. The driver returns all requested fields in the 1001 (Relationships)
infotype that contain a value. If a field is not populated or present, it is not returned. A sample of a
reply to the RELATIONSHIPS Query 2 is presented below:
<nds dtdversion="1.0" ndsversion="8.5">
<source>
<product build="INVALID_BUILD_ID" instance="SAP-HR" version="1.0.2">Identity
Manager Driver for SAP/HR</product>
<contact>Novell, Inc.</contact>
</source>
<output> <instance class-name="RELATIONSHIPS" timestamp="20030529"
xmlns:sapshim="http://www.novell.com/dirxml/drivers/SAPShim">
<association>50000354</association>
<sapshim:policyAttr attr-name="RELATIONSHIPS">
<value type="structured">
<component name="ITXNR">00000000</component>
<component name="BEGDA">20020225</component>
<component name="INFTY">1001</component>
<component name="SEQNR">000</component>
<component name="ISTAT">1</component>
<component name="OTYPE">S</component>
<component name="RELAT">003</component>
<component name="ENDDA">99991231</component>
<component name="SCLAS">O</component>
<component name="PLVAR">01</component>
<component name="MANDT">001</component>
<component name="UNAME">NOVADM</component>
<component name="RSIGN">A</component>
<component name="SOBID">50000127</component>
<component name="OBJID">50000354</component>
<component name="VARYF">O 50000127</component>
<component name="AEDTM">20020225</components>
</value>
<value type="structured">
<component name="ITXNR">00000000</component>
<component name="BEGDA">20020225</component>
<component name="INFTY">1001</component>
The <read-attr> implementation of the driver RELATIONSHIPS query has been modified as
follows:
The lack of a <read-attr> element implies a request to return all components of each
matching relationship value.
An empty <read-attr/> element specifies that no values will be returned. This is a useless
operation that is not recommended.
<read-attr> elements with attr-name attribute values indicate which specific component
values are desired for each matching relationship value.
The <search-attr> functionality of the XDS DTD has been added to the driver RELATIONSHIP
query. This enables queries for relationships matching more exacting criteria to reduce the quantity
and type of reply data. Multiple <search-attr> values are interpreted as a logical AND of the
individual search components. The default Publisher Command Transformation policy has been
modified to use the new capabilities of the driver.
Query 3
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query class-name="RELATIONSHIPS" event-id="0" scope="entry">
<association>
<xsl:value-of select="$newRole-ID"/>
</association>
<search-class class-name="S"/>
<search-attr attr-name="RSIGN">
<value>A</value>
</search-attr>
<search-attr attr-name="SCLAS">
<value>S</value>
</search-attr>
<read-attr attr-name="SOBID"/>
<query>
</input>
</nds>
IMPORTANT: Export the objects in the order specified above. This ensures that the driver
creates the correct relationships when users are imported into the Identity Vault.
As you work with the SAP HR driver, there are a variety of management tasks you might need to
7
perform, including the following:
Starting, stopping, and restarting the driver
Viewing driver version information
Using Named Passwords to securely store passwords associated with the driver
Monitoring the driver’s health status
Backing up the driver
Inspecting the driver’s cache files
Viewing the driver’s statistics
Using the DirXML® Command Line utility to perform management tasks through scripts
Securing the driver and its information
Synchronizing objects
Migrating and resynchronizing data
Because these tasks, as well as several others, are common to all Identity Manager drivers, they are
included in one reference, the Identity Manager 3.6.1 Common Driver Administration Guide.
This section contains potential problems and error codes you might encounter while configuring or
8
using the driver.
Section 8.1, “Using the DSTrace Utility,” on page 61
Section 8.2, “Driver Load Errors,” on page 61
Section 8.3, “Driver Initialization Errors,” on page 62
Section 8.4, “Attribute Mapping Error,” on page 63
Section 8.5, “Changes in SAP Do Not Generate an IDoc/Change Document,” on page 63
Section 8.6, “The Driver Does Not Recognize IDocs in the Directory,” on page 64
Section 8.7, “IDocs Are Not Written to the Directory,” on page 64
Section 8.8, “The Driver Does Not Authenticate to SAP,” on page 64
Section 8.9, “JCO Installation and Configuration Errors,” on page 64
Section 8.10, “Error When Mapping Drives to the IDoc Directory,” on page 64
Section 8.11, “Driver Configured as “Publisher-only” Still Tries to Connect to the SAP
System,” on page 65
For each event or operation received, the driver returns an XML document containing a status
report. If the operation or event is not successful, the status report also contains a reason and a text
message describing the error condition. If the result is fatal, the driver shuts down.
After you have configured the DSTrace utility, you can monitor your system for errors.
For more information about the DSTrace utility, see “Viewing Identity Manager Processes” in the
Identity Manager 3.6.1 Common Driver Administration Guide.
8.2.1 java.lang.ClassNotFoundException:com.novell.nds.dirx
ml.driver.SAPShim.
SAPDriver Shim
This is a fatal error that occurs when SAPShim.jar is not installed properly. Ensure that the file is in
the proper location for either a local or Remote Loader configuration.
8.3.1 com/sap/mw/jco/JCO
This error occurs when the SAP Java Connector sapjco.jar file or the JCO native support libraries
are not present or are improperly located.
Make sure the proper platform version of sapjco.jar is located in the same directory as
SAPShim.jar.
Also check the JCO native support libraries to make sure they are present and properly configured.
Use the JCO installation instructions for the appropriate platform.
Make sure the JCO native support libraries are present and properly configured. Follow the JCO
installation instructions for the appropriate platform.
8.3.4 com.novell.nds.dirxml.engine.VRDException
This error occurs when the SAP Java Connector (JCO) components cannot be located. This error
generally occurs if the driver or Remote Loader has not been restarted after the JCO has been
configured. Restart Novell® eDirectory™ if you are using a local configuration or restart the
Remote Loader for a remote configuration.
Set matching passwords for both remote loaders. In iManager, ensure that both the application
password and Remote Loader passwords are set at the same time.
You should ensure that the metafile directory and Master HR IDoc driver parameters are set to a
valid file system location and contain the proper IDoc name. Validate that the metadata file for the
configured IDoc type is in the file system location. For example, if Master HR IDoc is set to the
default HRMD_A03, ensure that HRMD_A03.meta exists in the metafile directory.
If you are using the Publisher Channel Only configuration of the driver, make sure you have entered
the correct parameters. If you have previously used a Publish and Subscribe driver, make sure that
all files have been replaced by the Publish-only files.
If you are running the driver remotely, make sure that the Remote Loader has been started before
you start the driver.
*** NDS Trace Utility - END Logging *** Fri Sep 13 15:46:31 2005
This error occurs because the Windows operating system service controls the rights of the local
system, not the rights of a user. Thus, the local Windows system does not have rights to access any
file resources outside of its own system, including the IDoc directory.
This connection also verifies the validity time stamps of desired infotypes during processing of
future-dated event IDocs. This is an extremely critical function that should always be enabled if
future-dated processing options are chosen in the driver configuration. Disabling this capability
could result in the propagation of old or stale events that have been subsequently overridden.
If you don’t want a connection to the SAP server, you should remove at least one of the following
connection parameters:
SAP Application Server (see “Authentication Context” on page 69)
SAP User ID (see “Authentication ID” on page 68).
SAP User Password (see “Application Password” on page 69).
In this situation, the IDoc data being processed is used as a completely authoritative source of
reliable data.
This section provides information about the Driver Configuration and Global Configuration Values
A
properties for the SAP HR driver. These are the only unique properties for this driver. All other
driver properties (Named Password, Engine Control Values, Log Level, and so forth) are common to
all drivers. Refer to “Driver Properties” in the Identity Manager 3.6.1 Common Driver
Administration Guide for information about the common properties.
The information is presented from the viewpoint of iManager. If a field is different in Designer, it is
marked with an icon.
Section A.1, “Driver Configuration,” on page 67
Section A.2, “Global Configuration Values,” on page 73
In Designer:
The Driver Configuration options are divided into the following sections:
Driver Properties 67
novdocx (en) 13 May 2009
Table A-1 Driver Module
Option Description
Java Used to specify the name of the Java class that is instantiated for the
shim component of the driver. This class can be located in the c l a s s e s
directory as a class file, or in the lib directory as a .jar file. If this
option is selected, the driver is running locally.
com.novell.nds.dirxml.driver.SAPShim.SAPDriverShim
Connect to Remote Loader Used when the driver is connecting remotely to the connected system.
Designer includes two suboptions:
Option Description
Driver Object Password Use this option to set a password for the driver object. If you are using
the Remote Loader, you must enter a password on this page or the
remote driver does not run. This password is used by the Remote
Loader to authenticate itself to the remote driver shim.
A.1.3 Authentication
The Authentication section stores the information required to authenticate to the connected system.
Option Description
Authentication ID Specify an SAP account that the driver can use to authenticate to the
SAP system.
or
Example: SAPUser
User ID
Authentication Context Specify the IP address or name of the SAP server the driver should
communicate with.
or
Connection Information
Remote Loader Connection Used only if the driver is connecting to the application through the
Parameters remote loader. The parameter to enter is
hostname=xxx.xxx.xxx.xxx port=xxxx
or kmo=certificatename, when the hostname is the IP address of the
application server running the Remote Loader service and the port is the
Host name
port the Remote Loader is listening on. The default port for the Remote
Port Loader is 8090.
KMO The kmo entry is optional. It is only used when there is an SSL
connection between the Remote Loader and the Metadirectory engine.
Other parameters
Example: hostname=10.0.0.1 port=8090
kmo=IDMCertificate
Driver Cache Limit (kilobytes) Specify the maximum event cache file size (in KB). If it is set to zero, the
file size is unlimited.
or
Click Unlimited to set the file size to unlimited in Designer.
Cache limit (KB)
Application Password Specify the password for the user object listed in the Authentication ID
field.
or
Set Password
Remote Loader Password Used only if the driver is connecting to the application through the
Remote Loader. The password is used to control access to the Remote
or Loader instance. It must be the same password specified during the
configuration of the Remote Loader on the connected system.
Set Password
Option Description
Auto start The driver starts every time the Identity Manager server is started.
Manual The driver does not start when the Identity Manager server is started.
The driver must be started through Designer or iManager.
Disabled The driver has a cache file that stores all of the events. When the driver
is set to Disabled, this file is deleted and no new events are stored in the
file until the driver state is changed to Manual or Auto Start.
Driver Properties 69
novdocx (en) 13 May 2009
Option Description
Do not automatically This option only applies if the driver is deployed and was previously
synchronize the driver disabled. If this is not selected, the driver re-synchronizes the next time
it is started.
Option Description
Publisher Channel Only Select whether you want the driver to use the Publisher channel only or
if you want it to use both the Publisher and Subscriber channels.
If you don’t want a connection to the SAP server, you should remove at
least one of the following connection parameters:
SAP System Number The SAP system number on the SAP application server. This is referred
to as the System Number in the SAP logon properties.
SAP User Client Number The client number to be used on the SAP application server. This is
referred to as the Client in the SAP R/3 logon screen.
SAP User Language The language this driver uses for the SAP session. This is referred to as
the Language in the SAP R/3 logon screen.
Character Set Encoding The character set encoding used to parse data from IDocs. By default,
no character set encoding is specified, which causes the driver to use
the platform default encoding. If you incorrectly specify a character set,
the driver initialization fails.
Metadata File Directory The file system location in which the SAP Metadata definition file
resides. By default, this is in the SAPUtils subdirectory of the driver’s
installation directory.
Master HR IDoc The name of the IDoc type that is generated by the SAP ALE system to
publish SAP HR database Master data modification. If it is not specified,
the driver determines the revision of the SAP HR system and default to
the standard IDoc type for that revision of SAP. The default is
HRMD_A05.
This field is optional, unless you select the Publisher Channel Only
option.
Future-dated Event Handling The processing of this option is determined by the Begin and End
Option validity dates of the desired IDoc infotypes. There are four possible
values for this parameter. The driver default is to Publish on Future
Date.
Future-dated Event Validity Specify whether or not the driver attempts to filter out stale data in
Checking Option future-dated IDocs, by verifying the begin and end validity dates of the
data.
Publish History Items Specifies if data values that are no longer valid are published by the
driver. The default is Do Not Publish History Data.
Object Type Code A list parameter that allows an administrator to specify which HR object
types are synchronized. The default list is P, S, O, and C.
Address Subtype Code A list of configuration parameters that allows an administrator to specify
which subtype of data the SAP Private Address infotype the driver
synchronizes. The default is 1 and US01.
Driver Properties 71
novdocx (en) 13 May 2009
Option Description
Communication Subtype Code A list configuration parameter that allows an administrator to specify
which subtype data of the SAP Communication infotype the driver
synchronizes. The default is CELL, MAIL, PAGR.
Option Description
Communication Change Mode This Subscriber channel parameter specifies how the driver handles
requests to change, remove, or add Communication (Infotype 0105)
record instances on employees. There are three modes of operation
available. For more information on the functionality of the various modes
of operation, see Appendix E, “Subscriber Change Modes and Validity
Date Modes,” on page 85.
Options include:
Delimit mode
Delete mode
Change mode (default driver mode)
Communication Validity Date This Subscriber channel parameter specifies how Beginning and Ending
Mode validity dates are set on newly created Communication record instances
on employees. There are two modes of operation available. For more
information on the functionality of the various modes of operation, see
Appendix E, “Subscriber Change Modes and Validity Date Modes,” on
page 85.
Internal Data Change Mode This Subscriber channel parameter specifies how the driver handles
requests to change, remove, or add Internal Control Data (Infotype
0032) record instances on employees. There are three modes of
operation available. For more information on the functionality of the
various modes of operation, see Appendix E, “Subscriber Change
Modes and Validity Date Modes,” on page 85.
Options include:
Delimit mode
Delete mode
Change mode (default driver mode)
Internal Data Validity Date This Subscriber channel parameter specifies how Beginning and Ending
Mode validity dates are set on newly created Internal Control Data record
instances on employees. There are two modes of operation available.
For more information on the functionality of the various modes of
operation, see Appendix E, “Subscriber Change Modes and Validity
Date Modes,” on page 85.
Options include:
Default mode
Current Date Mode (default driver mode)
Option Description
IDoc File Directory The file system location in which the SAP HR IDoc files are placed by
the SAP ALE system.
Enable or Disable Publisher Select Enable if you want the Publisher channel to read data from the
Connection to the SAP SAP server in addition to IDoc data.
Application Server
Select Disable to use IDoc data only.
Poll Interval (secs) When the Publisher channel has finished processing all source files, it
waits the number of seconds specified in this parameter before checking
for new source files to process.
Publisher Heartbeat Interval Specify how many minutes of inactivity can elapse before this channel
sends a heartbeat document. In practice, more than the number of
minutes specified can elapse. That is, this parameter defines a lower
bound.
The SAP HR driver includes several predefined GCVs. You can also add your own if you discover
that you need additional ones as you implement policies in the driver.
Driver Properties 73
novdocx (en) 13 May 2009
Table A-8 Global Configuration Values
Option Description
Application accepts passwords If True, allows passwords to flow from the Identity Vault to the connected
from Identity Manager system.
In Designer, you must click the icon next to an option to edit it. This
displays the Password Synchronization Options dialog which has a
better display of the relationship between the different GCVs.
Identity Manager accepts If True, allows passwords to flow from the SAP system to the Identity
passwords from application Vault.
Publish passwords to NDS Use the password from the SAP system to set the non-reversible NDS®
password password in the Identity Vault.
Publish passwords to Use the password from the SAP system to set the NMASTM Distribution
Distribution Password Password used for Identity Manager password synchronization.
Require password policy If True, applies NMAS password policies during publish password
validation before publishing operations. The password is not written to the Identity Vault if it does not
passwords comply.
Reset user’s external system If True, on a publish Distribution Password failure, attempt to reset the
password to the Identity password in the SAP system by using the Distribution Password from
Manager password on failure the Identity Vault.
Notify the user of password If True, notify the user by e-mail of any password synchronization
synchronization failure via e- failures.
mail
Connected System or Driver The name of the connected system, application or Identity Manager
Name driver. This value is used by the e-mail notification templates.
Password Failure Notification Password Synchronization policies are configured to send e-mail
User notifications to the associated user when password updates fail. To
send a copy to another user, such as an administrator, specify the DN of
that user. Otherwise, leave this field blank.
Organization Object Container Specify the name of the Organization Unit container in the Identity Vault
where the published SAP Organization (O) objects are placed.
Position Object Container Specify the name of the Organization Unit container in the Identity Vault
where the published SAP Position (S) objects are placed.
Job Object Container Specify the name of the Organizational Unit container in the Identity
Vault where the published SAP Job (C) objects are placed.
Application Link Enabling (ALE) technology enables communication between SAP and external
B
systems such as the Identity Manager Identity Vault (eDirectoryTM). The following sections provide
information about ALE to help you configure your SAP system to support the SAP driver:
Section B.1, “Application Link Enabling Technology,” on page 75
Section B.2, “Clients and Logical Systems,” on page 75
Section B.3, “Message Type,” on page 76
Section B.4, “IDoc Type,” on page 76
Section B.5, “Distribution Model,” on page 76
Section B.6, “Partner Profiles,” on page 76
Section B.7, “Port,” on page 76
Section B.8, “Port Definition,” on page 77
Section B.9, “File Port,” on page 77
Section B.10, “Change Pointers,” on page 77
Section B.11, “Change Document/IDoc Outbound Processing,” on page 77
Refer to Section 5.1, “Configuring the SAP System,” on page 33 for instructions on how to
configure these SAP system parameters.
The control record contains information about the IDoc, such as what IDoc type it is, the message
type, the sending and receiving systems, direction, etc.
The data record contains the application data. Data records consist of several fields that describe the
content of the specific object.
The status record contains data on the state of the processing of the IDoc.
The distribution model determines what message types can be sent from a client to another client, as
well as the sending and receiving systems. Filters for IDoc segments can also be applied to
distribution models.
B.7 Port
A port is the communication link between the two logical systems.
Multiple change documents can be captured within a single IDoc. The number of IDocs is
determined by how frequently jobs are scheduled, not by the number of change documents created.
For example, several records might be added, modified, or deleted within the specified job process
period. All of these changes are included in a single IDoc.
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.
It is not possible to do a stale data check on other Infotypes because of the lack of support in the SAP
BAPIs. The validity checking algorithm of the driver always returns a valid status for these
Infotypes.
The following sections describe the driver’s behavior for each event type and change mode.
Section E.1.1, “<remove-all-values>,” on page 86
Section E.1.2, “<remove-value> Without an Accompanying <add-value>,” on page 86
Section E.1.3, “<remove-value> With an Accompanying <add-value>,” on page 86
Section E.1.4, “<add-value> Without a Prior <remove-value>,” on page 87
Delimit Mode: The driver obtains a list of all active values of the specified Infotype record.
The driver delimits the validity of each instance (set ENDDA) to current date -1. This is the
standard SAP delimitation method. If BEGDA is equal to the current date, the value is deleted.
This is also standard functionality.
Delete Mode: The driver obtains a list of all active values of the specified Infotype record and
deletes each instance.
Change Mode: The driver obtains a list of all active values of the specified Infotype record
and deletes each instance.
This functionality is only available on SAP R/3 version 4.6A or later and on all Web Application
Server versions. On 4.5 systems (no support prior to 4.5B), the driver uses the
BAPI_HRMASTER_SAVE_REPL_MULT function for all operations. <remove-value> and
<remove-all-value> operations remove all values of the specified Communication Subtype.
<add-value> operations remove all values of the Communication Subtype and create a new value
with a BEGDA of (current date) and an ENDDA of 99991231.