Chat now with support
Chat with Support

Identity Manager 8.1.4 - Administration Guide for Connecting to SAP R/3

Managing SAP R/3 environments Setting up SAP R/3 synchronization Basic data for managing an SAP R/3 environment Basic data for user account administration SAP systems SAP clients SAP user accounts SAP groups, SAP roles, and SAP profiles SAP products Providing system measurement data Reports about SAP systems Configuration parameters for managing an SAP R/3 environment Default project templates for synchronizing an SAP R/3 environment Referenced SAP R/3 table and BAPI calls Example of a schema extension file

Adding other schema types

Add your own schema types if you want to synchronize data, which does not have schema types in the connector schema. You can let your own schema types be added when setting up the initial synchronization project with the project wizard, However, you can also add them after saving the synchronization project. This method is described here.

You can obtain an overview of which schema types are defined in the connector schema in the Synchronization Editor target system browser.

IMPORTANT: Both used and unused schema types are displayed in the Target System Browser. If the synchronization project is set, unused system types are deleted from the schema. Then they are longer appear in the Target System Browser.

Check the schema type list before you enable the synchronization project.

To start the Target System Browser

  1. Open the synchronization project in the Synchronization Editor.

  2. Select Configuration | Target system.

  3. Select the General view and click Browse....

    This opens the Target System Browser. You will see all the schema types used in this synchronization project in the upper pane of the Schema types view. The lower pane contains the list of unused schema types

To extend the connector schema with your own schema types

  1. Find which out schema types you require.

  2. Create a schema extension file. Save this file and keep the file name and path at the ready.

    For more information, see Creating a schema extension file.

  3. Open the synchronization project in the Synchronization Editor.

  4. Select Configuration | Target system.

  5. Click Edit connection.

    This starts the system connection wizard.

  6. Verify the data.

  7. Enter the name and path of your schema extension file on the SAP connector schema page.

    1. To check the schema extensions file for logical errors, click Test file.

      All defined schema types are listed.

    2. Click Next.
  8. Click Finish to end the system connection wizard.

  9. Select the view General and click Update schema.

  10. Confirm the security prompt with Yes.

    The schema types, including your new schema types, are loaded.

  11. Open the Target System Browser and check whether the schema types have been added.

    The schema types are displayed in the list of used schema types.

  12. Select the Mapping category and create mappings for the your new schema types. Take note of whether these are read-only or whether read/write access is permitted.

    For detailed information about setting up mapping and schema classes, see the One Identity Manager Target System Synchronization Reference Guide.

  13. Select the Workflows category and edit the worklows. Create additional synchronization steps for the new mappings. Take note of whether the schema types are read-only or whether read/write access is permitted.

    For detailed information about setting up synchronization steps, see the One Identity Manager Target System Synchronization Reference Guide.

  14. Save the changes.
  15. Run a consistency check.

  16. Activate the synchronization project.

Creating a schema extension file

Define all the schema types you want to use to extend the connector schema in the schema extension file. The schema extension file is an XML file with a structure identical to the connector schema. It describes the definitions for table queries and BAPI calls for the new schema types. If a new schema type has the same name as an already existing schema type, the extension is ignored.

The file is divided into three main sections:

  • Table section
  • Functions section
  • Schema types section

Basically, tables, and functions required to access data for defined schema types, must be declared first. Then you can define new schema types in the schema types section. Use 'functions and tables in different schema type definitions in this case. A schema type definition must contain at least one call for an object list.

Schema extension file structure

<?xml version="1.0" encoding="utf-8" ?>

<SAP>

<Tables>

...

</Tables>

<Functions>

...

</Functions>

<SAPExtendedSchematypes>

...

</SAPExtendedSchematypes>

</SAP>

Predefined variables

You can use variables in the table and function sections. These can be all the system variables known to the SAP module RFC_READ_TABLE.

Table 15: System variable examples
Variable Description
sy-langu Currently selected login language.
sy–datum Current date.
sy-mandant Current client.

You can also use variables known to the SAP R/3 connector, for example, from the process parameter definition.

Table 16: Predefined SAP R/3connector variables
Variable Description
$Value$ Input parameter for the One Identity Manager Service call.
$Mandt$ Current client's number.
$Date$ Current date.
Detailed information about this topic

Defining tables

In the section for tables (Tables), you can select tables and columns required for accessing the data for the schema types that will be defined. The SAP R/3 connector requires a definition for each table to load the slim object list. To do this, you define exactly those columns the SAP R/3 connector required when it loaded the synchronization objects. All columns in the table are loaded when single objects are accessed.

Table 17: Table definition

Attribute

Description

Definition

Symbolic name for using the definition.

TableName

Name of the table in the SAP database.

Key

Key term for formatting the distinguished name. Multiple values can be entered in a comma delimited list.

X500

Abbreviation for the key term in the attribute Key. Multiple values can be entered in a comma delimited list.

SQL

Limiting WHERE clause.

NOTE: There are a number of restrictions for parsing SQL operators in the SAP R/3 system. Take the following rules into account to ensure correctness:

Distinct

Counts the columns that the Distinct filter applies to (as comma delimited list).

Load

Columns to load when the object list is loaded. These columns can be for can be used to format the schema type's display name (DisplayPattern) as revision counters, for example, or as input parameters in a function,

If the object list is loaded from a table but single objects from a function, all the columns used within the synchronization project mapping must be given here.

IMPORTANT: Each column, which must be additionally loaded when the object list is loaded, creates extra load for One Identity Manager. This can make synchronization much slower if there is a lot of data. Only enter columns that you really need for further object processing.

No data is required for single object access.

Advice
  • Several table definitions with different symbolic names can be defined that refer to the same table in the SAP database.

  • Key columns are always loaded. They should not, therefore, be given in the Load attribute.

  • The Load attribute only works when loading the object list. All columns of the table are always loaded for single object access.

  • The following operators are permitted in the WHERE clause:

    Table 18: Permitted operators in the SQL attribute
    Operator Function/Example
    EQ =
    NE <>
    GT >
    LT <
    GE >=
    LE <=
    BETWEEN ENDDA BETWEEN '20090101' AND '20090131'
  • A table definition can also contain a mapping block. This block is used to replace parameters that are supposed to be used in WHERE clauses but were selected with another name in the object list.

    In the example, every occurrence of the $BNAME$ variable was replaced with the current value in the USERNAME column when single objects were loaded from the RSECUSERAUTH table before SQL selection was run. The column USERNAME must be loaded into an object list beforehand.

    Table definitions with a mapping are primarily used to load single objects.

  • Predefined variables can be used as well as custom defined parameters in the WHERE clause. For more information, see Creating a schema extension file.

Example:

<Tables>

<TABLE Definition = "HRP1001-Table" TableName="HRP1001" Key="OTJID,SUBTY,BEGDA,ENDDA" X500="CN,OU,OU,OU" SQL="MANDT = sy-mandt" Load="VARYF" Distinct="OTJID,SUBTY,VARYF" />

<TABLE Definition = "HRP1000-Table" TableName="HRP1000" Key="OTJID,LANGU,BEGDA,ENDDA" X500="CN,OU,OU,OU" SQL="MANDT = sy-mandt" Load="" Distinct="OTJID" />

<TABLE Definition = "RSECUSERAUTH-SingleUser" TableName="RSECUSERAUTH" Key="AUTH" X500="CN" SQL="UNAME = '$BNAME$'" Load="" >

<Mapping>

<Data ParameterName = "$BNAME$" PropertyName = "USERNAME" />

</Mapping>

</TABLE>

</Tables>

Defining functions

In the section for functions (Functions), you can describe the interfaces to BAPI functions required for accessing the data for the schema types, which will be defined.

Table 19: Function definition
Attribute Description
Definition Symbolic name for using the definition.
FunctionName Function name in the SAP R/3 system.
OutStructure Name of an SAP structure given as a return value. (Optional)
Key Key term for formatting the distinguished name. Multiple values can be entered in a comma delimited list.
X500 Abbreviation for the key term in the attribute Key. Multiple values can be entered in a comma delimited list.

In the optional mapping block, you define how the values are passed to the function call parameters. To do this, an object list must be created before the function call. The parameters for the function call can be filled from this object list's properties. In the example below, BNAME is a property, which is determined from the object list of the table USR02.

Predefined variables can be passed to the parameters. For more information, see Creating a schema extension file. Apart from that, it is possible to pass a fixed value to a function parameter. The following notation is provided for this.

<Data ParameterName = "<Name>" PropertyName = "VALUE=<fixed value>" />

Example:

<Tables>

<TABLE Definition = "USR02-Table" TableName="USR02" Key="BNAME" X500="CN" SQL="MANDT = '$MANDT$'" Load="" />

</Tables>

<Functions>

<Function Definition = "USER GET" FunctionName="BAPI_USER_GET_DETAIL" OutStructure = "" Key ="USERNAME" X500 ="CN">

<Mapping>

<Data ParameterName = "USERNAME" PropertyName = "BNAME" />

</Mapping>

</Function>

</Functions>

Related topics
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating